Hallo zusammen,
Ich habe die Tage erfolgreich mit Hilfe von Dokus und GPT auf meinem neuen Laptop Fedora Installiert. Mit LUKS verschlüsseltes BTRFS Dateisystem und Bindung an TPM um mir die Passworteingabe zu ersparen.
Ich denke dass das vielleicht für den ein oder anderen Interessant ist und evtl haben die Linux Profis ja noch Anmerkungen was ich beim nächsten mal besser (ordentlicher) machen kann.
Ich möchte von Kommentaren zur Distrowahl absehen, da gibt es genug andere Threads.
Zuerst habe ich die SSD mit einem GPT Partitionstabelle partitioniert und dann folgende Partitionen angelegt:
- EFI in FAT32 mit 1GB
- Boot in ext4 mit 5GB
- BTRFS Volume Verschlüsselt mit folgenden Subvolumes
- @ als root
- @home als /home
- @var_log als /var/log
- @var_cache als /var/cache
- SWAP mit Luks Verschlüsselung 40GB (bei 3Gb RAM)
(die @Var Subvolumes waren Vorschläge bzgl der Datensicherung/Snapshots, vielleicht kann mir ja jemand genauer erklären warum das wichtig ist.
Den SWAP hingegen habe ich angelegt, weil ich Hibernation nutzen wollte, später stellte sich aber heraus dass das mit Secureboot nicht geht)
Dann nach der Installation erstmal das System geupdated mit „sudo dnf upgrade —refresh –y && sudo reboot now“
Jetzt kommt eine Sache die der ich nicht ganz folgen konnte da GPT hier wirr geworden ist:
um die LUKS verschlüsselung an TPM zu binden sollte ich zuerst die Gerätenamen genau identifizieren.
Für Root mit:
ROOT_MAP=$(findmnt –no SOURCE /) echo „ROOT_MAP“
und für den SWAP mit
SWAP_MAP=$(swapon —show=NAME —noheadings) echo „SWAP_MAP“
Dann mit “sudo cryptsetup status” die genauen Gerätenamen auslesen.
Ich gehe davon aus das der sinn hier hinter war mit den ersten befehlen ein Temporäres Alias zu erzeugen, da der vorschlag von GPT war hinter “cryptsetup status” dann “ROOT_MAP” oder eben “SWAP_MAP” zu setzen.
Das hat aber nicht funktioniert und ich habe mir dann geholfen indem ich /dev/mapper/ *und die UUID genommen habe.
Aber vielleicht kann mir ja jemand sagen was genau GPT hier von mir wollte und wie es funktioniert hätte, bzw besser gemacht werden könnte.
Dann habe ich Luks mit den Gerätenamen und folgendem Befehl an das TPM Modul gebunden:
sudo systemd-cryptenroll —tpm2-device=auto —tpm2-pcrs=7 /dev/*Gerätename
In /etc/fstab bei der SWAP Partition noch den Eintrag “Pri=10” hinzugefügt
Und in der /etc/crypttab beide einträge mit folgenden Parametern ergänzt:
Bei der Root: luks,discard,tpm2-device=auto,x-initrd.attach
Bei der SWAP: luks,discard,tpm2-device=auto,x-initrd.attach,nofail
Dann den Kernel geupdated mit:
sudo dracut --regenerate-all --force
Damit funktioniert nun alles reibungslos und die Platte entsperrt sich beim Boot automatisch.
Das einzige was mir aufgestoßen ist, bei jedem Firmwareupdate (liefert Fedora für Dell automatisch mit ) muss ich danach die TPM bindung erneuern und ich sehe auch dass der Token jeweils in einem neuen Slot im TPM gespeichert wird.
Daher die Frage ob ich irgendwas hätte besser machen können oder es einen Workaround dafür gibt, da ich gerne die LUKS Passwörter entfernen möchte und durch Recovery Keys ersetzen möchte, wenn die TPM bindung dann zuverlässig Permanent läuft.
Mit Timeshift mache ich BTRFS Snapshots und wie ich die DASI Struktur bei mir sauber löse, bin ich gerade noch am überlegen.
PS. ich überlege gerade ob ich überhaupt einen SWAP brauche bei 32Gb, ich denke eher nicht. Weil angelegt habe ich den ja eh nur für Hibernation, aber die funktioniert mit Secureboot ja leider nicht. Und Suspend to RAM möchte ich mir sparen, da ich den Rechner eh meistens stationär an der Dock nutze.