Linux

Buildroot - 缺少 i2c 核心模組

  • February 18, 2015

我使用 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 傳輸協議的支持。我是單獨編譯核心的,但我們可以從執行的 Buildroot 文件夾中完成make linux-menuconfig

在核心 3.8.13 配置期間,添加:

linux-3.8.13$ make menuconfig    
  • 轉到設備驅動程序菜單並按“Y”檢查I2C 支持。
  • 進入I2C菜單,進入I2C設備界面,按’ M ‘獲取模組支持。
  • 進入I2C 硬體匯流排支持菜單並按’M’ BCM2708 BSC
  • 檢查SPI支持按’Y’並進入子菜單
  • 在BCM2708 SPI 控制器驅動程序附近按“M”

交叉編譯它,一旦完成,你可以載入模組

modprobe i2c-dev
modprobe i2c-bcm2708
modprobe spi-bcm2708

引用自:https://unix.stackexchange.com/questions/185044