toolchain の再調整
cd /sources/binutils-build make -C ld INSTALL=/tools/bin/install install cd .. rm -rf binutils-2.14 rm -rf binutils-build
GCC のSPECファイルを修正する
SPECFILE=/tools/lib/gcc-lib/*/*/specs sed -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g' $SPECFILE > newspecfile mv -f newspecfile $SPECFILE unset SPECFILE
Binutils と GCC はコンパイラの最適化オプションをつけていると失敗する場合があるので、設定を消す
unset CFLAGS unset CXXFLAGS
Binutils-2.14 のインストール
cd /sources tar jxf binutils-2.14.tar.bz2 cd binutils-2.14 mkdir ../binutils-build cd ../binutils-build ../binutils-2.14/configure --prefix=/usr --enable-shared make tooldir=/usr make check make tooldir=/usr install cp ../binutils-2.14/include/libiberty.h /usr/include cd .. rm -rf binutils-2.14 rm -rf binutils-build
GCC-3.3.2 のインストール
tar jxf gcc-core-3.3.2.tar.bz2 tar jxf gcc-g++-3.3.2.tar.bz2 tar jxf gcc-testsuite-3.3.2.tar.bz2 cd gcc-3.3.2 patch -Np1 -i ../gcc-3.3.2-no_fixincludes-1.patch sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in mkdir ../gcc-build cd ../gcc-build ../gcc-3.3.2/configure --prefix=/usr \ --enable-shared --enable-threads=posix \ --enable-__cxa_atexit --enable-clocale=gnu \ --enable-languages=c,c++ make make -k check make install ln -s ../usr/bin/cpp /lib ln -s gcc /usr/bin/cc cd .. rm -rf gcc-3.3.2 rm -rf gcc-build
消していた最適化オプションを戻す
export CFLAGS=$CFLAGS_HOLD export CXXFLAGS=$CFLAGS
Coreutils-5.0 のインストール
tar jxf coreutils-5.0.tar.bz2 cd coreutils-5.0 patch -Np1 -i ../coreutils-5.0-posixver-2.patch patch -Np1 -i ../coreutils-5.0-uname.patch patch -Np1 -i ../coreutils-5.0-hostname-2.patch ./configure --prefix=/usr make make install-root echo "dummy1:x:1000" >> /etc/group echo "dummy2:x:1001:dummy" >> /etc/group echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd make check-root su dummy -c "make RUN_EXPENSIVE_TESTS=yes check" sed -i.bak '/dummy/d' /etc/passwd /etc/group make install mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin mv /usr/bin/{date,echo,false,head,install,ln,ls} /bin mv /usr/bin/{mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin mv /usr/bin/{sleep,stty,su,test,touch,true,uname} /bin mv /usr/bin/chroot /usr/sbin rm /usr/bin/kill ln -s test /bin/[ ln -s ../../bin/install /usr/bin cd .. rm -rf coreutils-5.0
Zlib-1.2.1 のインストール
tar jxf zlib-1.2.1.tar.bz2 cd zlib-1.2.1 ./configure --prefix=/usr --shared make make check make install make clean ./configure --prefix=/usr make make check make install chmod 644 /usr/lib/libz.a mv /usr/lib/libz.so.* /lib ln -sf ../../lib/libz.so.1 /usr/lib/libz.so cd .. rm -rf zlib-1.2.1