The script will use the ramdisk, so you should set up a separate terminal window and run:
cat > ~/repeat.sh << "EOF" #!/bin/sh # usage: repeat [x] while true ; do $2 ; sleep $1 ; done EOF chmod +x ~/repeat.sh cat > ~/clearc.sh << "EOF" sync && sudo echo 3 | sudo tee /proc/sys/vm/drop_caches EOF chmod +x ~/clearc.sh ~/repeat.sh 60 ~/clearc.shNext follow the configuration instructions. Then copy the following code and paste it into gedit, and save it into the lfs user's folder. Immediately after the [source /etc/profile] step, run the script. Heck, you can even time it.
cd /tmp tar -xjvf $LFS/sources/binutils-2.20.tar.bz2 mkdir -v binutils-build cd binutils-build ../binutils-2.20/configure --target=$LFS_TGT --prefix=/tools --disable-nls --disable-werror make $CORES_TO_USE make install cd .. rm -rvf binutils-2.20 binutils-build tar -jxvf $LFS/sources/gcc-4.4.3.tar.bz2 cd gcc-4.4.3 tar -jxf $LFS/sources/mpfr-2.4.2.tar.bz2 mv -v mpfr-2.4.2 mpfr tar -jxf $LFS/sources/gmp-5.0.0.tar.bz2 mv -v gmp-5.0.0 gmp mkdir -v ../gcc-build cd ../gcc-build ../gcc-4.4.3/configure --target=$LFS_TGT --prefix=/tools --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --enable-languages=c make $CORES_TO_USE make install ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/'` cd .. rm -rvf gcc-4.4.3 gcc-build tar -jxvf $LFS/sources/linux-2.6.32.8.tar.bz2 cd linux-2.6.32.8 make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /tools/include cd .. rm -rvf linux-2.6.32.8 tar -jxvf $LFS/sources/glibc-2.11.1.tar.bz2 mkdir -v glibc-build cd glibc-build case `uname -m` in i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;;esac ../glibc-2.11.1/configure --prefix=/tools --host=$LFS_TGT --build=$(../glibc-2.11.1/scripts/config.guess) --disable-profile --enable-add-ons --enable-kernel=2.6.18 --with-headers=/tools/include libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes make $CORES_TO_USE make install cd .. rm -rvf glibc-build glibc-2.11.1 SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs $LFS_TGT-gcc -dumpspecs | sed -e 's@/lib\(64\)\?/ld@/tools&@g' -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS echo "New specs file is: $SPECS" unset SPECS tar -jxvf $LFS/sources/binutils-2.20.tar.bz2 mkdir -v binutils-build cd binutils-build CC="$LFS_TGT-gcc -B/tools/lib/" AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib ../binutils-2.20/configure --prefix=/tools --disable-nls --with-lib-path=/tools/lib make $CORES_TO_USE make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v ld/ld-new /tools/bin cd .. rm -rfv binutils-2.20 binutils-build tar -jxvf $LFS/sources/gcc-4.4.3.tar.bz2 cd gcc-4.4.3 patch -Np1 -i $LFS/sources/gcc-4.4.3-startfiles_fix-1.patch 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/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp > gcc/Makefile.in for file in $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' -e 's@/usr@/tools@g' $file.orig > $file echo ' #undef STANDARD_INCLUDE_DIR #define STANDARD_INCLUDE_DIR 0 #define STANDARD_STARTFILE_PREFIX_1 "" #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig done tar -jxf $LFS/sources/mpfr-2.4.2.tar.bz2 mv -v mpfr-2.4.2 mpfr tar -jxf $LFS/sources/gmp-5.0.0.tar.bz2 mv -v gmp-5.0.0 gmp mkdir -v ../gcc-build cd ../gcc-build CC="$LFS_TGT-gcc -B/tools/lib/" AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib ../gcc-4.4.3/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 --disable-multilib --disable-bootstrap make $CORES_TO_USE make install ln -vs gcc /tools/bin/cc cd .. rm -rvf gcc-4.4.3 gcc-build tar -xzvf $LFS/sources/tcl8.5.8-src.tar.gz cd tcl8.5.8 cd unix ./configure --prefix=/tools make $CORES_TO_USE make install chmod -v u+w /tools/lib/libtcl8.5.so make install-private-headers ln -sv tclsh8.5 /tools/bin/tclsh cd ../.. rm -rvf tcl8.5.8 tar -xzvf $LFS/sources/expect-5.43.0.tar.gz cd expect-5.43 patch -Np1 -i $LFS/sources/expect-5.43.0-spawn-1.patch patch -Np1 -i $LFS/sources/expect-5.43.0-tcl_8.5.5_fix-1.patch cp -v configure{,.orig} sed 's:/usr/local/bin:/bin:' configure.orig > configure ./configure --prefix=/tools --with-tcl=/tools/lib --with-tclinclude=/tools/include --with-x=no make make SCRIPTS="" install cd .. rm -rvf expect-5.43 tar -xzvf $LFS/sources/dejagnu-1.4.4.tar.gz cd dejagnu-1.4.4 ./configure --prefix=/tools make install cd .. rm -rvf dejagnu-1.4.4 tar -xzvf $LFS/sources/ncurses-5.7.tar.gz cd ncurses-5.7 ./configure --prefix=/tools --with-shared --without-debug --without-ada --enable-overwrite make $CORES_TO_USE make install cd .. rm -rvf ncurses-5.7 tar -xzvf $LFS/sources/bash-4.1.tar.gz cd bash-4.1 ./configure --prefix=/tools --without-bash-malloc make $CORES_TO_USE make install ln -vs bash /tools/bin/sh cd .. rm -rvf bash-4.1 tar -xzvf $LFS/sources/bzip2-1.0.5.tar.gz cd bzip2-1.0.5 make $CORES_TO_USE make PREFIX=/tools install cd .. rm -rvf bzip2-1.0.5 tar -xzvf $LFS/sources/coreutils-8.4.tar.gz cd coreutils-8.4 ./configure --prefix=/tools --enable-install-program=hostname make $CORES_TO_USE make install cp -v src/su /tools/bin/su-tools cd .. rm -rvf coreutils-8.4 tar -xzvf $LFS/sources/diffutils-2.8.1.tar.gz cd diffutils-2.8.1 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf diffutils-2.8.1 tar -xzvf $LFS/sources/findutils-4.4.2.tar.gz cd findutils-4.4.2 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf findutils-4.4.2 tar -xjvf $LFS/sources/gawk-3.1.7.tar.bz2 cd gawk-3.1.7 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf gawk-3.1.7 tar -xzvf $LFS/sources/gettext-0.17.tar.gz cd gettext-0.17 cd gettext-tools ./configure --prefix=/tools --disable-shared make $CORES_TO_USE -C gnulib-lib make $CORES_TO_USE -C src msgfmt cp -v src/msgfmt /tools/bin cd ../.. rm -rvf gettext-0.17 tar -xjvf $LFS/sources/grep-2.5.4.tar.bz2 cd grep-2.5.4 ./configure --prefix=/tools --disable-perl-regexp --without-included-regex make $CORES_TO_USE make install cd .. rm -rvf grep-2.5.4 tar -xzvf $LFS/sources/gzip-1.4.tar.gz cd gzip-1.4 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf gzip-1.4 tar -xjvf $LFS/sources/m4-1.4.13.tar.bz2 cd m4-1.4.13 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf m4-1.4.13 tar -xjvf $LFS/sources/make-3.81.tar.bz2 cd make-3.81 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf make-3.81 tar -xjvf $LFS/sources/patch-2.6.1.tar.bz2 cd patch-2.6.1 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf patch-2.6.1 tar -xjvf $LFS/sources/perl-5.10.1.tar.bz2 cd perl-5.10.1 patch -Np1 -i $LFS/sources/perl-5.10.1-libc-1.patch sh Configure -des -Dprefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX' make $CORES_TO_USE perl utilities ext/Errno/pm_to_blib cp -v perl pod/pod2man /tools/bin mkdir -pv /tools/lib/perl5/5.10.1 cp -Rv lib/* /tools/lib/perl5/5.10.1 cd .. rm -rvf perl-5.10.1 tar -xjvf $LFS/sources/sed-4.2.1.tar.bz2 cd sed-4.2.1 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf sed-4.2.1 tar -xjvf $LFS/sources/tar-1.22.tar.bz2 cd tar-1.22 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf tar-1.22 tar -xzvf $LFS/sources/texinfo-4.13a.tar.gz cd texinfo-4.13 ./configure --prefix=/tools make $CORES_TO_USE make install cd .. rm -rvf texinfo-4.13 strip --strip-debug /tools/lib/* strip --strip-unneeded /tools/{,s}bin/* rm -rf /tools/{,share}/{info,man}Then remember to exit the lfs user mode, and run:
sudo chown -R root:root /media/lfs/tools
No comments:
Post a Comment