为了准备 USB 闪盘,您需要一台支持 USB 的运行的 GNU/Linux 系统。应确定 usb-storage 内核模块已经被加载(modprobe usb-storage
),然后找出 USB 闪盘被映射到的哪个 SCSI 设备(此处以 /dev/sda
为例)。为了写入闪盘,您可能需要关闭它的写保护开关。
注意,USB 闪盘至少要有 256MB 的容量(更小的尺寸安装也是可能的,请参阅 第 4.4.2 节 “复制文件 — 灵活的方法”)。
这里有一个合集文件 hd-media/boot.img.gz
,其中包含了所有的安装程序文件(包括内核),以及 SYSLINUX 和它的配置文件。只须把它直接解压到您的 USB 闪盘内即可:
# zcat boot.img.gz > /dev/sda
采用这种方法将销毁设备上的任何内容。请确保您使用了 USB 闪盘的正确设备名。
然后,挂载 USB 闪盘(mount
),它上面应该已经有一个 FAT 文件系统 ,再将一个 Debian netinst 或 businesscard ISO 映像拷贝到盘上(见 第 4.4.3 节 “添加 ISO 映像”)。卸载闪盘(/dev/sda
/mntumount /mnt
)后结束。
如果您需要更多的灵活性,或者只是想了解其间发生了什么,应该使用如下的方法来把文件放到您的闪盘。
我们将展示如何使用闪盘的第一个分区,而不是整个设备。
由于大多数 USB 闪盘预先设置了一个单独的 FAT16 分区,您可能不需要重新分区或者格式化 USB 闪盘。如果必须这么做,请使用 cfdisk 或者其他的分区工具来创建一个 FAT16 分区,建立文件系统使用:
# mkdosfs /dev/sda1
注意使用正确的 USB 盘设备名称。mkdosfs 命令包含在 dosfstools
Debian 软件包中。
为了在 USB 闪盘引导后启动内核,我们要在 USB 闪盘上放入一个 boot loader。尽管任何 boot loader (比如 LILO)都应该可以胜任,不过还是使用 SYSLINUX 更方便。主要原因是它可以使用 FAT16 分区,而且只需要编辑一个文本文件就能对其进行配置。任何支持 FAT 文件系统的操作系统都可以用来改变 boot loader 的配置文件。
为了把 SYSLINUX 放到 USB 闪盘的 FAT16 分区上,请在您的系统中安装 syslinux
和 mtools
包,然后执行:
# syslinux /dev/sda1
再提醒一次,请确认您使用的是正确的设备名称。还有,一定不能在启动 SYSLINUX 的时候挂载该分区,因为在操作过程中会向分区的引导扇区写入数据,并且创建包含 boot loader 代码的 ldlinux.sys
文件。
接下来就是挂载分区(mount /dev/sda1 /mnt
),以及将下列文件从 Debain 文件库拷贝到闪盘上:
vmlinuz
(内核二进制文件)
initrd.gz
(初始化内存映像)
syslinux.cfg
(SYSLINUX 配置文件)
可选的内核模块
如果您想给这些文件改名,请注意 SYSLINUX 只能处理 DOS (8.3) 格式的文件名。
syslinux.cfg
配置文件应包含以下两行:
default vmlinuz append initrd=initrd.gz
安装程序将在盘上寻找一个 Debian ISO 映像作为安装其他数据的源。因此您下一步是复制一个 Debian ISO 映像(businesscard、netinst 或者甚至是完全版)到您的 USB 闪盘内(确定选择适合的那个)。映像文件的后缀名必须是 .iso
。
如果您想直接通过网络安装而不使用 ISO 映像,当然就可以跳过上述步骤。并且您必须要使用 netboot
目录中的初始化内存映像来取代来自 hd-media
的相同文件。这是因为 hd-media/initrd.gz
并不包含网络支持。
当您完成后,卸载 USB 闪盘(umount /mnt
),并打开写保护开关。