Wer Arch Linux verwendet kennt auch die wichtige Konfigurationsdatei /etc/mkinitcpio.conf, in dieser wird das Verhalten der Initial Ramdisk definiert. Effektiv sorgt diese Konfiguration dafür das z.B. zuerst die SATA Treiber, dann die Verschlüsselung und anschließend das LVM vor dem mounten der Dateisysteme an die Reihe kommt.
Das Ganze ist sehr modular aufgebaut und verzichtet auf unnötige Magie, es tut genau was man ihm sagt und auf keinen Fall mehr als das. Jedes dieser Module, auch Hooks genannt, stellt bestimmte Funktionen bereit.
Eine Liste der möglichen Hooks bekommt man mit dem Befehl:
mkinitcpio -L
==> Available hooks
autodetect consolefont fsck keymap mdadm_udev
pata sata sleep udev usr
base encrypt fw lvm2 memdisk
pcmcia scsi strip usb virtio
btrfs filesystems ide mdadm mmc
resume shutdown timestamp usbinput
mkinitcpio -H hookname
Wichtig ist aber das ihr bei der Verwendung dieser Hooks folgende Punkte unbedingt beachtet:
- Die Reihenfolge der Hooks ist wichtig, muss also zuerst eine Partition entschlüsselt werden muss auch der Hook zuerst kommen. Wird dann LVM gebraucht um die Dateisysteme erreichen zu können wäre dies der nächste…
- Vergessene Hooks sorgen dafür das ggf. bestimmte Treiber fehlen. Habt ihr also vergessen den lvm2 Hook zu definiern hat die Initial Ramdisk auch keine Treiber für LVM und auch dessen notwendige Tools werden fehlen. Es wird also ein Rescue System benötigt um dieses Problem zu fixen!
- Denkt bei den Hooks bitte auch an eure Eingabegeräte und dessen Keymap, nichts ist nerviger als eine Englische Belegung für eine Deutsche Tastatur ;-)
- Vergesst nicht nach jeder Änderung an dieser Datei die Initial Ramdisk neu zu bauen.
HOOKS="base udev autodetect usbinput keymap sata encrypt lvm2 filesystems"
Das neu bauen der Initial Ramdisk geht übrigens mit diesem kleinen Befehl:
sudo mkinitcpio -p linux