• LFS6.3安装全过程(二)


    tar xvf /lfs-sources/binutils-2.17.tar.bz2
    cd binutils-2.17
    mkdir -v ../binutils-build
    cd ../binutils-build
    CC="gcc -B/usr/bin/" ../binutils-2.17/configure \
    --prefix=/tools --disable-nls --disable-werror
    make
    make install
    make -C ld clean
    make -C ld LIB_PATH=/tools/lib
    cp -v ld/ld-new /tools/bin
    cd ..
    rm -rf binutils-build
    rm -rf binutils-2.17

    tar xvf /lfs-sources/gcc-4.1.2.tar.bz2
    cd gcc-4.1.2
    mkdir -v ../gcc-build
    cd ../gcc-build
    CC="gcc -B/usr/bin/" ../gcc-4.1.2/configure --prefix=/tools \
    --with-local-prefix=/tools --disable-nls --enable-shared \
    --enable-languages=c
    make bootstrap
    make install
    ln -vs gcc /tools/bin/cc
    cd ..
    rm -rf gcc-build
    rm -rf gcc-4.1.2

    tar xvf /lfs-sources/linux-2.6.22.5.tar.bz2
    cd linux-2.6.22.5
    make mrproper
    make headers_check
    make INSTALL_HDR_PATH=dest headers_install
    cp -rv dest/include/* /tools/include
    cd ..
    rm -rf linux-2.6.22.5

    tar xvf /lfs-sources/glibc-2.5.1.tar.bz2
    cd glibc-2.5.1
    mkdir -v ../glibc-build
    cd ../glibc-build
    ../glibc-2.5.1/configure --prefix=/tools \
    --disable-profile --enable-add-ons \
    --enable-kernel=2.6.0 --with-binutils=/tools/bin \
    --without-gd --with-headers=/tools/include \
    --without-selinux
    make
    make check
    mkdir -v /tools/etc
    touch /tools/etc/ld.so.conf
    make install
    cd ..
    rm -rf glibc-build
    rm -rf glibc-2.5.1

    mv -v /tools/bin/{ld,ld-old}
    mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
    mv -v /tools/bin/{ld-new,ld}
    ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld
    gcc -dumpspecs | sed 's@^/lib/ld-linux.so.2@/tools&@g' \
    > `dirname $(gcc -print-libgcc-file-name)`/specs
    GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&
    find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
    rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&
    unset GCC_INCLUDEDIR

    echo 'main(){}' > dummy.c
    cc dummy.c
    readelf -l a.out | grep ': /tools'

    rm -v dummy.c a.out

    tar xvf /lfs-sources/tcl8.4.15-src.tar.gz
    cd tcl8.4.15
    cd unix
    ./configure --prefix=/tools
    make
    make install
    make install-private-headers
    ln -sv tclsh8.4 /tools/bin/tclsh
    cd ..
    cd ..
    rm -rf tcl8.4.15

    tar xvf /lfs-sources/expect-5.43.0.tar.gz
    cd expect-5.43
    patch -Np1 -i /lfs-sources/expect-5.43.0-spawn-1.patch
    cp configure{,.bak}
    sed 's:/usr/local/bin:/bin:' configure.bak > configure
    ./configure --prefix=/tools --with-tcl=/tools/lib \
    --with-tclinclude=/tools/include --with-x=no
    make
    make SCRIPTS="" install
    cd ..
    rm -rf expect-5.43

    tar xvf /lfs-sources/dejagnu-1.4.4.tar.gz
    cd dejagnu-1.4.4
    ./configure --prefix=/tools
    make install
    cd ..
    rm -rf dejagnu-1.4.4

    tar xvf /lfs-sources/gcc-4.1.2.tar.bz2
    cd gcc-4.1.2
    cp -v gcc/Makefile.in{,.orig}
    sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
    cp -v gcc/Makefile.in{,.tmp}
    sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
    > gcc/Makefile.in
    patch -Np1 -i /lfs-sources/gcc-4.1.2-specs-1.patch
    mkdir -v ../gcc-build
    cd ../gcc-build
    ../gcc-4.1.2/configure --prefix=/tools \
    --with-local-prefix=/tools --enable-clocale=gnu \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-languages=c,c++ \
    --disable-libstdcxx-pch
    make
    make -k check
    make install
    cd ..
    rm -rf gcc-4.1.2
    rm -rf gcc-build

    echo 'main(){}' > dummy.c
    cc dummy.c
    readelf -l a.out | grep ': /tools'

    rm -v dummy.c a.out

    tar xvf /lfs-sources/binutils-2.17.tar.bz2
    cd binutils-2.17
    mkdir -v ../binutils-build
    cd ../binutils-build
    ../binutils-2.17/configure --prefix=/tools \
    --disable-nls --with-lib-path=/tools/lib
    make
    make check
    make install
    make -C ld clean
    make -C ld LIB_PATH=/usr/lib:/lib
    cp -v ld/ld-new /tools/bin
    cd ..
    rm -rf binutils-2.17
    rm -rf binutils-build

    tar xvf /lfs-sources/ncurses-5.6.tar.gz
    cd ncurses-5.6
    ./configure --prefix=/tools --with-shared \
    --without-debug --without-ada --enable-overwrite
    make
    make install
    cd ..
    rm -rf ncurses-5.6

    tar xvf /lfs-sources/bash-3.2.tar.gz
    cd bash-3.2
    patch -Np1 -i /lfs-sources/bash-3.2-fixes-5.patch
    ./configure --prefix=/tools --without-bash-malloc
    make
    make install
    ln -vs bash /tools/bin/sh
    cd ..
    rm -rf bash-3.2

    tar xvf /lfs-sources/bzip2-1.0.4.tar.gz
    cd bzip2-1.0.4
    make
    make PREFIX=/tools install
    cd ..
    rm -rf bzip2-1.0.4

    tar xvf /lfs-sources/coreutils-6.9.tar.bz2
    cd coreutils-6.9
    ./configure --prefix=/tools
    make
    make install
    cp -v src/su /tools/bin/su-tools
    cd ..
    rm -rf coreutils-6.9

    tar xvf /lfs-sources/diffutils-2.8.1.tar.gz
    cd diffutils-2.8.1
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf diffutils-2.8.1

    tar xvf /lfs-sources/findutils-4.2.31.tar.gz
    cd findutils-4.2.31
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf findutils-4.2.31

    tar xvf /lfs-sources/gawk-3.1.5.tar.bz2
    cd gawk-3.1.5
    ./configure --prefix=/tools
    cat >> config.h << "EOF"
    #define HAVE_LANGINFO_CODESET 1
    #define HAVE_LC_MESSAGES 1
    EOF
    make
    make install
    cd ..
    rm -rf gawk-3.1.5

    tar xvf /lfs-sources/gettext-0.16.1.tar.gz
    cd gettext-0.16.1
    cd gettext-tools
    ./configure --prefix=/tools --disable-shared
    make -C gnulib-lib
    make -C src msgfmt
    cp -v src/msgfmt /tools/bin
    cd ..
    cd ..
    rm -rf gettext-0.16.1

    tar xvf /lfs-sources/grep-2.5.1a.tar.bz2
    cd grep-2.5.1a
    ./configure --prefix=/tools \
    --disable-perl-regexp
    make
    make install
    cd ..
    rm -rf grep-2.5.1a

    tar xvf /lfs-sources/gzip-1.3.12.tar.gz
    cd gzip-1.3.12
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf gzip-1.3.12

    tar xvf /lfs-sources/make-3.81.tar.bz2
    cd make-3.81
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf make-3.81

    tar xvf /lfs-sources/patch-2.5.4.tar.gz
    cd patch-2.5.4
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf patch-2.5.4

    tar xvf /lfs-sources/perl-5.8.8.tar.bz2
    cd perl-5.8.8
    patch -Np1 -i /lfs-sources/perl-5.8.8-libc-2.patch
    ./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX'
    make perl utilities
    cp -v perl pod/pod2man /tools/bin
    mkdir -pv /tools/lib/perl5/5.8.8
    cp -Rv lib/* /tools/lib/perl5/5.8.8
    cd ..
    rm -rf perl-5.8.8

    tar xvf /lfs-sources/sed-4.1.5.tar.gz
    cd sed-4.1.5
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf sed-4.1.5

    tar xvf /lfs-sources/tar-1.18.tar.bz2
    cd tar-1.18
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf tar-1.18

    tar xvf /lfs-sources/texinfo-4.9.tar.bz2
    cd texinfo-4.9
    ./configure --prefix=/tools
    make
    make install
    cd ..
    rm -rf texinfo-4.9

    tar xvf /lfs-sources/util-linux-2.12r.tar.bz2
    cd util-linux-2.12r
    sed -i 's@/usr/include@/tools/include@g' configure
    ./configure
    make -C lib
    make -C mount mount umount
    make -C text-utils more
    cp -v mount/{,u}mount text-utils/more /tools/bin
    cd ..
    rm -rf util-linux-2.12r

    strip --strip-debug /tools/lib/*
    strip --strip-unneeded /tools/{,s}bin/*
    rm -rf /tools/{info,man}
    exit
    chown -R root:root $LFS/tools

    cp -v /lfs-sources/* /mnt/lfs/sources/

  • 相关阅读:
    GRE3000速记 :苏琪与爱马仕 05
    GRE3000速记 :苏琪与爱马仕 04
    GRE3000速记 :苏琪与爱马仕 03
    GRE3000速记 :苏琪与爱马仕 02
    GRE3000速记 :苏琪与爱马仕 11
    你知道如何安全正确的关闭线程池吗?
    你知道如何安全正确的关闭线程池吗?
    WCF配置后支持通过URL进行http方式调用
    WCF配置后支持通过URL进行http方式调用
    MyCat教程【简单介绍】
  • 原文地址:https://www.cnblogs.com/snailrun/p/2644815.html
Copyright © 2020-2023  润新知