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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.