
私はカーネル2.6.37を開発しており、カーネルを最適化するために静的モジュールの代わりにロード可能なモジュールをいくつか作成しました。
私の使命は、正常に実行されたアプリケーションを実行した後にいくつかのモジュールをロードすることです。
すべての組み込みシステムでシステムの初期化中に、スクリプトは指定されたファイル(etc / modulesなど)のモジュールを変更します。そのため、ファイルシステムの初期化時にロードされず、アプリケーションの起動後にロードする必要があるようにモジュール名を削除しました。実行レベルの優先順位が35から99に変更されたのと似ています。
Wi-Fiカーネルモジュールをロードするのに1〜2秒かかりましたので、Wi-Fiモジュール名とその依存関係を削除しようとしましたが、ファイルシステムの初期化時にWi-Fiモジュールがロードされました。 rcSスクリプトを確認した後、udevスクリプトはmodprobeが実行する必要がある操作の代わりにモジュールをロードするudevadmトリガーを実行しています。
/sbin/udevadm トリガー --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon -- 子システム -nomatch=pci_bus --subsystem-nomatch=グラフィックスカード --subsystem-nomatch=バックライト --subsystem-nomatch=video4linux --subsystem-nomatch=プラットフォーム
Wi-Fiモジュールのロードを防ぐ方法を提案できる人はいますか?
答え1
私の問題に対する完璧な答えではありませんが、より多くの解決策があります。
私はいくつかのモジュールブラックリストを作成しました。
Cat/etc/modprobe.d/blacklist.conf
#自動ロードを停止する必要があるモジュールをブラックリストに追加する
ブラックリスト wl18xx
誰でも良い答えがあれば共有してください。
ありがとう、GBiradar