buildrootを使用してカーネルイメージを作成し、それをSDカードに挿入して起動しました。ビルドルートでは、USB大容量記憶装置をモジュール化しました。 USBを接続せずにボードを起動した場合lsmos
。ただし、USBを接続するとモジュールが自動的にuas
ロードされ、usb_storage
USBへのアクセスを許可します。これが発生しないようにして、これら2つのモジュールを手動でロードする場合にのみUSBアクセスを許可したいと思います。
モジュールをブラックリストに追加したり、モジュールに関連するファイルを編集したりするための記事をオンラインで読みましたが、電源を切ると変更が削除されるため、機能しません。だから別の永久オプションが必要です。イメージを作成する前にビルドルート設定で実行できますか?
答え1
私は同じ問題に直面しました。問題は、基本的にbusyboxのmodprobe実装(buildrootで使用されている)がblacklist
。
回避策は、イメージをコンパイルするときにbusybox設定でこの機能を有効にすることです。これを行うには、busybox.config
次の内容を含む構成フラグメントファイル(名前など)を作成します。
CONFIG_FEATURE_MODPROBE_BLACKLIST=y
次に、buildrootオプションにファイルパスを追加します。ビルドルート構成ファイルでは、次のようにする必要があります。
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="../busybox.config"
今すぐ実行すると、make
busyboxの設定ファイルを再構築するbuildroot makeプロセスが表示されます。 modprobeの出力に注意してください。次のようにする必要があります。
modprobe (28 kb) (MODPROBE) [Y/n/?] y
Blacklist support (FEATURE_MODPROBE_BLACKLIST) [Y/n/?] y
これを完了したら、書き込むだけで期待blacklist <themodule>
どおり/etc/modprobe.conf
に機能します。