Kernel Module Configuration

If using an open source video driver, kernel module i2c-dev must be available. On some distributions, it is built into the Linux kernel. If not, it must be loaded explicitly.

To see if i2c-dev is built into the kernel, issue the following command:

grep i2c-dev.ko  /lib/modules/`uname -r`/modules.builtin

If i2c-dev is not built in, add the line "i2c_dev" to /etc/modules or a file containing the single line:

i2c_dev

to directory /etc/modules-load.d

From the freedesktop.org systemd doc:

systemd-modules-load.service(8) reads files from the [following]directories which contain kernel modules to load during boot in a static list.

/etc/modules-load.d/.conf /run/modules-load.d/.conf /usr.lib.modules-load.d/*.conf

Each configuration file is named in the style of /etc/modules-load.d/program.conf. Note that it is usually a better idea to rely on the automatic module loading by PCI IDs, USB IDs, DMI IDs or similar triggers encoded in the kernel modules themselves instead of static configuration like this. In fact, most modern kernel modules are prepared for automatic loading already.