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文檔 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