Kernel
禁用在核心中編譯的核心模組(未載入)
我的伺服器有兩個 1-Gbit 和兩個 10-Gbit 板載網卡。
我需要完全禁用 1-Gbit 網卡,這樣
ifconfig -a
就不會顯示它們。網卡使用不同的核心模組。10-Gbit 使用
ixgbe
, 1-Gbit 使用igb
。01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) Subsystem: Dell Ethernet 10G 4P X520/I350 rNDC Kernel driver in use: ixgbe 05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) Subsystem: Dell I350 Gigabit Network Connection Kernel driver in use: igb
兩者
ixgbe
都igb
在核心中靜態編譯(不是作為可載入模組)。我需要使用核心引導參數禁用模組。我嘗試將以下內容附加到我的核心中,但沒有效果:
igb.blacklist=yes igb.enable=0 igb.disable=yes
igb網卡還在顯示
如何完全禁用 igb?
igb
即使是內置的,您也應該能夠通過將其初始化功能列入黑名單來將“模組”列入黑名單:添加initcall_blacklist=igb_init_module
到核心的引導參數。
請參閱未將 I2C 設計件支持建構為模組時如何禁用它?背景資訊。這裡的一般方法是在核心原始碼中查找模組,並查找具有該
__init
屬性的函式——應該只有一個易於辨識為主要初始化函式(通常在module_init
聲明中引用)。將其列入黑名單,驅動程序將不會被初始化。