I've used Buildroot to build a minimal operative system. During the configuration step with the menuconfig utility I specified to install I2C tools. The option was is

Target Package -> Hardware handling -> i2c-tools

But when I load the corresponding module I get the following error:

$sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep

Furthermore, the list in the modules.dep file is empty.

$ cat /lib/modules/$(uname -r)/modules.dep

I have probably missed something important.

Do I have to manually copy the kernel modules from the Buildroot installation folder to the target system? How to make the i2c tools working?

2 Answers 2


From what I understand, Target Package -> Hardware handling -> i2c-tools refers to user space i2c utilities.

What you miss is kernel space i2c modules, you need to add them in make linux-menuconfig.


As suggested by Mali, we need to enable the kernel support for SPI and I2C transmission protocol. I did it compiling the kernel separately but we can do it from the Buildroot folder runnning make linux-menuconfig

During the kernel 3.8.13 configuration, add:

linux-3.8.13$ make menuconfig    
  • Go to Device Drivers menu and check the I2C support pressing ‘Y’.

  • Enter the I2C menu, go to I2C device interface and Press ‘M’ for module support.

  • Enter the I2C Hardware Bus support menu and press ‘M’ BCM2708 BSC

  • Check the SPI support pressing ‘Y’ and enter the sub menu

  • Press ‘M’ near the BCM2708 SPI controller driver

Cross compile it and once done you can load the modules with

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .