您可能會不時地希望透過新增您自己的檔案來修改影像配送。可以是其他程式、程序檔、資料檔案或更新過的 Linux 驅動程式。
您可以使用以下方法來更新影像資源檔案:
此方法在本節中有所描述。
以下各節中介紹了修改影像資源檔案的各種方法:
如果您要將檔案新增至影像開機 CD 以便可以在您進入實際影像程序 (例如程序檔,但通常不是驅動程式模組) 後可以使用這些檔案,則您可以將這些檔案複製到影像 CD 上的 /addfiles 目錄中。此為將程序檔或其他檔案插入配送而無需修改 initrd 或 root 檔案系統的一種簡便方式。但是,在開機和模組載入階段中,這些檔案不可用。
影像開機 CD 具有名為 /addfiles 的目錄,您可以在其中新增檔案。應使用正確的目錄名稱,將它們放在此目錄之下。然後,在影像程序中,於此目錄結構中即可找到這些檔案。
有關如何新增檔案的範例:
如果您要執行自己的程序檔而非一般的影像程序,請建立名為 myscript.s 的程序檔並將其放在開機 CD 上。例如,/addfiles/bin/myscript.s。
重要:程序檔必須具有 Linux 所需之正確的 LF 行終止符號,而非 DOS CR 和 LF 行結束字元。換言之,您不能使用 Notepad.exe 建立程序檔;您必須使用與 Linux 或 UNIX 相容的文字編輯器,例如 TextPad。
若要將以下行放於 settings.txt 檔案中,請輸入:
export IMGCMD=/bin/myscript.s
執行影像時,它會執行 /bin/myscript.s,而非使用一般的 img auto 指令。
這是更新影像資源檔案的屬意方法,而且必須在 Linux 環境中執行。
執行以下指定的程序之前,確保您已經建立了計劃要變更的所有檔案的備份副本,尤其是 /srv/tftp/boot/initrd 檔案。如果您要變更影像 CD 上的檔案,則需要諸如 winiso 之類的程式,或用於解壓縮和取代 bootcd.iso 影像檔中之檔案的某些其他程序。
重要:在 initrd 或 root 檔案系統中更新或新增檔案和 Linux 驅動程式時,請記錄您所做的變更。您從 Novell 接收更新過的資源檔案時,它們不包含您自訂的變更。如果核心版本已隨 Novell 的較新資源檔案一起變更,則必須透過從製造商獲得新版本,或透過使用正確的 Linux 核心版本來源重新編譯驅動程式來更新先前新增的驅動程式。
您可以將以下程序用於 root 檔案系統,只需在各步驟中以「root」取代「initrd」。但是,Linux 驅動程式應始終放於 initrd 檔案系統中,而非 root 檔案系統中。
若要將檔案新增至 root 檔案系統,您還可以使用 driverupdate 方法,如節 65.4.3, 使用 Driverupdate 檔案方法中所述。
修改 initrd 或 root 檔案系統的步驟:
使用 Linux 機器,建立工作目錄並變更為此目錄。
從 PXE 伺服器或開機 CD 將 initrd 複製到新工作目錄的步驟:
若要將 initrd 重新命名為 initrd.gz,請輸入:
cp initrd initrd.gz
若要解壓縮 initrd.gz 檔案,請輸入:
gunzip initrd.gz
若要建立在後續步驟中用作安裝點的另一個工作目錄,請輸入:
mkdir work
若要將 initrd 檔案系統安裝至 /work 目錄,請輸入:
mount -o loop initrd work
若要將您的檔案或更新過的驅動程式複製到已安裝的 initrd 檔案系統中,請輸入:
cp /your_path/module.ko work/lib/modules/2.6.5-override-default/initrd
其中,your_path 是 module.ko 檔案的路徑,module 是模組的名稱。
應將要包含在 initrd 檔案系統中的其他檔案複製到適當的目錄中。
若要解除安裝 initrd 檔案系統,請輸入:
umount work
若要壓縮新的 initrd 檔案,請輸入:
gzip -v9c initrd > initrd.gz
若要將 initrd.gz 重新命名為 initrd,請輸入:
cp initrd.gz initrd
將檔案複製回來的步驟:
如需有關將 driverupdate 檔案方法用於 Linux 伺服器的資訊,請參閱《Novell ZENworks 7 Linux 管理管理指南》中的「使用 Driverupdate 檔案方法」。此特定方法不能用於 NetWare 和 Windows 平台。