Linux
如何配置 modprobe 以在啟動時辨識新安裝的 eth1 驅動程序?
我有一台執行 Debian 6 的伺服器。我的主機板有兩個介面,eth0 和 eth1。Debian沒有eth1(e1000e)的驅動,所以我安裝了Intel提供的驅動(e1000e-1.4.4)。將其編譯到核心中後,我使用了
rmmod e1000e
;modprobe e1000e
刪除舊模組並安裝新模組。然後我使用ifconfig eth1 IP
. 現在一切正常。港口工程。我確保進行編輯/etc/network/interfaces
,以便它在啟動時獲取 eth1,但是,當我重新啟動系統時,它找不到/辨識 eth1 設備。似乎該模組尚未載入。一旦我執行,我可以讓它再次工作rmmod e1000e; modprobe e1000e; ifconfig eth1 IP
。我的猜測是我需要配置 modprobe 以便它在啟動時載入模組。有什麼幫助嗎?謝謝!
聽起來好像 initrd 有舊的 e1000e 驅動程序,並且它在 initrd 期間被載入。嘗試重建 initrd,它應該會選擇新安裝的版本。
由於您使用的是 debian,因此 command:
sudo update-initramfs -u -k all
應該可以解決問題。
做你想做的最原始和 IMO 簡單的方法是添加:
ifdown eth1; modprobe -r e1000e; modprobe e1000e; ifup eth1
進入 /etc/rc.local。這將完成這項工作,但它將在所有服務都啟動之後。但是,e1000e 模組應該在核心中,所以應該預設載入。另一種方法是添加:
e1000e
在 /etc/modules 中。檢查這個執行緒,它是我搜尋 Debian 6 和 e1000e 的結果中的第一個。我建議找出核心不上傳 e1000e 模組的原因。