usb linux notice

 

 

/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這種。這相當於從簡

 

單的文件系統驅動模式到複雜的文件系統驅動模式的一個遷移。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章