把LFS LiveCD安装到硬盘
系统复制到硬盘再做设置
cp -Rv /mnt
/livecd/* /mnt/livehd
把dev设备挂上
mount --bind /dev /mnt/livehd/dev
然后就chroot过去
chroot /mnt/livehd
删除原来的/boot,这里面的东西我们用不上了,它们是用来做光盘起动的。
rm -fr /boot
mkdir /boot /boot/grub
cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub
现在需要编译内核,内核在/lfs-sources下有一个2.6.16.38的。当然你也可以提前下个其它版本的放在电脑上,再多mount一个区cp过来。
你可以用两个tty,一个编译内核,一个做必要的设置。内核编译的过程不详说了。不过要注意/boot下的内核名,之后要用到,我不是用make install的。我是用cp arch/i386/boot/bzImage /boot/lfskernel-2.6.20.16(和LFS书上用同样的方法,我用的内核版本是2.6.20.16,不是lfs-sources里的2.6.16.38)
需要设置的地方最重要的有/etc/fstab /boot/grub/menu.lst
/etc/fstab,需要把里面加载到/的那一行改成你的设置,比如我的是
/dev/hda10 / ext3 default 1 1
我还加上了swap
/dev/hda11 swap swap pri=1 0 0
而/boot/grub/menu.lst这个文件是没有的。需要建一个,当然你需要按你的情况来设置。
cat > /boot/grub/menu.lst << "EOF"
default 0
timeout 30
hiddenmenu
title LFS LiveHD 6.2-5
root (hd0,9)
kernel /boot/lfskernel-2.6.20.16 root=/dev/hda10 vga=791 quiet
title Windows
root (hd0,0)
chainloader +1
EOF
这里注意root (hd0,?)要用你实际用来装livecd的硬盘分区,kernel /boot/{文件名}要和你的一样,root=/dev/hda{?}也要和你的设置一样
现在需要做一些小设置。LFS帮我们想的很全了。用现成的。
cd /lfs-sources
tar xf lfs-bootscripts-6.2.tar.bz2
cd lfs-bootscripts-6.2
make install
cd ..
rm -fr lfs-bootscripts-6.2
LFS脚本装好后去掉启动的选择窗口
rm -f /etc/rc.d/rcsysint.d/{S59clkconf,S69langconf}
这时内核差不多也完了吧 :)
还有个地方/etc/inittab
删除这个文件里的
sd:06:once:/usr/bin/shutdown-helper
这一行,要不会引起重启出错。
下面的1:xxx 2:xxx.....里改一下,改成
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
以此类推,这样就有登录了
,要不原来的会自动登录.......
其实livecd已经在你的硬盘上安家了。不过在重启之前,记得最重要的
passwd root
livecd默认是空密码,但空密码是不能登录的。
至此,重启吧,可以去liveHD里玩了。其实过程里设置部分全和LFS手册上的一