LFS LiveCD镜像 不是可以从硬盘上启动吗?
不是可以不用 LFS LiveCD, 直接在另外一个发行版编译、学习LFS吗?
这个…… 没错,制作 LFS LiveUSB 是因为有人闲得蛋疼
插入U盘,查看U盘相应的设备名
$ sudo /sbin/fdisk -l ... Device Boot Start End Blocks Id System /dev/sdb1 1 250 2008093+ 83 Linux |
卸载U盘,分区并格式化
$ sudo umount /dev/sdb1 $ sudo /sbin/fdisk /dev/sdb ... // fdisk的操作省略 // 详细教程请阅读 Gentoo文档 http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml?part=1&chap=4 中的"4.c. 使用fdisk来为你的磁盘分区" // 关键点在于为第一个分区添加boot启动标记 // e.g. Command (m for help): a $ sudo mkfs.ext3 /dev/sdb1 |
安装grub到U盘
$ sudo mount /dev/sdb1 /media/usb //安装gurb到/media/usb $ sudo grub-install --root-directory=/media/usb /dev/sdb1 $ sudo umount /dev/sdb1 $ sudo grub > root (hd1,0) //第2个设备的第1个分区 > setup (hd1) //将grub装入hd1的mbr > quit |
复制文件
$ sudo mount /dev/sdb1 /media/usb // LFS LiveCD镜像下载下来后,命名为lfs.iso (为方便重启系统后,grub命令行的调试) // initramfs_data.cpio.gz、linux等文件从lfs.iso中的/boot/syslinux下取得 // 复制命令省略,复制后的文件列表如下 $ find /media/usb /media/usb/lfs.iso /media/usb/boot/initramfs_data.cpio.gz /media/usb/boot/linux |
编辑menu.lst
$ cat /media/usb/boot/grub/menu.lst default 0 timeout 1 color cyan/blue white/blue title LFS Live root (hd0,0) kernel /boot/linux root=iso:/dev/sdb1:/lfs.iso rw rootdelay=20 initrd /boot/initramfs_data.cpio.gz // /dev/sdb1 从启动失败的过程中,在grub命令行中手工打root,kernel,initrd进入的shell的'mount命令+tab'获得 // rootdelay=20 从启动失败的过程中,屏幕的错误提示知道,因为是usb设备,所以要给时间检测设备 |
重启系统,插入刚制作好的 LFS LiveUSB,设置好BIOS,一切OK
参考资源
1. 硬盘上启动lfs livecd
http://blog.linuxeden.com/index.php/196616/viewspace-7366.html
2. 用U盘安装GNU/Linux
http://www.linuxeden.com/plus/view.php?aid=69131
3. LFS LiveCD download
http://www.linuxfromscratch.org/livecd/download.html