Hi,
ich habe mich vor ein paar Tagen drangesetzt und Arch auf nen USB Stick installiert.
Das hat auch alles wunderbar funktioniert. Ich hatte meine Partitionen "gelabelt" damit es bei unterschiedlichen Rechnern nicht zu Problemen mit den Laufwerksbezeichnungen kommt (sda,sdb,sdc,sdx...).
Nun habe ich mir gedacht "Was machst wenn du den Stick verlierst?". Auf dem Stick sind lauter Tools drauf die ich für den einfachen Zugriff auf mein Heimnetz verwende, wäre also nicht so schön wenn er verloren geht.
Antwort: dm-crypt
Ich habe mir jetzt meine / Partition mit dm-crypt verschlüsselt und es läuft eigentlich auch alles.
Zur Einrichtung arbeite ich unter Windows mit ner VirtualBox, dort klappt auch alles.
Da ich ja bei einer crypto_LUKS Partition leider kein Label angeben kann stand ich vor dem Problem wie ich nun eine eindeutige Laufwerkszuordnung beim booten bekomme.
Als Bootloader verwende ich syslinux (ich komm irgendwie mit GRUB nicht klar)
Syslinux funktioniert ja auch mit UUIDs also habe ich das als Ausgangspunkt verwendet.
In meiner VM funktioniert alles einwandfrei, arch (bzw syslinux) bootet per UUID, ich kann mein Passwort eingeben usw.
Starte ich jetzt meinen Rechner neu und boote vom USB Stick dann bekomme ich die nette Meldung
Waiting 10 seconds for device /dev/disk/by-uuid/"67e2e910-a551-414a-812c-50f44def28bf" ...
was fehlschlägt und ich lande nach kurzer Zeit in der recovery shell.
In der recovery shell sehe ich meinen USB Stick als sdc, ein ls -l /dev/disk/by-uuid/ zeigt mir hier auch die richtige UUID der gewollten Partition an.
Wenn ich jetzt meine Bootparameter von
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND cryptdevice=UUID="67e2e910-a551-414a-812c-50f44def28bf":main root=/dev/mapper/main-root $
INITRD ../initramfs-linux.img
nach
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND cryptdevice=/dev/sdc3:main root=/dev/mapper/main-root rw
INITRD ../initramfs-linux.img
ändere startet das System sauber.
Meine UUIDs scheinen also zu passen (hatte am anfang befürchtet dass sich hier durch die VM evtl irgendetwas ändern könnte) und mein USB Stick wird auch erkannt (zumindest sobald die recovery shell gestartet wurde).
Kann sich jemand erklären warum aber der boot Vorgang nicht klappt?
Was mir aufgefallen ist (und das scheint ein Unterschied zur VM zu sein):
Während der Rechner auf den USB Stick wartet erscheint eine Meldung von wegen
[ 3.712341] sdc ... write cache....
das war jetzt nur aus dem Kopf geschrieben aber kann es sein dass der Stick irgendwie länger benötigt bis er komplett erkannt wurde und die 10s einfach nicht ausreichen? Warum klappt es dann aber wenn ich explizit /dev/sdc3 angebe und wie könnte ich diese 10s Wartezeit erhöhen?
Vielleicht kann mir ja jemand helfen wäre echt top.
Wenn noch irgendwelche Informationen fehlen dann liefere ich die natürlich gerne.
Hier noch ein kurzer Auszug aus meiner lsblk nachdem ich in der VM gebootet habe:
[volle@volle-usb ~]$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat USB_DATA 8A95-47CE /mnt/data
├─sda2 ext4 USB_BOOT 733739bc-242e-41f8-8456-fe1709726f22 /boot
└─sda3 crypto_LUKS 67e2e910-a551-414a-812c-50f44def28bf
└─main LVM2_member XMcGYl-9qKh-QshS-RPd4-Q4TS-fUhf-VggqYf
└─main-root ext4 USB_ARCH f986d2f5-839f-43c5-8dde-6ac2dea87374 /