在 FC6 下面制作 USB 启动盘的基本过程

在 FC6 下面制作 USB 启动盘的基本过程

冷胜魁(Seaquester)
lengshengkui@gmail.com
2008-6-4

1. 给 USB Disk 分区:

将u盘分成两个分区,一个Linux Ext3分区,一个FAT32分区,并将Linux分区标记为可引导的

/dev/sda1   FAT32
/dev/sda2   Linux

# fdisk /dev/sda

格式化 ext3 分区(并指定label为 ROOT_USB,我们在grub.conf里面会使用这个label来指定root)
# mke2fs -j -m0 -L ROOT_USB /dev/sda2
# tune2fs -c 0 -i 0 /dev/sda2

格式化 ext2 分区
# mkfs.vfat -F 32 /dev/sda1


2. 制作 InitRD

mkinitrd --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod  /boot/usbinitrd.img  2.6.18-1.2798.fc6

注意:
由于从USB Disk启动,所以需要提前加载USB Disk相关的驱动(由preload参数限定),否则kernel会无法mount USB Disk上的rootfs。
2.6.18-1.2798.fc6 是FC6的kernel版本,必须跟系统的kernel版本一致,否则无法找到ehci-hcd等module。


3. 安装GRUB
# mkdir -p /mnt/usb
# mount /dev/sda2 /mnt/usb

# cp -a /boot /mnt/usb/


# grub
grub> find /boot/grub/stage1
  (hd1, 1)
grub> root (hd1, 1)
grub> setup (hd1)
grub> quit

    
修改 grub.conf (或menu.lst):

    default 0
  timeout 5
    spalshimage=(hd0,1)/grub/splash.xpm.gz
    hiddenmenu
  title Fedora Core (2.6.18-1.2798.fc6 USB)
  root (hd0,1)
  kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=ROOT_USB selinux=0
  initrd /boot/usbinitrd.img

注意:
(1) 在从USB Disk启动时,USB Disk应该是hd0,如果从硬盘启动,则硬盘是hd0,USB Disk是hd1(假设系统里面只有一个硬盘)。
(2) selinux=0 是用来禁用SELinux的,否则可能登录不进系统。另一种方法是修改 /etc/selinux/config 文件,将 SELINUX=Enforcing 改为 SELINUX=disabled。


4. 建立USB启动盘

在USB Disk上建立根文件系统,主要是这些目录:/bin /sbin /etc /dev /lib /sys /proc /usr /var /root /home /tmp /mnt 等(可以从硬盘上 Copy 文件系统到 USB Disk)

# cd /mnt/usb
# mkdir -p mnt/d

编辑etc/fstab文件(增加USB Disk的分区):

    /dev/sda2 /        ext3   defaults       1 1
    /dev/sda1 /mnt/d   vfat   defaults       0 0
    devpts    /dev/pts devpts guid=5,mod=620 0 0
    tmpfs     /dev/shm tmpfs  defaults       0 0
    none      /proc    proc   defaults       0 0


参考资料:
http://www.simonf.com/usb/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值