私のサーバーには、2つの1ギガビットおよび2つの10ギガビットオンボードネットワークカードがあります。
1ギガビットネットワークカードを完全に無効にする必要があるので、ifconfig -a
はそれらを表示しません。
ネットワークカードは異なるカーネルモジュールを使用します。 10ギガビットはixgbe
を使用し、1ギガビットは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 Designwareサポートを無効にするにはどうすればよいですか? を参照してください。ここでの一般的なレシピは、カーネルソースコードでモジュールを探し、__init
属性を持つ関数を探すことです。メインの初期化関数(通常、module_init
宣言)。これをブラックリストに登録すると、ドライバーは初期化されません。