I am trying to load a module (bcm2835-v4l2) when booting my system, however, my research has shown two ways I can get the module loaded.

I can either append the name of the module to the end of the /etc/modules file

or I can add a


file within /etc/modprobe.d/ and add the name of the module

(in my case, '/etc/modprobe/bcm2835-v4l2.conf').

Two questions:

  1. What is the difference between these two? I have already seen this answer in unix.stackexchange, so anything that is more extensive or more clear is preferred

  2. Which should I prefer in this situation, and in general? Or is it not worth having a preference?


I don't know that there is a definitive, documented answer in Ubuntu. I am happy to learn otherwise.

What is most often and traditionally used is that if you simply want the module to load at boot automatically with no human intervention, use /etc/modules.

# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


If you'd like to load the module with some available parameters listed in modinfo, write a .conf file /etc/modprobe.d/bcm2835-v4l2.conf:

options bcm2835-v4l2 some_parameter=Y

Note that this is an example only. I am not certain that bcm2835-v4l2 has or even needs any manipulable parameters.

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.