kernel.orgでカーネル3.10.19をコンパイルしました。 bnx2のサポートが有効になっています。私のサーバーからeth0インターフェースを呼び出そうとすると、次のエラーが発生します。
bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
/lib/firmware/bnx2
次のファイルがあります。
bnx2-mips-06-6.2.1.fw
bnx2-rv2p-09-6.0.17.fw
bnx2-mips-09-6.2.1a.fw
bnx2-rv2p-06-6.0.15.fw
bnx2-rv2p-09ax-6.0.17.fw
bnx2-mips-09-6.2.1b.fw ファイルがありません。
私がするなら:
cp bnx2-mips-09-6.2.1a.fw bnx2-mips-09-6.2.1b.fw
うまくいきますが、きれいな解決策ではありません。
私は次の投稿を読んだ。https://lkml.org/lkml/2012/4/18/142しかし、私が理解しているかどうかはわかりません。
問題を解決するための最良の方法は何ですか?
答え1
Debian 8.1 で:
bnx2ドライバをインストールし、無料ではなくリポジトリを追加することを忘れないでください。
apt-get install firmware-bnx2
マシンを再起動してください。
これは私の問題を解決しました。
bnx2パッケージ: https://debian.pkgs.org/10/debian-nonfree-i386/firmware-bnx2_20190114-2_all.deb.html
答え2
RHEL 6の場合
add_drivers+="bnx2"
この行を追加してください/etc/dracut.conf
- バックアップinitramfs
dracut –f
initramfs イメージをビルドするには実行してください。- 再起動
これにより問題が解決します。
答え3
前の回答にいくつかの詳細を追加するには:
上記のRHEL 6ソリューションは機能しますが、ファームウェアファイルも必要です。 /etc/dracut.confに次の行を追加することはできません。
add_drivers+="bnx2"
バックアップしinitramfs
たら、次を実行します。
dracut -f
そして、基本システムが動作すると予想します。必要なファームウェアのコピーが見つかりました。ここ。他のバージョンもあるので、探しているバージョンでない場合は検索してみてください。おそらくそこにいるでしょう。
ファイルを準備し、/lib/firmware/bnx2
上記の指示に従って再起動しました。これは現在CentOS 6.8で動作します。 elrepoの3.10.xカーネルを使用します。