跟我学LFS LiveUSB制作

LFS LiveCD 不是可以用光盘启动吗?
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文档 ?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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27534.html