カーネルでコンパイルされたカーネルモジュールを無効にする(ロードされていません)

カーネルでコンパイルされたカーネルモジュールを無効にする(ロードされていません)

私のサーバーには1Gbit 2個と10Gbitオンボードネットワークカード2個があります。

1Gbitネットワークカードがifconfig -a表示されないように完全に無効にする必要があります。

ネットワークカードは異なるカーネルモジュールを使用します。 10Gbit使用ixgbe、1Gbit使用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を完全に無効にするにはどうすればよいですか?

ベストアンサー1

igb初期化機能が内蔵されていても、「モジュール」をブラックリストに追加できる必要があります。

initcall_blacklist=igb_init_module

カーネルのブートパラメータへ。

バラよりI2Cデザインウェアがモジュールとして構築されていない場合、I2Cデザインウェアサポートをどのように無効にしますか?背景情報を入手してください。ここで一般的なアプローチは、カーネルソースコードからモジュールを探し、その__init属性を持つ関数を見つけることです。簡単に識別できる基本初期化関数(通常は宣言で参照)のみが必要ですmodule_init。ブラックリストに登録すると、ドライバは初期化されません。

おすすめ記事