编写启动脚本。

echo '#!/bin/bash
/bin/mount -t proc    proc      /proc    &&
/bin/mount -t tmpfs   shm       /dev/shm &&
/bin/mount -t devpts  devpts    /dev/pts &&
/bin/mount -t ext2  /dev/sda1   /boot    &&
/bin/mount -t xfs   /dev/sda5   /usr     &&
/bin/mount -t xfs   /dev/sda6   /root    &&
/bin/mount -t xfs   /dev/sda7   /var     &&
/bin/mount -t xfs   /dev/sda8   /www     &&
/bin/mount -t xfs   /dev/sda9   /data    &&
/www/bin/ip -4 link set lo   txqueuelen  0       &&
/www/bin/ip -4 link set eth0 txqueuelen  4000    &&
/www/bin/ip -4 link set lo   mtu  16436          &&
/www/bin/ip -4 link set eth0 mtu  1500           &&
/www/bin/ip -4 addr add 127.0.0.1/8                               scope host    dev  lo   valid_lft forever preferred_lft forever  &&
/www/bin/ip -4 addr add 192.168.10.33/24 broadcast 192.168.10.255 scope global  dev eth0  valid_lft forever preferred_lft forever  &&
/www/bin/ip -4 link set lo   up                  &&
/www/bin/ip -4 link set eth0 up                  &&
/www/bin/ip -4 route add unicast default via 192.168.10.250 dev eth0 &&
/bin/bash --login +h' > $LFS/bin/tmpinit &&
chmod 755 $LFS/bin/tmpinit &&

由于GRUB-0.97年久失修,毛病多多,因此这里使用咱们中国人主导开发的GRUB4DOS。

cp $SRC/grldr $LFS/boot/ &&
echo 'kernel (hd0,0)/bzImage root=0802 rootfstype=xfs rw init=/bin/tmpinit panic=30' > $LFS/boot/menu.lst &&
chmod +x $SRC/bootlace.com &&
$SRC/bootlace.com --no-backup-mbr --mbr-disable-floppy --mbr-disable-osbr --boot-prevmbr-last  /dev/sda &&

接下来有两个分支可选,推荐使用默认的分支㈠,因为分支㈡未经本文作者严格测试,可能会存在某些问题。

分支㈠[关机]

关机前的准备(如果没有启动ssh就省略相应的命令):

/etc/rc.d/init.d/sshd stop &&
rm ~/.bash*  &&
sync &&
exit

必须确保一直 exit 到出现”Press Enter to activate this virtual console…”为止,然后再按回车键重新登陆并按下列步骤关机:

cd / &&
rm -f /etc/mtab &&
umount /dev/sda{9,8,7,6,5,1,2} &&
poweroffOK!

下次重新开机的时候将BIOS中的启动盘调整为硬盘,即可继续进行下面”编译最终系统”的工作。

分支㈡[chroot]

为了方便期望在编译最终系统的过程中也能使用ssh的读者,这里也介绍一下传统的chroot方法。需要说明的是,由于此分支的方法不能完全摆脱宿主系统的影响,所以本文不推荐使用。仅供那些贪图copy/paste便利的玩家参考和测试。

mount -t devpts  devpts  $LFS/dev/pts &&
mount -t tmpfs   shm     $LFS/dev/shm &&
mount -t proc    proc    $LFS/proc    &&
chroot $LFS /usr/bin/env -i TERM=$TERM /bin/bash --login +h


相关内容

    暂无相关文章