/boot/grub/menu.lst寫這種東西
按c就可以自定義進入,然後修改grub參數進入os
kernel
initrd
boot
root=LABEL=hxfan-usb
e2label /dev/sdc6 "hxfan-usb"
換一個partition的label/卷標
看一個文件系統的superblock詳細信息
dumpe2fs /dev/sdc1
vmware ace features 要disable掉
使用physical disk,來把真實的usb當作一個硬盤掛載
ubuntu0804 fc6 用grub指令 setup() 就可以給設備的mbr寫bootloader了
高級的版本grub也升級了,所以摸不準了
busybox1.5 prefix要寫pwd的絕對路徑,就可以busybox就可以生成工具了
利用busybox的busybox-x-x-x/examples/bootfloppy/mkdevs.sh 來生成dev目錄
下的文件就可以了,比較準確
個人認爲 usb中的boot/grub中必須有stage1,stage2 ,因爲grub->setup我認爲
是寫mbr的bootloader,但是那個mbr實在很小,所以要引導到fs中的實際引導,
那些就是stage1,stage2引導代碼。這個可以從主linux的/boot/grub中拷貝過來
一樣的。
所以你有一個主linux os就可以了,就可以進行做這些portable linux了,用
vmware這種也可以的。但是主linux的/boot/grub/device.map 好像必須有,必須
有(hd0) /dev/sda (hd1) /dev/sdb 這樣寫就可以了
bzImage其實就是vmlinuz
流程是這樣的,bios已經驅動起來硬盤,然後把控制權交個mbr中的grub
grub更具,kernel,initrd的參數,從物理地址中找到這兩個可執行文件,然後
啓動起來。先把initrd中的模塊加載起來,然後解壓kernel的vmlinuz,內核代碼
開始執行,然後要建立根文件系統,就是root=...的參數。這個時候內核已經跑
起來了,所以ro root=/dev/sda1這些也是已經可以識別了,然後把這個節點的物理磁盤掛
成rootfs,換上linux內部的文件系統驅動結構,比方說vfs這種。這相當於從簡
單的文件系統驅動模式到複雜的文件系統驅動模式的一個遷移。