|

楼主 |
发表于 2008-4-18 13:27:35
|
显示全部楼层
SYSROOT Multilib LFS第二阶段:打造可以chroot的简易系统
9. Coreutils 6.10
CC="gcc $BUILD64" ./configure --prefix=/usr
make
make DESTDIR=$SLFS install
10. NCurses 5.6
a. 32 bit
patch -Np1 -i ../ncurses-5.6-branch_update-2.patch
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --libdir=/lib \
--with-shared --without-debug
make
make DESTDIR=$SLFS install
mv -v $SLFS/usr/bin/ncurses5-config{,-32}
mv -v $SLFS/lib/lib{panel,menu,form,ncurses,ncurses++,curses}.a $SLFS/usr/lib
rm -v $SLFS/lib/lib{ncurses,menu,panel,form,curses}.so
ln -svf ../../lib/libncurses.so.5 $SLFS/usr/lib/libcurses.so
ln -svf ../../lib/libncurses.so.5 $SLFS/usr/lib/libncurses.so
ln -svf ../../lib/libmenu.so.5 $SLFS/usr/lib/libmenu.so
ln -svf ../../lib/libpanel.so.5 $SLFS/usr/lib/libpanel.so
ln -svf ../../lib/libform.so.5 $SLFS/usr/lib/libform.so
chmod -v 755 $SLFS/lib/lib{panel,menu,form,ncurses}.so.5.6
b. 64 bit
删除源码目录,然后重新解压
patch -Np1 -i ../ncurses-5.6-branch_update-2.patch
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --libdir=/lib64 \
--with-shared --without-debug
make
make DESTDIR=$SLFS install
mv -v $SLFS/usr/bin/ncurses5-config{,-64}
ln -sv multilib_wrapper $SLFS/usr/bin/ncurses5-config
mv -v $SLFS/lib64/lib{panel,menu,form,ncurses,ncurses++,curses}.a $SLFS/usr/lib64
rm -v $SLFS/lib64/lib{ncurses,menu,panel,form,curses}.so
ln -svf ../../lib64/libncurses.so.5 $SLFS/usr/lib64/libncurses.so
ln -svf ../../lib64/libncurses.so.5 $SLFS/usr/lib64/libcurses.so
ln -svf ../../lib64/libmenu.so.5 $SLFS/usr/lib64/libmenu.so
ln -svf ../../lib64/libpanel.so.5 $SLFS/usr/lib64/libpanel.so
ln -svf ../../lib64/libform.so.5 $SLFS/usr/lib64/libform.so
chmod -v 755 $SLFS/lib64/lib{panel,menu,form,ncurses}.so.5.6
11. readline 5.2
a. 32bit
patch -Np1 -i ../readline-5.2-fixes-4.patch
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --libdir=/lib
make SHLIB_XLDFLAGS=-lncurses
make DESTDIR=$SLFS install
chmod -v 755 $SLFS/lib/lib{readline,history}.so*
mv -v $SLFS/lib/lib{readline,history}.a $SLFS/usr/lib
rm -v $SLFS/lib/lib{readline,history}.so
ln -svf ../../lib/libreadline.so.5 $SLFS/usr/lib/libreadline.so
ln -svf ../../lib/libhistory.so.5 $SLFS/usr/lib/libhistory.so
b. 64bit
删除源码目录,然后重新解压
patch -Np1 -i ../readline-5.2-fixes-4.patch
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --libdir=/lib64
make SHLIB_XLDFLAGS=-lncurses
make DESTDIR=$SLFS install
chmod -v 755 $SLFS/lib64/lib{readline,history}.so*
mv -v $SLFS/lib64/lib{readline,history}.a $SLFS/usr/lib64
rm -v $SLFS/lib64/lib{readline,history}.so
ln -svf ../../lib64/libreadline.so.5 $SLFS/usr/lib64/libreadline.so
ln -svf ../../lib64/libhistory.so.5 $SLFS/usr/lib64/libhistory.so
12. Bash 3.2
tar -xvf ../bash-doc-3.2.tar.gz
patch -Np1 -i ../bash-3.2-fixes-7.patch
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --bindir=/bin \
--without-bash-malloc --with-installed-readline
make
make DESTDIR=$SLFS htmldir=$SLFS/usr/share/doc/bash-3.2 install
在本阶段的最后,让我们来检验一下工作成果:
su
chroot /mnt/slfs /bin/bash
在这个简单的chroot环境里面,你应该可以做许多一般的操作,例如cp,mv,ls等等。如果这一切都正常,那么前面的工具链应该就是可靠的。 |
|