免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4133 | 回复: 1
打印 上一主题 下一主题

从源码构建本地编译GUN/Linux系统(gcc-4.3.1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-24 16:58 |只看该作者 |倒序浏览
从源码构建本地编译GUN/Linux系统(gcc-4.3.1)
本文解决如下问题:
  • 以 Sysroot 方式,从源码构建本地编译的 GUN/Linux 系统。
  • 官方 CLFS-Sysroot x86 方法中 Basic System 为交叉编译产物,本文方法中 Basic System 本地编译生成。
  • 官方 CLFS-Sysroot 无 x86_64 系统构建方法,本文提供 CLFS-Sysroot x86_64-Pure64 方法,并且 Basic System 本地编译生成。
  • 理论上,本文提供的方法亦适用其它平台架构。不具备本地编译条件的嵌入式平台请使用官方方法。
  • 升级到 gcc-4.3.1 。 本文为
    Sysroot 方式从源码构建完全本地编译的 GUN/Linux 系统
    升级姊妹篇
    宿主系统需求:

    • Bash-2.05a
    • Binutils-2.12
    • Bison-1.26a
    • Bzip2-1.0.2
    • Coreutils-5.0
    • Diffutils-2.8
    • Findutils-4.1.20
    • Gawk-3.0
    • Gcc-2.95.3
    • Glibc-2.2.5
    • Grep-2.5
    • Gzip-1.2.4
    • Make-3.79.1
    • Patch-2.5.4
    • Sed-3.0.2
    • Tar-1.14
    • Texinfo
    • file-4.21
    • perl
    • gmp-4.2.2

    • mpfr-2.3.1
    具体过程如下:(适用于x86/x86_64,摘自笔者编译脚本)
    〇、root用户准备工作
  • 全局设置
    代码:NEW_OS=x86_64-linux-gnu #自定义,用于工作目录、用户名
    NEW_OS_ARCH=x86_64 #处理器架构,x86系统请修改为i386
    NEW_OS_TARGET=x86_64-unknown-linux-gnu #目标系统类型,x86系统请根据自己需要修改,如i686-pc-linux-gnu
    NEW_OS_HOST=$(echo ${MACHTYPE} | sed -e "s@$(echo ${MACHTYPE} | cut -d- -f2)@cross@")
    NEW_OS_MARCH=$(echo ${NEW_OS_TARGET} | cut -d- -f1)
    NEW_OS_DIR=/${NEW_OS}
    SOURCE=${NEW_OS_DIR}/source
    TOOLS=${NEW_OS_DIR}/tools
    PACKAGE=${NEW_OS_DIR}/package
    MARK=${NEW_OS_DIR}/mark
    ROOTFS=${NEW_OS_DIR}/rootfs
    FAKEROOT=${NEW_OS_DIR}/fakeroot
    NEW_OS_NO_LIB64_DIR=yes
    NEW_OS_USER=${NEW_OS}
    NEW_OS_ID=1000
  • 建立工作目录、用户、用户环境
    代码:mkdir -pv ${NEW_OS_DIR}/bin \
        ${SOURCE} \
        ${TOOLS} \
        ${PACKAGE} \
        ${MARK} \
        ${ROOTFS} \
        ${FAKEROOT}
    touch ${NEW_OS_DIR}/${NEW_OS_TARGET}
    cp -a ${NEW_OS_SCRIPT_DIR} ${NEW_OS_DIR}/bin
    groupadd -o -g ${NEW_OS_ID} ${NEW_OS_USER}
    useradd -o -d ${NEW_OS_DIR} -u ${NEW_OS_ID} -g ${NEW_OS_ID} -s /bin/bash ${NEW_OS_USER}
    passwd ${NEW_OS_USER}
    cat > ${NEW_OS_DIR}/.bash_profile  ${NEW_OS_DIR}/.bashrc > ${NEW_OS_DIR}/.bashrc
    echo "export NEW_OS_ARCH=${NEW_OS_ARCH}" >> ${NEW_OS_DIR}/.bashrc
    echo "export NEW_OS_TARGET=${NEW_OS_TARGET}" >> ${NEW_OS_DIR}/.bashrc
    echo "export NEW_OS_HOST=${NEW_OS_HOST}" >> ${NEW_OS_DIR}/.bashrc
    echo "export NEW_OS_MARCH=${NEW_OS_MARCH}" >> ${NEW_OS_DIR}/.bashrc
    echo "export NEW_OS_DIR=${NEW_OS_DIR}" >> ${NEW_OS_DIR}/.bashrc
    echo "export SOURCE=${SOURCE}" >> ${NEW_OS_DIR}/.bashrc
    echo "export TOOLS=${TOOLS}" >> ${NEW_OS_DIR}/.bashrc
    echo "export PACKAGE=${PACKAGE}" >> ${NEW_OS_DIR}/.bashrc
    echo "export MARK=${MARK}" >> ${NEW_OS_DIR}/.bashrc
    echo "export ROOTFS=${ROOTFS}" >> ${NEW_OS_DIR}/.bashrc
    echo "export FAKEROOT=${FAKEROOT}" >> ${NEW_OS_DIR}/.bashrc
    echo "unset CFLAGS" >> ${NEW_OS_DIR}/.bashrc
    echo "unset CXXFLAGS" >> ${NEW_OS_DIR}/.bashrc
    chown -R ${NEW_OS_ID}.${NEW_OS_ID} ${NEW_OS_DIR}
  • 建立目标系统目录结构
    代码:    mkdir -pv ${ROOTFS}/{bin,boot,dev,etc/{ramdisk,opt},home,initrd,lib,media,mnt,opt,proc,root,sbin,srv,sys,tmp,usr,var}
        mkdir -pv ${ROOTFS}/usr{,/local}/{bin,include,lib,sbin,share,src}
        mkdir -pv ${ROOTFS}/usr{,/local}/share/{doc,info,locale,man,misc,terminfo,zoneinfo}
        ln -sfv share/{doc,info,man} ${ROOTFS}/usr
        ln -sfv share/{doc,info,man} ${ROOTFS}/usr/local
        mkdir -pv ${ROOTFS}/usr{,/local}/share/man/man{1,2,3,4,5,6,7,8}
        mkdir -pv ${ROOTFS}/var/{cache,lib/{misc,locate},local,lock,log,mail,opt,run,spool,tmp}
        chmod 0750 ${ROOTFS}/root
        chmod 1777 ${ROOTFS}/{,var/}tmp
  • 宿主安装gmp-4.2.2
    代码:     ./configure --prefix=/usr \
            --enable-cxx \
            --enable-mpbsd
        make
        make install
  • 宿主安装mpfr-2.3.1
    代码:    ./configure --prefix=/usr \
            --enable-shared
        make
        make install一、${NEW_OS_USER} 用户建立交叉工具链
  • linux-header-2.6.25.7
    代码:HOMEPAGE="http://www.kernel.org/"
    SOURCE_URL="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.7.tar.bz2
                http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.7.tar.bz2.sign"
    SOURCE_MD5=""
    PACKAGE_NAME=linux-header
    PACKAGE_VERSION=2.6.25.7
    SOURCE_DIR=${SOURCE}/linux-${PACKAGE_VERSION}
    BUILD_DIR=
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf linux-${PACKAGE_VERSION}.tar.bz2
        cd ${SOURCE_DIR}
        make mrproper
    }
    source_config()
    {
        echo "source_config"
    }
    source_build()
    {
        cd ${SOURCE_DIR}
        make ARCH=${NEW_OS_ARCH} INSTALL_HDR_PATH=header_dir headers_install
        mkdir -pv ${ROOTFS}/usr
        cp -av header_dir/include ${ROOTFS}/usr/
    }
  • glibc-header-2.7
    代码:HOMEPAGE="http://www.gnu.org/software/libc/"
    SOURCE_URL="http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.bz2
                http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.bz2.sig
            http://ftp.gnu.org/gnu/glibc/glibc-ports-2.7.tar.bz2
            http://ftp.gnu.org/gnu/glibc/glibc-ports-2.7.tar.bz2.sig"
    SOURCE_MD5=""
    SOURCE_DIR=${SOURCE}/glibc-${PACKAGE_VERSION}
    BUILD_DIR=${SOURCE}/glibc-build
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf glibc-${PACKAGE_VERSION}.tar.bz2
        tar -xvf glibc-ports-${PACKAGE_VERSION}.tar.bz2
        mv -v glibc-ports-${PACKAGE_VERSION} ${SOURCE_DIR}/ports
        cd ${SOURCE_DIR}
        sed -i -e "s@/etc/mtab@/etc/ramdisk/mtab@" sysdeps/unix/sysv/linux/paths.h
        mkdir -pv ${BUILD_DIR}
    }
    source_config()
    {
        cd ${BUILD_DIR}
        echo "libc_cv_forced_unwind=yes" >> config.cache
        echo "libc_cv_c_cleanup=yes" >> config.cache
        echo "libc_cv_${NEW_OS_ARCH}_tls=yes" >> config.cache
        if [ "${NEW_OS_ARCH}" = "i386" ]; then
            echo "libc_cv_386_tls=yes" >> config.cache
            echo "CFLAGS+=-march=${NEW_OS_MARCH}" >> configparms
        fi
        echo "install_root=${ROOTFS}" >> configparms
        echo "slibdir=/lib" >> configparms
        CC=gcc ${SOURCE_DIR}/configure --prefix=/usr \
            --host=${NEW_OS_TARGET} \
            --build=${NEW_OS_HOST} \
            --with-headers=${ROOTFS}/usr/include \
            --cache-file=config.cache
    }
    source_build()
    {
        cd ${BUILD_DIR}
        make install-headers
        mkdir -pv ${ROOTFS}/usr/include/bits
        cp -v bits/stdio_lim.h ${ROOTFS}/usr/include/bits/
        mkdir -pv ${ROOTFS}/usr/include/gnu
        touch ${ROOTFS}/usr/include/gnu/stubs{,-32,-64}.h
    }
  • binutils-2.18
    代码:HOMEPAGE="http://www.gnu.org/software/binutils/"
    SOURCE_URL="http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2
                http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2.sig"
    SOURCE_MD5=""
    SOURCE_DIR=${SOURCE}/${PACKAGE_NAME}-${PACKAGE_VERSION}
    BUILD_DIR=${SOURCE}/${PACKAGE_NAME}-build
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.bz2
        cd ${SOURCE_DIR}
        #posix
        sed -i -e "s@tail +16c@tail -c +16@g" $(grep -lr "tail +16c" *)
        sed -i -e "s@tail +140@tail -n +140@g" $(grep -lr "tail +140" *)
        sed -i -e "s@head -1@head -n 1@g" $(grep -lr "head -1" *)
        #support texinfo 4.11
        sed -i -e "s@4\\\.\[4-9\]@&|4\\\.11@" configure
        #--disable-multilib /lib64->/lib
        if [ "${NEW_OS_NO_LIB64_DIR}" = "yes" ]; then
            sed -i -e "s@/lib64/ld@/lib/ld@g" ld/configure.host
        fi
        mkdir -pv ${BUILD_DIR}
    }
    source_config()
    {
        cd ${BUILD_DIR}
        if [ "${NEW_OS_ARCH}" = "x86_64" ]; then
            CONFPARMS=--enable-64-bit-bfd
        else
            CONFPARMS=
        fi
        AR=ar AS=as ${SOURCE_DIR}/configure --prefix=${TOOLS} \
            --build=${NEW_OS_HOST} \
            --host=${NEW_OS_HOST} \
            --target=${NEW_OS_TARGET} \
            --with-sysroot=${ROOTFS} \
            --disable-nls \
            --enable-shared \
            --disable-multilib ${CONFPARMS}
    }
    source_build()
    {
        cd ${BUILD_DIR}
        make configure-host
        make
        make install
        mkdir -pv ${ROOTFS}/usr/include
        cp -v ${SOURCE_DIR}/include/libiberty.h ${ROOTFS}/usr/include/
    }
  • gcc-static-4.3.1
    代码: HOMEPAGE="http://gcc.gnu.org/"
    SOURCE_URL="http://ftp.gnu.org/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2
                http://ftp.gnu.org/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2.sig"
    SOURCE_MD5=""
    SOURCE_DIR=${SOURCE}/gcc-${PACKAGE_VERSION}
    BUILD_DIR=${SOURCE}/gcc-build
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf gcc-${PACKAGE_VERSION}.tar.bz2
        cd ${SOURCE_DIR}
        #posix
        sed -i -e "s@tail -1@tail -n 1@g" $(grep -lr "tail -1" *)
        sed -i -e "s@tail -3@tail -n 3@g" $(grep -lr "tail -3" *)
        sed -i -e "s@head -1@head -n 1@g" $(grep -lr "head -1" *)
        #--disable-multilib /lib64->/lib
        if [ "${NEW_OS_NO_LIB64_DIR}" = "yes" ]; then
            sed -i -e "s@/lib64/ld@/lib/ld@g" gcc/config/*/linux64.h
            sed -i -e "s@../lib32 ../lib ../lib64@../lib32 ../lib ../lib@g" \
                -e "s@../lib64 ../lib@../lib ../lib@g" \
                -e "s@../lib64@../lib@g" gcc/config/*/t-linux64
        fi
        #cross hacking
        sed -i -e "s@/usr/libexec/gcc/@@g" -e "s@/usr/lib/gcc/@@g" gcc/gcc.c
        #cross hacking
        sed -i 's@$(GCC_FOR_TARGET) -dumpspecs@echo -n@' gcc/Makefile.in
        mkdir -pv ${BUILD_DIR}
    }
    source_config()
    {
        cd ${BUILD_DIR}
        AR=ar \
        CC_FOR_TARGET=${NEW_OS_TARGET}-gcc \
        ${SOURCE_DIR}/configure --prefix=${TOOLS} \
            --build=${NEW_OS_HOST} \
            --host=${NEW_OS_HOST} \
            --target=${NEW_OS_TARGET} \
            --with-sysroot=${ROOTFS} \
            --disable-nls \
            --disable-shared \
            --enable-languages=c \
            --disable-multilib
    }
    source_build()
    {
        cd ${BUILD_DIR}
        make all-gcc
        make install-gcc
        make all-target-libgcc
        make install-target-libgcc
    }
    注意:
    这里用补丁建立空spec文件,否则交叉编译会出错,伪交叉编译会引人宿主gcc spec。

  • glibc-2.7
    代码: HOMEPAGE="http://www.gnu.org/software/libc/"
    SOURCE_URL="http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.bz2
                http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.bz2.sig
            http://ftp.gnu.org/gnu/glibc/glibc-ports-2.7.tar.bz2
            http://ftp.gnu.org/gnu/glibc/glibc-ports-2.7.tar.bz2.sig"
    SOURCE_MD5=""
    SOURCE_DIR=${SOURCE}/${PACKAGE_NAME}-${PACKAGE_VERSION}
    BUILD_DIR=${SOURCE}/${PACKAGE_NAME}-build
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.bz2
        tar -xvf ${PACKAGE_NAME}-ports-${PACKAGE_VERSION}.tar.bz2
        mv -v ${PACKAGE_NAME}-ports-${PACKAGE_VERSION} ${SOURCE_DIR}/ports
        cd ${SOURCE_DIR}
        sed -i -e "s@/etc/mtab@/etc/ramdisk/mtab@" sysdeps/unix/sysv/linux/paths.h
        #libgcc_eh cross hacking
        sed -i -e "s@-lgcc_eh@@g" Makeconfig
        #for gcc-4.3.1
        sed -i 's@-nostdinc -isystem $ccheaders@& -isystem $ccheaders-fixed@' configure
        mkdir -pv ${BUILD_DIR}
    }
    source_config()
    {
        cd ${BUILD_DIR}
        echo "libc_cv_forced_unwind=yes" >> config.cache
        echo "libc_cv_c_cleanup=yes" >> config.cache
        echo "libc_cv_${NEW_OS_ARCH}_tls=yes" >> config.cache
        if [ "${NEW_OS_ARCH}" = "i386" ]; then
            echo "libc_cv_386_tls=yes" >> config.cache
            echo "CFLAGS+=-march=${NEW_OS_MARCH}" >> configparms
        fi
        echo "install_root=${ROOTFS}" >> configparms
        echo "slibdir=/lib" >> configparms
        BUILD_CC=gcc \
        CC=${NEW_OS_TARGET}-gcc \
        AR=${NEW_OS_TARGET}-ar \
        RANLIB=${NEW_OS_TARGET}-ranlib \
        CFLAGS="-mtune=generic -g -O2" \
        ${SOURCE_DIR}/configure --prefix=/usr \
            --build=${NEW_OS_HOST} \
            --host=${NEW_OS_TARGET} \
            --target=${NEW_OS_TARGET} \
            --with-headers=${ROOTFS}/usr/include \
            --libdir=/usr/lib \
            --libexecdir=/usr/lib/glibc \
            --disable-profile \
            --enable-add-ons \
            --with-tls \
            --enable-kernel=2.6.0 \
            --with-__thread \
            --with-binutils=${TOOLS}/bin \
            --cache-file=config.cache
    }
    source_build()
    {
        cd ${BUILD_DIR}
        make
        #--disable-multilib /lib64->/lib
        if [ "${NEW_OS_NO_LIB64_DIR}" = "yes" ]; then
            sed -i -e "s@/lib64/ld@/lib/ld@" elf/ldd
        fi
        make install
        mkdir -pv ${ROOTFS}/etc/ramdisk
        ln -sfv ramdisk/mtab ${ROOTFS}/etc/mtab
        ln -sfv ramdisk/resolv.conf ${ROOTFS}/etc/resolv.conf
        mkdir -pv ${ROOTFS}/lib
        ln -sfv libcrypt-2.7.so ${ROOTFS}/lib/libcrypt.so
        cat > ${ROOTFS}/etc/nsswitch.conf  ${ROOTFS}/etc/ld.so.conf
  • gcc-4.3.1
    代码: HOMEPAGE="http://gcc.gnu.org/"
    SOURCE_URL="http://ftp.gnu.org/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2
                http://ftp.gnu.org/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2.sig"
    SOURCE_MD5=""
    SOURCE_DIR=${SOURCE}/${PACKAGE_NAME}-${PACKAGE_VERSION}
    BUILD_DIR=${SOURCE}/${PACKAGE_NAME}-build
    source_tree()
    {
        cd ${SOURCE}
        tar -xvf ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.bz2
        cd ${SOURCE_DIR}
        #posix
        sed -i -e "s@tail -1@tail -n 1@g" $(grep -lr "tail -1" *)
        sed -i -e "s@tail -3@tail -n 3@g" $(grep -lr "tail -3" *)
        sed -i -e "s@head -1@head -n 1@g" $(grep -lr "head -1" *)
        #--disable-multilib /lib64->/lib
        if [ "${NEW_OS_NO_LIB64_DIR}" = "yes" ]; then
            sed -i -e "s@/lib64/ld@/lib/ld@g" gcc/config/*/linux64.h
            sed -i -e "s@../lib32 ../lib ../lib64@../lib32 ../lib ../lib@g" \
                -e "s@../lib64 ../lib@../lib ../lib@g" \
                -e "s@../lib64@../lib@g" gcc/config/*/t-linux64
        fi
        #cross hacking
        sed -i -e "s@/usr/libexec/gcc/@@g" -e "s@/usr/lib/gcc/@@g" gcc/gcc.c
        mkdir -pv ${BUILD_DIR}
    }
    source_config()
    {
        cd ${BUILD_DIR}
        AR=ar \
        CC_FOR_TARGET=${NEW_OS_TARGET}-gcc \
        CXX_FOR_TARGET=${NEW_OS_TARGET}-g++ \
        ${SOURCE_DIR}/configure --prefix=${TOOLS} \
            --build=${NEW_OS_HOST} \
            --host=${NEW_OS_HOST} \
            --target=${NEW_OS_TARGET} \
            --with-sysroot=${ROOTFS} \
            --disable-nls \
            --enable-shared \
            --enable-languages=c,c++ \
            --enable-__cxa_atexit \
            --enable-c99 \
            --enable-long-long \
            --enable-threads=posix \
            --disable-multilib
    }
    source_build()
    {
        cd ${BUILD_DIR}
        make
        make install
    }
    注意:
    建立工具链时,这里特别添加了--build=${NEW_OS_HOST},这是gcc-4.3系列与之前版本的区别,之前版本gcc配置时探测到 --host --target 不同,会自动设置--build与--host相同,但gcc-4.3会根据系统信息配置。
    所以伪交叉编译时会出问题,具体见

    用GCC 4.3-20040810构造SYSROOT工具链
    ,特别说明,这个不是bug,添加--build后可以正常编译不需额外补丁。
    为统一,建立交叉工具链时均加上--build=${NEW_OS_HOST}。
    二、${NEW_OS_USER} 用户交叉编译临时系统
    注意:
    为统一,与建立交叉工具链类似,1-4编译时特别添加 --target=${NEW_OS_TARGET}。
    交叉编译
    mpfr-2.3.1时,需要使用--with-gmp-build指明gmp交叉编译目录,否则有恼人的错误引用问题,伪交叉编译时则会连接到宿主libgmp.so。
  • binutils-2.18
  • gmp-4.2.2
  • mpfr-2.3.1
  • gcc-4.3.1
  • ncurses-5.6
  • bash-3.2
  • bzip2-1.0.4
  • coreutils-6.9
  • diffutils-2.8.7
  • findutils-4.2.33
  • zlib-1.2.3
  • file-4.23
  • gawk-3.1.6
  • gettext-0.17
  • grep-2.5.3
  • gzip-1.3.12
  • make-3.81
  • patch-2.5.9
  • sed-4.1.5
  • tar-1.20
  • texinfo-4.11
  • e2fsprogs-1.40.2
  • sysvinit-2.86
  • module-init-tools-3.2.2
  • util-linux-ng-2.13.1
  • udev-118
  • shadow-4.1.1
  • linux-2.6.25.7 三、root 用户处理交叉编译临时系统
    四、boot/chroot进入交叉编译临时系统,建立本地编译基本系统
  • base-filesystem-0
  • linux-header-2.6.25.7
  • glibc-2.7
  • binutils-2.18
  • gmp-4.2.2
  • mpfr-2.3.1
  • gcc-4.3.1
  • man-pages-3.00
  • sed-4.1.5
  • e2fsprogs-1.40.2
  • coreutils-6.9
  • iana-etc-2.20
  • m4-1.4.10
  • bison-2.3
  • ncurses-5.6
  • procps-3.2.7
  • libtool-1.5.26
  • flex-2.5.35
  • iproute2-2.6.23
  • perl-5.10.0
  • readline-5.2
  • zlib-1.2.3
  • autoconf-2.61
  • automake-1.10.1
  • bash-3.2
  • bzip2-1.0.4
  • diffutils-2.8.7
  • file-4.23
  • findutils-4.2.33
  • gawk-3.1.6
  • gettext-0.17
  • grep-2.5.3
  • groff-1.19.2
  • gzip-1.3.12
  • inetutils-1.5
  • kbd-1.12
  • less-418
  • make-3.81
  • man-1.6f
  • mktemp-1.5
  • module-init-tools-3.2.2
  • patch-2.5.9
  • psmisc-22.6
  • Linux-PAM-0.99.10.0
  • shadow-4.1.1
  • sysklogd-1.5
  • sysvinit-2.86
  • tar-1.20
  • texinfo-4.11
  • udev-118
  • util-linux-ng-2.13.1
  • vim-7.1
  • linux-2.6.25.7
  • iptables-1.4.0
  • gpm-1.20.5
  • net-tools-1.60
  • dhcp-4.0.0
  • libgpg-error-1.6
  • libgcrypt-1.4.0
  • gnutls-2.3.1
  • openssl-0.9.8g
  • wget-1.11
  • lynx2-8-6
  • openssh-4.7p1
  • pkg-config-0.23 本文使用的简化编译脚本已附,命名以自解释为原则。
    回头看看,自己改的东西太多,一点一点贴上来太麻烦。
    使用帮助,请执行./new_os.sh。
    不显式挂载分区,重写的简化启动脚本,完全自定制(也就是说不一定适合每个人),请有选择的参考。
    另,请不要与官方alfs比较,用途不同。
    与gcc-4.3.1不兼容软件包列表:
    tar-1.19,升级到tar-1.20解决。
    scim-pinyin-0.5.91,添加#include 解决。
    scim-fcitx-3.1.1,添加#include 解决。
    kvm-68,暂未解决,可能是内核头文件引起的,gcc-3.3.6也不行
    qemu-0.9.1,暂未解决,可能是内核头文件引起的,gcc-3.3.6也不行

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/39544/showart_1010369.html
  • 论坛徽章:
    0
    2 [报告]
    发表于 2008-09-02 05:26 |只看该作者
    这个东东实在是太强了啊。。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP