Bisher war ich irgendwie immer Initrd-Muffel – meine Kernel habe ich mit den nötigen Treibern statisch kompiliert und dann direkt von der Root-Partition gebootet.
Nachdem ich mir jetzt aber zwei neue Platten gekauft hatte, wurde das doch langsam mal notwendig: Die alte Platte an SATA1 war plötzlich zu /dev/sdb geworden, anscheinend ist im SCSI-Subsystem die Zuteilung der Gerätenamen nicht so statisch wie bei IDE-Platten.
Also habe ich mit
genkernel --lvm --mdadm --disklabel --luks --bootloader=grubinitrdramdisk
eine Initramdisk erstellt.
Rausgekommen ist dabei /boot/initramfs-genkernel-x86_64-2.6.23-gentoo-r8.
In der grub.conf dann noch das hier:
title=Gentoo Linux 2.6.23-r8 (with initrd)
root (hd0,0)
kernel (hd0,0)/boot/kernel-2.6.23-gentoo-r8 real_root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
initrd (hd0,0)/boot/initramfs-genkernel-x86_64-2.6.23-gentoo-r8
eingetragen, in der /etc/fstab die Gerätenamen durch UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ersetzt, und es läuft alles perfekt.
Damit sind jetzt auch schon erste Vorbereitung für RAID5, LVM und Verschlüsselung getroffen: Ich werde mir jetzt das Init-Skript von genkernel anschauen und daran dann geeignete Veränderungen vornehmen.
UPDATE: Inzwischen heißt es statt “initrd” “ramdisk”, ansonsten funktioniert immer noch alles.