Linux From Scratch 6.0


Linux From Scratch 6.0

5. Constructing a Temporary System

export LFS=/mnt/lfs
cd $LFS/sources

5.4. Binutils-2.15.91.0.2 - Pass 1

tar jxvf binutils-2.15.91.0.2.tar.bz2
mkdir binutils-build
cd binutils-build
../binutils-2.15.91.0.2/configure --prefix=/tools --disable-nls
make configure-host
make LDFLAGS="-all-static"
make install
make -C ld clean
make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib
cd $LFS/sources

5.5. GCC-3.4.1 - Pass 1

tar jxvf gcc-core-3.4.1.tar.bz2
tar jxvf gcc-g++-3.4.1.tar.bz2
tar jxvf gcc-testsuite-3.4.1.tar.bz2
mkdir gcc-build
cd gcc-build
../gcc-3.4.1/configure --prefix=/tools \
	--libexecdir=/tools/lib --with-local-prefix=/tools \
	--disable-nls --enable-shared --enable-languages=c
make BOOT_LDFLAGS="-static" bootstrap
make install
ln -s gcc /tools/bin/cc
cd $LFS/sources
rm -rf gcc-3.4.1
rm -rf gcc-build

5.6. Linux-Libc-Headers-2.6.8.1

tar 
cd 
cp -R include/asm-i386 /tools/include/asm
cp -R include/linux /tools/include
cd $LFS/sources
rm -rf 

5.7. Linux-2.6.8.1 Headers

tar jxvf linux-2.6.8.1.tar.bz2
cd linux-2.6.8.1
make mrproper
make include/linux/version.h
make include/asm
mkdir /tools/glibc-kernheaders
cp -HR include/asm /tools/glibc-kernheaders
cp -R include/asm-generic /tools/glibc-kernheaders
cp -R include/linux /tools/glibc-kernheaders
cd $LFS/sources
rm -rf linux-2.6.8.1

5.8. Glibc-2.3.4-20040701

tar jxvf glibc-2.3.4-20040701.tar.bz2
mkdir glibc-build
cd glibc-build
../glibc-2.3.4-20040701/configure --prefix=/tools \
    --disable-profile --enable-add-ons=nptl --with-tls \
    --with-__thread --enable-kernel=2.6.0 \
    --with-binutils=/tools/bin --without-gd --without-cvs \
    --with-headers=/tools/glibc-kernheaders
make
mkdir /tools/etc
touch /tools/etc/ld.so.conf
make install
make localedata/install-locales
cd $LFS/sources
rm -rf glibc-build
rm -rf glibc-2.3.4-20040701

5.9. Adjusting the Toolchain

make -C ld install
SPECFILE=`gcc --print-file specs` &&
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
    $SPECFILE > tempspecfile &&
mv -f tempspecfile $SPECFILE &&
unset SPECFILE
rm -f /tools/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h}