4.4. 準備從 USB 隨身碟開機的檔案

您需要一台運行支援 USB 的 GNU/Linux 系統來為 USB 隨身碟準備開機檔案。 您應該確定 usb-storage 核心模組已經被載入 (modprobe usb-storage) 然後嘗試找出 USB 隨身碟被映射到的哪個 SCSI 設備 (在此以 /dev/sda 為例)。為了寫入您的儲存,您可能需要關閉它的防寫保護開關。

注意,USB 隨身碟應該至少有 128MB 的容量 (在更小的大小安裝也是可能的,請參閱 節 4.4.2, "複製檔案 — 靈活的方法")。

4.4.1. 複製檔案 — 簡單的方法

這裡有一個單一文件 hd-media/boot.img.gz ,其中包含了所有的安裝程式文件(包括核心),以及 yaboot 和它的設定檔。您可以使用 mac-fdiskC 指令在您的 USB 隨身碟上建立一個類型為 ``Apple_Bootstrap'' 的分割區,然後直接解開映像文件到:

# zcat boot.img.gz > /dev/sda2

當然,這會刪除設備上現存的所有內容,因此請仔細檢查您使用的是正確的 USB 隨身碟設備名稱。

然後,掛載 USB 隨身碟 (mount /dev/sda2 /mnt),它上面應該已經具有 一個 HFS 檔案系統,您再將一個 Debian netinst (網路安裝) 或 businesscard (名片型安裝) ISO 映像檔拷貝到隨身碟上。請注意檔案名稱必須以 .iso 結尾。卸載隨身碟 (umount /mnt) 後結束。

4.4.2. 複製檔案 — 靈活的方法

如果您需要更多的靈活性或者只是想瞭解其間發生了什麼,您應該使用下面的方法來把檔案放到您的隨身碟上。

4.4.2.1. PowerPC 上的 USB 隨身碟分割區

絕大多數 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 參數的數值,這完全取決於您所使用的記憶體映像的大小。

4.4.2.2. 添加 ISO 映像

現在您需要把任意一個 Debian ISO 映像 (businesscard、netinst 或者甚至是完全版) 放入您的 USB 隨身碟內 (如果它裝得下的話)。這樣的一個映像檔的副檔名必須是 .iso

如果您想直接透過網路安裝而不使用 ISO 映像,當然就可以跳過上述步驟。並且您必須要使用 netboot 目錄中的初始化記憶體映像來取代來自 hd-media 的相同檔案。這是因為 hd-media/initrd.gz 並不包含網路支援。

當您完成後,卸載 USB 隨身碟 (umount /mnt) 並打開防寫保護。