Mar*_*ter 18 boot kernel linux-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
Run Code Online (Sandbox Code Playgroud)
双方ixgbe并igb在内核中(而不是作为一个可加载模块)静态编译。我需要使用内核启动参数禁用该模块。
我曾尝试将以下内容附加到我的内核中,但没有效果:
igb.blacklist=yes
igb.enable=0
igb.disable=yes
Run Code Online (Sandbox Code Playgroud)
igb 网卡还在显示
如何完全禁用 igb?
Ste*_*itt 30
您应该能够igb通过将其初始化功能列入黑名单来将“模块”列入黑名单,即使是内置的:添加
initcall_blacklist=igb_init_module
Run Code Online (Sandbox Code Playgroud)
到内核的引导参数。
请参阅当 I2C 设计件不是作为模块构建时,如何禁用它?背景信息。这里的一般方法是在内核源代码中查找模块,并查找具有该__init属性的函数——应该只有一个容易识别的主初始化函数(通常在module_init声明中引用)。将其列入黑名单,驱动程序将不会被初始化。