您需要一台运行支持 USB 的 GNU/Linux 系统来为 USB 闪盘引导准备文件。 您应该确定 usb-storage 内核模块已经被加载(modprobe usb-storage) 然后尝试找出 USB 闪盘被映射到的哪个 SCSI 设备(在此以 /dev/sda 为例)。为了写入您的闪盘,您可能需要关闭它的写保护开关。
注意,准备的 USB 闪盘应该至少有 128MB 的容量(在更小的尺寸安装也是可能的,请参考 第 4.4.2 节 “复制文件 — 灵活的方法”)。
这里有一个单一文件 hd-media/boot.img.gz ,其中包含了所有的安装程序文件(包括内核),以及 yaboot 和它的配置文件。您可以使用 mac-fdisk 的 C 命令在您的 USB 闪盘上创建一个类型为“Apple_Bootstrap”的分区, 然后直接解开映像文件到:
# zcat boot.img.gz > /dev/sda2 |
当然,这会删除设备上现存的所有内容,因此请仔细检查您使用的是正确的 USB 闪盘设备名称。
然后,挂载 USB 闪盘(mount /dev/sda2 /mnt),它上面应该已经具有 一个 HFS 文件系统 ,您再将一个 Debian netinst(网络安装) 或 businesscard(名片) ISO 映像拷贝到盘上。请注意文件名必须以 .iso 结尾。 卸载闪盘(umount /mnt)后结束。
如果您需要更多的灵活性或者只是想了解其间发生了什么,您应该使用如下的方法来把文件放到您的闪盘。
绝大多数 USB 盘的预设置都不能让 Open Firmware 从该盘进行引导,因此您需要为闪盘重新分区。 在 Mac 系统上,执行 mac-fdisk /dev/sda,用 i 命令初始化新的分区映射,然后使用 C 命令创建一个新的类型为 Apple_Bootstrap 的分区。 (要注意的是第一个分区总是分区映射本身。)然后键入
$ hformat /dev/sda2 |
注意使用正确的 USB 盘设备名称。 hformat 命令包含在 hfsutils Debian 包中。
为了能在 USB 闪盘引导后启动内核,我们要在 USB 闪盘上放入一个启动引导程序。yaboot 启动引导器可以被安装到 HFS 文件系统上,而且只需要编辑一个文本文件就能对其重新进行配置。 任何支持 HFS 文件系统的操作系统可以用来改变启动引导器的配置文件。
常用的 ybin 工具(随 yaboot 附带)并不能识别 USB 存储设备,因此您不得不手动安装 yaboot,这可以通过 hfsutils 工具来完成。用法如下:
$ hmount /dev/sda2 $ hcopy -r /usr/lib/yaboot/yaboot : $ hattrib -c UNIX -t tbxi :yaboot $ hattrib -b : $ humount |
再提醒一次,请确认您使用的是正确的设备名称。操作过程中一定不能挂载此分区。 程序会向分区中写入启动引导器,并使用 HFS 工具向其添加标记, 最终使得 Open Fireware 可以启动它。 完成以上操作之后,USB 盘的其他部分就可以用普通的 Unix 工具来处理了。
接下来就是挂接分区(mount /dev/sda2 /mnt)以及将下列文件从 Debain 文件库拷贝到闪盘上:
vmlinux (内核二进制文件)
initrd.gz (初始化内存映像)
yaboot.conf (yaboot 配置文件)
boot.msg (可选的启动信息)
可选的内核模块
yaboot.conf 配置文件应该含有以下几行:
default=install root=/dev/ram message=/boot.msg image=/vmlinux label=install initrd=/initrd.gz initrd-size=10000 append="devfs=mount,dall --" read-only |
请注意,在必要的时候,您可能需要增大initrd-size 参数的数值,这完全取决于您所使用的内存映像的大小。