65.4 修改 ZENworks 影像資源檔案

您可能會不時地希望透過新增您自己的檔案來修改影像配送。可以是其他程式、程序檔、資料檔案或更新過的 Linux 驅動程式。

您可以使用以下方法來更新影像資源檔案:

以下各節中介紹了修改影像資源檔案的各種方法:

65.4.1 將檔案新增至影像開機 CD

如果您要將檔案新增至影像開機 CD 以便可以在您進入實際影像程序 (例如程序檔,但通常不是驅動程式模組) 後可以使用這些檔案,則您可以將這些檔案複製到影像 CD 上的 /addfiles 目錄中。此為將程序檔或其他檔案插入配送而無需修改 initrdroot 檔案系統的一種簡便方式。但是,在開機和模組載入階段中,這些檔案不可用。

影像開機 CD 具有名為 /addfiles 的目錄,您可以在其中新增檔案。應使用正確的目錄名稱,將它們放在此目錄之下。然後,在影像程序中,於此目錄結構中即可找到這些檔案。

有關如何新增檔案的範例:

  1. 如果您要執行自己的程序檔而非一般的影像程序,請建立名為 myscript.s 的程序檔並將其放在開機 CD 上。例如,/addfiles/bin/myscript.s

    重要:程序檔必須具有 Linux 所需之正確的 LF 行終止符號,而非 DOS CR 和 LF 行結束字元。換言之,您不能使用 Notepad.exe 建立程序檔;您必須使用與 Linux 或 UNIX 相容的文字編輯器,例如 TextPad。

  2. 若要將以下行放於 settings.txt 檔案中,請輸入:

    export IMGCMD=/bin/myscript.s
    

    執行影像時,它會執行 /bin/myscript.s,而非使用一般的 img auto 指令。

65.4.2 將檔案新增至 Initrd 或 Root 檔案系統

這是更新影像資源檔案的屬意方法,而且必須在 Linux 環境中執行。

執行以下指定的程序之前,確保您已經建立了計劃要變更的所有檔案的備份副本,尤其是 /srv/tftp/boot/initrd 檔案。如果您要變更影像 CD 上的檔案,則需要諸如 winiso 之類的程式,或用於解壓縮和取代 bootcd.iso 影像檔中之檔案的某些其他程序。

重要:initrdroot 檔案系統中更新或新增檔案和 Linux 驅動程式時,請記錄您所做的變更。您從 Novell 接收更新過的資源檔案時,它們不包含您自訂的變更。如果核心版本已隨 Novell 的較新資源檔案一起變更,則必須透過從製造商獲得新版本,或透過使用正確的 Linux 核心版本來源重新編譯驅動程式來更新先前新增的驅動程式。

您可以將以下程序用於 root 檔案系統,只需在各步驟中以「root」取代「initrd」。但是,Linux 驅動程式應始終放於 initrd 檔案系統中,而非 root 檔案系統中。

若要將檔案新增至 root 檔案系統,您還可以使用 driverupdate 方法,如節 65.4.3, 使用 Driverupdate 檔案方法中所述。

修改 initrdroot 檔案系統的步驟:

  1. 使用 Linux 機器,建立工作目錄並變更為此目錄。

  2. 從 PXE 伺服器或開機 CD 將 initrd 複製到新工作目錄的步驟:

    • 對於 PXE,將 \tftp\boot\initrd 複製到 Linux 工作站的工作目錄中。
    • 對於 CD,從開機 CD 上的 \boot\loader 目錄解壓縮 initrd,然後將解壓縮的 initrd 複製到 Linux 工作站的工作目錄中。
  3. 若要將 initrd 重新命名為 initrd.gz,請輸入:

    cp initrd initrd.gz
    
  4. 若要解壓縮 initrd.gz 檔案,請輸入:

    gunzip initrd.gz
    
  5. 若要建立在後續步驟中用作安裝點的另一個工作目錄,請輸入:

    mkdir work
    
  6. 若要將 initrd 檔案系統安裝至 /work 目錄,請輸入:

    mount -o loop initrd work
    
  7. 若要將您的檔案或更新過的驅動程式複製到已安裝的 initrd 檔案系統中,請輸入:

    cp /your_path/module.ko work/lib/modules/2.6.5-override-default/initrd
    

    其中,your_pathmodule.ko 檔案的路徑,module 是模組的名稱。

    應將要包含在 initrd 檔案系統中的其他檔案複製到適當的目錄中。

  8. 若要解除安裝 initrd 檔案系統,請輸入:

    umount work
    
  9. 若要壓縮新的 initrd 檔案,請輸入:

    gzip -v9c initrd > initrd.gz
    
  10. 若要將 initrd.gz 重新命名為 initrd,請輸入:

    cp initrd.gz initrd
    
  11. 將檔案複製回來的步驟:

    • 對於 PXE,將更新過的 initrd 複製到 PXE 伺服器上的 \tftp\boot 目錄中。
    • 對於 CD,將更新過的 initrd 複製到開機 CD 上的 \boot\loader 目錄中。

65.4.3 使用 Driverupdate 檔案方法

如需有關將 driverupdate 檔案方法用於 Linux 伺服器的資訊,請參閱《Novell ZENworks 7 Linux 管理管理指南》中的「使用 Driverupdate 檔案方法」。此特定方法不能用於 NetWare 和 Windows 平台。