Buildrootを使用して、最小限のオペレーティングシステムを構築しました。 menuconfig
ユーティリティを使用した構成手順で、I2Cツールをインストールするように指定しました。オプションはでした
Target Package -> Hardware handling -> i2c-tools
しかし、対応するモジュールをロードすると、次のエラーが発生します。
$Sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
さらに、modules.dep
ファイルのリストは空です。
$ cat /lib/modules/$(uname -r)/modules.dep
$
私はおそらく重要な何かを見逃しました。
カーネルモジュールをBuildrootインストールフォルダーからターゲットシステムに手動でコピーする必要がありますか? i2cツールを機能させる方法は?
私が理解していることから、Target Package -> Hardware handling -> i2c-tools
はユーザースペースi2cユーティリティを指します。
見逃しているのはカーネルスペースi2cモジュールです。それらをmake linux-menuconfig
に追加する必要があります。
Maliが提案したように、SPIおよびI2C伝送プロトコルのカーネルサポートを有効にする必要があります。カーネルを個別にコンパイルしましたが、make linux-menuconfig
を実行しているBuildrootフォルダーから実行できます。
カーネル3.8.13の構成中に、以下を追加します。
linux-3.8.13$ make menuconfig
Device Driversメニューに移動し、I2Cサポートをチェックして「Y」を押します。
I2Cメニューに入り、I2Cデバイスインターフェイスに移動し、 '[〜#〜] m [〜#〜 ] 'モジュールサポート用。
I2Cハードウェアバスサポートメニューに入り、「M」BCM2708 BSCを押します。
SPIサポートを確認し、「Y」を押してサブメニューに入ります
BCM2708 SPIコントローラードライバーの近くで「M」を押します
それをクロスコンパイルし、完了したら、モジュールをロードできます
modprobe i2c-dev
modprobe i2c-bcm2708
modprobe spi-bcm2708