/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这种。这相当于从简
单的文件系统驱动模式到复杂的文件系统驱动模式的一个迁移。