Ich habe ein wenig nachgeforscht was es mit dem Eintrag autodetect auf sich hat.
Hier das script von autodetect: https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/blob/master/install/autodetect
Wenn ich das richtig interpretiere dann wird mit modprobe -S "$KERNELVERSION" -qaR "${mods[@]}
geprüft welche Module geladen werden können und alles was nicht geladen werden kann, wird dann auch nicht in die initramfs-linux.img geschrieben. Auf diese Weise bleibt die initramfs möglichts klein.
autodetect wirkt sich nur auf die in der Liste folgenden (rechts stehenden) hooks aus, und dort auch nicht auf alle.
Ich habe das praktisch einmal durchprobiert und die Position von autodetect verschoben und danach jeweiles ein mkinitcpio -p linux
durchgeführt.
Position von autodetect in
HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block resume filesystems fsck) und die Größe der resultierenden initramfs-linux.img in MiB.
autodetect jeweils vor dem hook :
- base 15,3 MiB
- udev 15,3 MiB
- microcode 15,3 MiB
- modconf 27,2 MiB
- kms 27,2 MiB
- keyboard 94,6 MiB
- keymap 96,0 MiB
- consolefont 96,0 MiB
- block 96,0 MiB
- resume 110,4 MiB
- filesystems 110,4 MiB
- fsck 123,5 MiB
Die Größe der initramfs-linux-fallback.img Datei bleibt dabei immer 123,5 MiB. autodetect wirkt sich auf sie nicht aus. Wenn man autodetect ganz weglässt hat die initramfs-linux.img Datei auch 123,5 MiB.
autodetect detektiert nichts und hat auch nichts damit zu tun welche hooks geladen werden.
Sie prüft lediglich welche Treiber relevant sind und hält die initramfs-linux.img Datei klein.