[arch-general] [mkinitcpio] about explicit module inclusion and purpose of udev hook

Tom Yan tom.ty89 at gmail.com
Wed Jun 10 02:30:39 UTC 2015

For my current system, I need the following modules (and their
dependencies) to boot (mount the real root):

ahci, sd_mod, btrfs

(which are drivers for the sata controller, disk, and the root
filesystem respectively.)

If I specify these three in the MODULES array of mkinitcpio.conf, the
only hook I need is the base hook.

However, if I make use of the block hook and filesystem hook instead
of the MODULES array to include the modules I need, I can't boot
successfully without the udev hook:

Unable to find root device 'UUID=c47a3e43-fed6-4f8a-8e52-71bae7a9f893'

So, what is the purpose of the udev hook? What so special is the MODULES array?

I even tried to include all modules which are included by the block
hook and filesystem hook (with autodetect) explicitly with the MODULES
array, to see whether the extra modules were adding factors to cause
the failure, yet it still boots fine without the udev hook.

More information about the arch-general mailing list