Thanks a lot for clarification.
Meanwhile, I did some research and found a way to get rid of these warnings altogether: Arch Linux mkinitcpio: Possibly missing firmware for module · GitHub
Of course, this will only work if you are not using any SCSI hardware on your rig (which, probably, will be true for most of us here).
Small advantage: Leaving out all the SCSI drivers in the initcpio build process, will speed things up a little bit when running mkinitcpio -P.
For convenience, here’s a patch doing the changes discussed.
--- /usr/lib/initcpio/install/block 2021-12-03 16:06:50.000000000 +0100
+++ /usr/lib/initcpio/install/block 2022-01-24 12:55:17.792192681 +0100
@@ -5,8 +5,10 @@
map add_module sd_mod? sr_mod? usb_storage? mmc_block? firewire-sbp2? virtio_blk?
- # pata, sata, scsi, nvme
- for filter in 'scsi/.*ata' '/(block|scsi|fusion|nvme)/' 'ata/[ps]ata_' \
+ # pata, sata, nvme
+ # scsi removed to avoid unnecessary missing firmware warnings
+ # on systems not using scsi
+ for filter in '/(block|fusion|nvme)/' 'ata/[ps]ata_' \
'ata/(ahci|pdc_adma|ata_piix|ata_generic)'; do
add_checked_modules "$filter"
done
@@ -34,8 +36,11 @@
help() {
cat <<HELPEOF
This hook loads the necessary modules for most block devices using pata, sata,
-scsi, firewire, usb, or mmc. Detection will take place at runtime. To minimize
+firewire, usb, or mmc. Detection will take place at runtime. To minimize
the modules in the image, add the autodetect hook too.
+In this version of the hook, the scsi drivers have been omitted to avoid
+missing firmware warnings when running mkinitcpio -P.
+Hence, DO NOT use this hook if you are using SCSI in your system.
HELPEOF
}