您的位置:首页 > 其它

LFS6.3安装全过程(二)

2015-05-29 15:40 260 查看
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/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: