0

I am looking for how the modules are loaded at boot time.

Who will load the modules when the system is booting up.

I am using raspbain os.

Before upgrading to device tree , my modules are loaded well, but after upgrading my modules are loading differently.

To avoid that i used softdep to load the modules the way i want.

But now I want to remove those softdep and want my modules to be loaded the way they loaded without device tree.

Can anyone clarify this doubt about how and in which order they loaded and who will load the modules in boot time

optimus prime
  • 764
  • 1
  • 13
  • 39

1 Answers1

1

There few files, that instruct kernel how to load modules: modules.* files in your kernel modules directory (/lib/modules/<kernel-version>). Normally these files should not be edited manually since there is a nice tool called depmod, which will analyse available modules and construct optimal order of loading. depmod itself looks on symbols, exported by modules (EXPORT_SYMBOL/EXPORT_SYMBOL_GPL macro) and references to those symbols, which allows it to build correct initialization sequence. During boot time available hardware is being probed and corresponding modules are being loaded by system initialization scripts (usually this is done in initrd). You can specify additional modules to be loaded (or blacklisted) during runtime using configuration files in modprobe.d directory (please refer to modprobe.d(5) man page)

iwlagn
  • 477
  • 3
  • 10
  • what about the udev? when the udev comes into the picture in the booting? – optimus prime Feb 05 '15 at 01:45
  • udev is being executed by init. It's main task is to listen for kernel events about new devices or device removal and match those events to set of rules and execute some tasks based on those rules. This may result in creating a new/removing existing device node, executing scripts etc. Kernel events are occurring when device is being initialized or removed. – iwlagn Feb 05 '15 at 08:25