Gentoo Linux LiveUSB HOWTO
1.
简介
关于LiveUSB
这份指南讲述了如何制作一份Gentoo Linux LiveUSB,或者换句话说就是如何使用一个U盘来模拟一张可运行于x86或AMD64平台的Gentoo Linux LiveCD。这在一些没有光驱而且又比较时新的笔记本(译者注:要支持USB设备启动)上安装Gentoo Linux时特别有用。
注意:
对于从可启动的CD镜像创建可启动的USB设备,sys-boot/unetbootin 软件包提供了更简单的方式。
|
虽然本指南专注于使用U盘来模拟Gentoo Linux LiveCD,你也可以把这种方法用在其它任意的块存储设备 (block device) 上,只需要将本文的一些指令中的设备名称相应地调整一下即可。
硬件需求
要使用Gentoo Linux LiveUSB,你应具备:
- 至少1GB容量的U盘,用作启动盘
- 支持USB启动的i686 或 x86_64 架构的计算机
要制作一个LiveUSB,你还应当具备:
-
一台运行Gentoo Linux系统的计算机(其它Linux发行版也可以)
注意:
如果要制作一个minimal CD的LiveUSB或者要启动一个<i686的系统,应当使用2006.0 minimal CD镜像文件,因为更新的版本中存在一个bug。
|
2.
准备你的U盘
对U盘进行分区
警告:
下面的操作将会擦除你所用的这个U盘上所有的数据,因此首先要确认你已经对其中的数据进行了备份。
|
重要:
本指南假定所用的U盘设备路径是/dev/sdc,如果系统中还存在其它SCSI设备,请确认所用U盘的设备路径是正确的。
|
首先要使用fdisk在所用的U盘上创建一个FAT16格式的分区,而且要将其标记为可启动的。下面给出一个分区模式的示例:
注意:
如果所用的U盘是4GB或更大容量的,使用分区类型(Id)b (W95 FAT32)。
|
代码 2.1: 分区模式的示例 |
# fdisk -l /dev/sdc
Disk /dev/sdc: 2063 MB, 2063597056 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 250 2008124+ 6 FAT16
|
创建文件系统
使用mkdosfs在所用U盘上创建一个FAT16格式的文件系统:
注意:
如果所用U盘的容量为4GB或更大容量,使用-F 32来创建一个FAT32格式的文件系统。
|
代码 2.2: 使用mkdosfs创建文件系统 |
# emerge -av sys-fs/dosfstools
# mkdosfs -F 16 /dev/sdc1
mkdosfs 2.11 (12 Mar 2005)
|
安装主引导记录
从syslinux中将预先编译好主引导记录 (MBR) 安装到U盘上:
代码 2.3: 安装主引导记录 |
# emerge -av '>sys-boot/syslinux-3'
# dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
0+1 records in
0+1 records out
304 bytes (304 B) copied, 0.0162317 s, 18.7 kB/s
|
3.
将LiveCD中的文件复制到U盘中
挂载Gentoo Linux安装光盘镜像文件
在距离你最近的Gentoo Linux镜像站点,根据你的系统架构选择下载liveced-i686-installer-2007.0.iso或livecd-amd64-installer-2007.0.iso,然后将其挂载至/mnt/cdrom,操作如下:
代码 3.1: 挂载Gentoo Linux安装光盘镜像文件 |
# mkdir -p /mnt/cdrom
# mount -o loop,ro -t iso9660 livecd-i686-installer-2007.0.iso /mnt/cdrom
|
注意:
如果在挂在光盘镜像文件时碰到诸如Could not find any loop device一类的错误信息,应当在内核配置中启用Loopback device support,然后重新编译并安装内核。
|
挂在LiveUSB
将已经格式化完毕的U盘挂载至/mnt/usb,操作如下:
代码 3.2: 挂载U盘 |
# mkdir -p /mnt/usb
# mount -t vfat /dev/sdc1 /mnt/usb
|
复制文件
下面要将Gentoo Linux安装光盘镜像文件中的一些文件复制到LiveUSB中。在复制这些文件时,需要做一些小改动,我们要使用syslinux启动装载程序来替换isolinux程序。
代码 3.3: 复制文件 |
# cp -r /mnt/cdrom/* /mnt/usb
# mv /mnt/usb/isolinux/* /mnt/usb
# mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
# rm -rf /mnt/usb/isolinux*
# mv /mnt/usb/memtest86 /mnt/usb/memtest
|
现在可以取消Gentoo Linux安装光盘镜像文件的挂载:
代码 3.4: 取消安装光盘镜像文件的挂载 |
# umount /mnt/cdrom
|
调整系统启动配置
下面使用sed调整syslinux配置文件,在配置文件中要添加slowusb参数,主要作用是在系统启动时挂载文件系统之前产生一小段时间的延迟,让系统装载程序可以检测到U盘设备。
代码 3.5: 调整启动参数 |
# sed -i \
-e "s:cdroot:cdroot slowusb:" \
-e "s:kernel memtest86:kernel memtest:" \
/mnt/usb/syslinux.cfg
|
4.
安装系统装载程序
卸载U盘
在安装系统装载程序之前要确认已经卸载了U盘。
代码 4.1: 卸载U盘 |
# umount /mnt/usb
|
安装syslinux
最后一步要将syslinux程序安装到U盘上:
代码 4.2: 执行syslinux |
# syslinux /dev/sdc1
|
重要:
在每一次修改syslinux.cfg文件之后都需要重新执行syslinux /dev/sdc1。
|
5.
使用LiveUSB
启动
插入U盘并打开计算机,确认BIOS已经设成自USB启动模式。如果一切都准备就绪,那么你应当可以看到标准的syslinux提示。
syslinux prompt.
现在你可以根据Gentoo Handbook中讲述的安装步骤来安装Gentoo Linux了。
本文档的内容遵循知识共享-署名-相同方式共享许可协议
|