カスタムカーネル:モジュールの組み込み時にファームウェアのロードに失敗する


9

すべてのモジュールを組み込みたいのですが、これは失敗しiwlagnます:

iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!

マイクロコードファイルはに存在し/lib/firmwareiwlagnモジュールとしてコンパイルすると、全体が問題なく動作します。私はそれがどこでファイルを探しているのか、何が間違っているのか分かりません-何かアイデアはありますか?


コメントの代わりに新しい答えを作る; EXTRA_FIRMWARE_DIRは、ビルド環境のファームウェアBLOBの場所に対応しています。ターゲットではありません。(cateee.net/lkddb/web-lkddb/EXTRA_FIRMWARE_DIR.html)を参照してください
orpheuswasrebornhere

回答:


10

見ていCONFIG_FIRMWARE_IN_KERNELCONFIG_EXTRA_FIRMWARE、およびCONFIG_EXTRA_FIRMWARE_DIRコンフィギュレーションオプション(で発見- >ジェネリックドライバオプションデバイスドライバを)。

最初のオプションは、ファームウェアがカーネルに組み込まれることを有効にします。2番目のオプションは、ファームウェアのファイル名(またはスペースで区切られた名前のリスト)と、ファームウェアを探す3番目の場所を含む必要があります。

したがって、例では、これらのオプションを次のように設定します。

CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE='iwlwifi-6000-4.ucode'
CONFIG_EXTRA_FIRMWARE_DIR='/lib/firmware'

アドバイス:すべてのモジュールをカーネルにコンパイルすることは良い考えではありません。あなたの野望も理解できたと思います。ある時点で私もそれをするのに必死だったからです。このようなアプローチの問題は、組み込みのモジュールをアンロードできないことです。残念ながら、特にワイヤレスドライバーはバグが多いため、モジュールを再ロードする必要があります。また、場合によっては、最近のドライバーのモジュールバージョンが機能しないことがあります。


それはもはや本当ではありません。Intelドライバーは安定しており、何日間も手動で操作しなくても問題なく動作します。
LtWorf 2016

EXTRA_FIRMWAREは、ドキュメントによると64ビットカーネルでのみ機能します
18年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.