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

Tom Yan tom.ty89 at gmail.com
Wed Jun 10 04:21:53 UTC 2015

I was being silly. Found the answer myself:

if [ -n "$earlymodules$MODULES" ]; then
    modprobe -qab ${earlymodules//,/ } $MODULES

in base hook init.

On 10 June 2015 at 10:30, Tom Yan <tom.ty89 at gmail.com> wrote:
> 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