制作grub引导定制LFS

来源:互联网 发布:全国手机号码数据库 编辑:程序博客网 时间:2024/05/16 02:26

1. 完成LFS
2. 光盘驱动进去lfs-livecd,  打包LFS系统目录
# cd $LFS
# tar jcvpf ~/lfs-6.3.tar.bz2 .

3. 利用livecd引导 ,可以下载这个 :http://download.csdn.net/detail/decload/4079284
挂载bootcd.iso ,拷贝到自己ISO目录下
# mount -o loop ~/bootcd.iso /mnt/iso
# mkdir -pv ~/lfs_iso

4.  ~/iso/boot/initramfs.igz 为引导系统的目录,重新制作initramfs.igz,将install.sh、login.sh 

和lfs-6.3.tar.bz2加入initramfs.igz
# mv initramfs.igz initramfs.gz
# gunzip initramfs.gz
解压后得到initramfs,这个文件又是一个用cpio格式压缩的文件,可以用cpio解压:
# mkdir out
# cd out
# cpio -div < ../initramfs

解压后得到/lib,/usr,等文件夹,然后你可以直接修改,修改完成后打包
这里在out目录中创建一个lfs目录,将自己写的脚本文件install.sh login.sh 还有tar包lfs-

6.3.tar.bz2 放到lfs目录下
再创建一个 mnt/lfs 目录。
然后在打包:
# find . | cpio -H newc -o > ../initramfs


gzip压缩:
# cd ..
# gzip initramfs

之后得到initramfs.gz 文件,替换掉lfs_iso/boot中的initramfs.igz文件,并将
lfs_iso/boot/grub/menu.lst 中的 initrd 行中的 initramfs.igz 改成 initramfs.gz ,保存。


5. 生成ISO文件:
# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table 
-o lfsgrub.iso ~/lfs_iso

生成的lfsgrub.iso即可用。
以光驱启动载入lfsgrub.iso后进入livecd中 ,然后执行 /lfs/install.sh 安装。登陆时执行/lfs/login.sh 。


install.sh脚本:

#echo -e "0 200\n201 500" | sfdisk /dev/hda
mkswap /dev/hda1 &&
swapon /dev/hda1 &&
mkfs -t ext3 /dev/hda2 &&
mount /dev/hda2 /mnt/lfs &&
cd /mnt/lfs &&
tar jxpf /lfs/lfs-6.3.tar.bz2 &&
cp /dev/hd* /mnt/lfs/dev/ -R &&
echo "install finished" &&
cd / &&
chroot /mnt/lfs /bin/bash --login
#umount /mnt/lfs 




login.sh 脚本:


mount /dev/hda2 /mnt/lfs &&
cd / &&
chroot /mnt/lfs /bin/bash --login









参考:
http://www.linuxsir.org/bbs/thread310171.html
http://hi.baidu.com/cyoukei/blog/item/7aa69380f46bb2df9023d951.html





















原创粉丝点击