为了准备 USB 闪盘,您需要一台支持 USB 的运行的 GNU/Linux 系统。应确定 usb-storage 内核模块已经被加载(modprobe usb-storage
),然后找出 USB 闪盘被映射到的哪个 SCSI 设备(此处以 /dev/sda
为例)。为了写入闪盘,您可能需要关闭它的写保护开关。
注意,USB 闪盘至少要有 256MB 的容量(更小的尺寸安装也是可能的,请参阅 第 4.4.2 节 “复制文件 — 灵活的方法”)。
这里有一个合集文件 hd-media/boot.img.gz
,其中包含了所有的安装程序文件(包括内核),以及 yaboot 和它的配置文件。您可以使用 mac-fdisk 的 C
命令在您的 USB 闪盘上创建一个类型为 "Apple_Bootstrap" 的分区,然后直接解开映像文件到:
# zcat boot.img.gz > /dev/sda2
采用这种方法将销毁设备上的任何内容。请确保您使用了 USB 闪盘的正确设备名。
然后,挂载 USB 闪盘(mount
),它上面应该已经有 一个 HFS 文件系统 ,再将一个 Debian netinst 或 businesscard ISO 映像拷贝到盘上(见 第 4.4.3 节 “添加 ISO 映像”)。卸载闪盘(/dev/sda2
/mntumount /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 read-only
请注意,在必要的时候,您可能需要增大initrd-size
参数的数值,这完全取决于您所使用的内存映像的大小。
安装程序将在盘上寻找一个 Debian ISO 映像作为安装其他数据的源。因此您下一步是复制一个 Debian ISO 映像(businesscard、netinst 或者甚至是完全版)到您的 USB 闪盘内(确定选择适合的那个)。映像文件的后缀名必须是 .iso
。
如果您想直接通过网络安装而不使用 ISO 映像,当然就可以跳过上述步骤。并且您必须要使用 netboot
目录中的初始化内存映像来取代来自 hd-media
的相同文件。这是因为 hd-media/initrd.gz
并不包含网络支持。
当您完成后,卸载 USB 闪盘(umount /mnt
),并打开写保护开关。