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这种。这相当于从简

 

单的文件系统驱动模式到复杂的文件系统驱动模式的一个迁移。

 

 

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