65.5 新增或更新 LAN 驅動程式

由於 LAN 卡製造商會開發並發行新 LAN 介面卡,因此他們通常也會發行新的或更新過的驅動程式。有時新的 LAN 卡會在較早版本的驅動程式上正常發揮作用,有時較早版本的驅動程式無法辨識新的 LAN 卡並拒絕載入。有時,較早版本的驅動程式會載入,但 LAN 卡會出現嚴重的效能問題。若要獲得新 LAN 卡的完整效能,您應該使用新的驅動程式。

以下各節介紹了如何獲得或編譯驅動程式:

如果您需要載入具有特定參數的驅動程式,請參閱節 65.5.3, 載入具有參數的驅動程式

65.5.1 獲得驅動程式

應該從製造商處獲得新的 LAN 驅動程式。大多數 LAN 卡製造商均會提供可從其網站免付費下載的驅動程式。某些驅動程式可從 www.scyld.com/network 獲得,並且 Broadcom BCM5700 驅動程式的來源可從 http://www.broadcom.com/drivers/downloaddrivers.php 下載。

如果製造商已專門為 ZENworks 使用的核心版本編譯二進位驅動程式,則您可以獲得該驅動程式並使用更新方法之一新增驅動程式。ZENworks 7 基於 SLES 9 SP2,核心版本 2.6.5-7.191。如果驅動程式不適用於此特定版本,則您必須獲得來源並為此版本對其進行編譯。如需更多資訊,請參閱節 65.5.2, 建立驅動程式

65.5.2 建立驅動程式

幾乎所有的 Linux 驅動程式均是以來源碼形式配送的,並且需要在使用驅動程式之前對其進行編譯。請按照新驅動程式隨附的製造商說明建立驅動程式模組。可以按照將驅動程式建立為核心本身的方式來建立許多驅動程式,但是建議將 LAN 驅動程式建立為外部核心模組。

建立您的 LAN 驅動程式時,確保您的建立機器使用與影像環境相同的核心。如果您具有不會在影像環境中載入的 LAN 驅動程式,通常意味著您的建立環境和影像環境不相符。

您可以使用以下指令尋找 Linux 環境的目前核心版本:

uname -r

但是,您可能需要修改使用 uname 指令獲得的結果,以使您的核心版本相符。如需更多資訊,請參閱節 65.6, 使用 Uname

建立驅動程式的步驟:

獲得 Linux 來源碼樹狀結構

若要編譯模組,則需要包含符合 ZENworks 核心之組態的 Linux 來源碼樹狀結構。若要獲得必要的來源碼,請參閱 Novell 支援知識庫中的 TID 10091818。

使用 Linux 來源碼樹狀結構的步驟:

  1. 解壓縮檔案並在 /usr/src 目錄中安裝來源碼樹狀結構。

    例如,tar 檔案會建立以下目錄:

    /usr/src/linux-2.6.5-7.191
    /usr/src/linux-2.6.5-7.191-obj
    
  2. 從以下位置之一獲得正確的組態檔案:

  3. 將此組態檔案複製到在步驟 1 中建立的目錄中。

    例如,/usr/src/linux-2.6.5-7.191

  4. 建立來源樹狀結構之連結的步驟:

    1. 若要變更為 /usr/src 目錄,請輸入:

      cd /usr/src
      
    2. 如果目錄中有 Linux 軟式連結,請刪除它。

    3. 建立 Linux 軟式連結,例如:

      ln -s linux-2.6.5-7.191 linux
      

現在,您已將 Linux 核心來源樹狀結構和軟式連結準備就緒以編譯模組。繼續 編譯模組

編譯模組

手動編譯模組的步驟:

  1. 安裝來源。

    請按照製造商提供的說明安裝來源。

    通常,模組來源位於 /usr/src 之下的目錄中。模組來源檔案通常的格式為 gzip 壓縮的 tar 檔案 (.tar.gz.tgz)。檔案也可能是 bzip 壓縮的檔案 (.bz2)。

  2. 編譯來源:

    1. 變更來源的目錄。

    2. 如果您已修改 uname 以變更為正確的核心版本,請執行 make 指令。

  3. 當您為 ZENworks 編譯模組後,請取得產生的 .ko 模組檔案 (確保您選取正確的模組名稱而並非工作 .ko 檔案) 並透過使用驅動程式更新方法將其放於 initrd 檔案系統來安裝它。

65.5.3 載入具有參數的驅動程式

如果有要在 linuxrc 處理期間載入的模組,並且如果 linuxrc 不會辨識需要載入它或您要指定載入參數,則可以在 linuxrc.config/info 檔案中輸入行。然後,需要在 initrd 檔案系統中更新此檔案。

您可能需要載入具有特定參數的 LAN 驅動程式模組。您可以透過以下行執行此作業:

insmod="moduleName parm=xxx"

此類型的行通常用於載入具有特定參數 (例如全雙工傳輸和特定速度) 的 LAN 驅動程式。