您需要一台運行支援 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
),它上面應該已經具有 一個 HFS 檔案系統,您再將一個 Debian netinst (網路安裝) 或 businesscard (名片型安裝) ISO 映像檔拷貝到隨身碟上。請注意檔案名稱必須以 /dev/sda2
/mnt.iso
結尾。卸載隨身碟 (umount /mnt
) 後結束。
如果您需要更多的靈活性或者只是想瞭解其間發生了什麼,您應該使用下面的方法來把檔案放到您的隨身碟上。
絕大多數 USB 隨身碟的預設設定都不能讓 Open Firmware 從該儲存進行開機,因此您需要將儲存重新分割。在 Mac 系統上,執行 mac-fdisk /dev/sda
,用 i
指令初始化新的分割映射,然後使用 C
指令建立一個類型為 Apple_Bootstrap 的新分割區。(要注意的是第一個分割區總是分割映射本身。) 然後鍵入
$ hformat /dev/sda2
注意請使用正確的 USB 隨身碟設備名稱。 hformat 指令包含在 hfsutils
Debian 套件中。
為了能在 USB 隨身碟開機後啟動核心,我們要在 USB 隨身碟上放入一個 boot-loader。yaboot boot-loader 可以被安裝到 HFS 檔案系統上,而且只需要編輯一個純文字檔就能更改設定。任何支援 HFS 檔案系統的作業系統可以用來改變 boot-loader 的設定檔。
包含於 yaboot 之中的常用工具 ybin 並不能識別 USB 隨身碟設備,因此您不得不手動安裝 yaboot,這可以透過 hfsutils
工具來完成。用法如下:
$ hmount /dev/sda2 $ hcopy -r /usr/lib/yaboot/yaboot : $ hattrib -c UNIX -t tbxi :yaboot $ hattrib -b : $ humount
再提醒一次,請確認您使用的是正確的設備名稱。操作過程中一定不能掛載此分割區。程式會把 boot-loader 寫入分割區,並使用 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
參數的數值,這完全取決於您所使用的記憶體映像的大小。