摘自:https://wiki.gentoo.org/wiki/LiveUSB#Write_the_LiveCD_image_to_the_USB_drive
LiveUSB/HOWTO
本文解释如何创建一个Gentoo Linux LiveUSB安装盘,旨在驱动x86或者AMD64的Gentoo Linux LiveCD
通过使用USB闪存驱动。旨在没有CD-ROM驱动的情况下,安装Gentoo Linux系统到现代物理机器上。
尽管你会发现本文中的描述主要是针对Gentoo Linux LiveCD ,但是通过修改设备名称,也可以在任何的设备
上正常工作。
Using the Gentoo LiveDVD
当使用LiveDVD而不是LiveCD,最有效而且直接的方式就是拷贝ISO镜像到USB设备上,dd指令完全可以胜任
这份工作。假设USB设备是/dev/sdc,
root # dd if=/path/to/livedvd.iso of=/dev/sdc
On Windows,dd指令也应用在不同的项目当中,例如GNUWin32或者Chrysocome
本文主要针对的是LiveCD,所以LiveDVD需要参考其他的内容。
前提
应用Gentoo Linux LiveUSB ,你需要作如下的准备:
1GB的可启动USB闪存设备
支持从USB启动的物理计算机)i686 或x86_64)
准备USB闪存设备
设备分区
警告:备份USB设备中的数据否则将会格式化U盘的所有数据。
请确定当前的USB设备对应的盘符是/dev/sdc,主要是防止类似的SCSI的设备占用这个
盘符,导致格式化错误的设备。
在USB上创建一个FAT16分区,然后将分区设置成可启动,使用fdisk 命令,别忘记了
a的终极含义。操作完成之后应该是下面样子的:
root # 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
当然如果你发现FAT16 ID是怎么来的,请使用t ,然后制定system id
尽管应该是指定。
笔记:如果设备大于4GB,请使用-F 32创建一个FAT32文件系统
root # emerge --ask sys-fs/dosfstoolsroot
# mkdosfs -F 16 /dev/sdc1
--------------------------------------------------------------------------------
mkfs.fat 3.0.22 (2013-07-19)
安装主引导扇区Master Boot Record
安装预编译的Master Boot Record (MBR),从syslinux上,到USB设备
root # emerge --ask --verbose sys-boot/syslinuxroot # dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
--------------------------------------------------------------------------------
0+1 records in
0+1 records out
440 bytes (440 B) copied, 0.00522668 s, 84.2 kB/s
挂载Gentoo Linux 安装CD
将CD挂载到/mnt/cdroom目录
## (Create the /mnt/cdrom mount point if needed)
# mkdir -p /mnt/cdrom
# mount -o loop,ro -t iso9660 /path/to/iso.iso /mnt/cdrom
笔记:如果你尝试挂载ISO镜像文件,接收到无法找到任何的循环挂载设备错误的信息,
你需要开启内核中的配置参数Loopback 设备
挂载LiveUSB
挂载USB设备到/mnt/usb目录上
root # mkdir -p /mnt/usb
root # mount -t vfat /dev/sdc1 /mnt/usb
拷贝文件
从光盘镜像中拷贝文件到USB启动分区目录下,由于我们是使用syslinux,而不是
isolinux启动系统,所以会进行如下的修改。
root # cp -r /mnt/cdrom/* /mnt/usb
root # mv /mnt/usb/isolinux/* /mnt/usb
root # mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
root # rm -rf /mnt/usb/isolinux*
root # mv /mnt/usb/memtest86 /mnt/usb/memtest
卸载挂载分区
root # umount /mnt/cdrom
调整启动参数
请使用sed修改syslinux.cfg文件的参数。在尝试挂载文件系统的时候,slowusb参数可能
会产生一定的延时,检测USB的完整性是必须的。
root # sed -i -e "s:cdroot:cdroot slowusb:" -e "s:kernel memtest86:kernel memtest:" /mnt/usb/syslinux.cfg
卸载USB
请确保在安装bootloader之前已经卸载USB设备。
root # umount /mnt/usb
安装syslinux
最终安装syslinux bootloader到USB设备上
root # syslinux /dev/sdc1
核心:一旦修改了syslinux.cfg文件,你需要重新使用syslinux /dev/sdc1安装
boot loader.
使用LiveUSB