Guten Tag liebe Community!
[spoiler]Sollte dieses Problem in der Form schonmal aufgetreten sein, dann bitte ich um Entschuldigung. Ich habe einige Threads durchgelesen und mich mit Google und der internen Forumsuche bemüht, mir selbst auszuhelfen, es nur leider nicht geschafft.
Ich bin vor kurzer Zeit von Windows auf Arch umgestiegen, nachdem ich einiges vorab in einer VM getestet hatte und ein paar praktische Tipps in der Umsetzung von Bekannten bekommen habe.
Von mir werden 3 Partitionen genutzt:
sda1 als unverschlüsselte Boot-Partition
sda2 als btrfs fs. (root)
sda3 als swap-Partition[/spoiler]
Das Anmelden/Entschlüsseln der Root-Partition hat funktioniert. Nachdem ich hierfür die Passworteingabe hinter mir habe, hat er Probleme mit dem hook "openswap". Hier werden dann ganz viele Wirre mögliche Argumente angezeigt, welche man beim cryptsetup verwenden könnte. Allerdings finde ich bei mir keinen Syntaxfehler und wenn ich den Befehl manuell im Terminal ausführe, funktioniert er einwandfrei:
cryptsetup open --key-file /etc/keyfile-cryptSWAP /dev/sda3 cryptSWAP
- wodurch ich mir sicher bin, dass das keyfile per /urandom richtig erstellt wurde und auch luksAddKey richtig ausgeführt wurde. Im keyslot 0 befindet sich mein manuell eingetragenes Passwort, in keyslot 1 das keyfile.
im folgenden einige meiner Konfigurationen:
[root@Superuser-Playground hooks]# cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/cryptROOT UUID=36e88f73-d0e4-4453-bd22-c89744210072
LABEL=ROOT / btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache=v2,subvolid=256,subvol=/
@root,subvol=
@root 0 0
# /dev/sda1 UUID=af2d2c3a-6137-49e4-bd59-fffa1d546464
LABEL=BOOT /boot ext4 rw,relatime 0 2
# /dev/mapper/cryptROOT UUID=36e88f73-d0e4-4453-bd22-c89744210072
LABEL=ROOT /home btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache=v2,subvolid=258,subvol=/@home,subvol=@home 0 0
# /dev/mapper/cryptROOT UUID=36e88f73-d0e4-4453-bd22-c89744210072
LABEL=ROOT /.snapshots btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache=v2,subvolid=260,subvol=/@snapshots,subvol=@snapshots 0 0
[...]
# /dev/mapper/cryptSWAP UUID=fc38fbe4-2ac5-4deb-9f9a-43190314b189
LABEL=SWAP swap swap defaults 0 0
[babo@Superuser-Playground ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 926G 0 part
│ └─cryptROOT 254:0 0 926G 0 crypt /vm-zoggn
└─sda3 8:3 0 5G 0 part
└─cryptSWAP 254:1 0 5G 0 crypt [SWAP]
sr0 11:0 1 1024M 0 rom
[babo@Superuser-Playground ~]$ df -Th
Dateisystem Typ Größe Benutzt Verf. Verw% Eingehängt auf
dev devtmpfs 3,5G 0 3,5G 0% /dev
run tmpfs 3,5G 932K 3,5G 1% /run
/dev/mapper/cryptROOT btrfs 926G 3,3G 921G 1% /
tmpfs tmpfs 3,5G 99M 3,4G 3% /dev/shm
tmpfs tmpfs 3,5G 0 3,5G 0% /sys/fs/cgroup
/dev/mapper/cryptROOT btrfs 926G 3,3G 921G 1% /home
[...]
/dev/mapper/cryptROOT btrfs 926G 3,3G 921G 1% /var/cache/pacman/pkg
/dev/mapper/cryptROOT btrfs 926G 3,3G 921G 1% /.snapshots
/dev/sda1 ext4 488M 61M 392M 14% /boot
tmpfs tmpfs 3,5G 8,0K 3,5G 1% /tmp
tmpfs tmpfs 713M 12K 713M 1% /run/user/1000
[babo@Superuser-Playground ~]$ free -h
gesamt benutzt frei gemns. Puffer/Cache verfügbar
Speicher: 7,0Gi 1,3Gi 4,8Gi 120Mi 821Mi 5,3Gi
Swap: 5,0Gi 0B 5,0Gi
[root@Superuser-Playground hooks]# blkid
/dev/sda1: LABEL="BOOT" UUID="af2d2c3a-6137-49e4-bd59-fffa1d546464" TYPE="ext4" PARTUUID="de6696a4-01"
/dev/sda2: UUID="1457d621-9039-4a49-93e6-e48d70841d6d" TYPE="crypto_LUKS" PARTUUID="de6696a4-02"
/dev/sda3: UUID="8fc53169-5cee-43c4-8fb7-6219fa16a2f1" TYPE="crypto_LUKS" PARTUUID="de6696a4-03"
/dev/mapper/cryptROOT: LABEL="ROOT" UUID="36e88f73-d0e4-4453-bd22-c89744210072" UUID_SUB="1e90910c-e929-4b5b-8dc3-1fa4cb429e75" TYPE="btrfs"
/dev/mapper/cryptSWAP: LABEL="SWAP" UUID="fc38fbe4-2ac5-4deb-9f9a-43190314b189" TYPE="swap"
[root@Superuser-Playground hooks]# cat /etc/default/grub
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=fc38fbe4-2ac5-4deb-9f9a-43190314b189"
GRUB_CMDLINE_LINUX="cryptdevice=UUID=1457d621-9039-4a49-93e6-e48d70841d6d:cryptROOT"
GRUB_ENABLE_CRYPTODISK=y
......
[root@Superuser-Playground hooks]# cat /etc/initcpio/hooks/openswap
run_hook ()
{
## to avoid race conditions
x=0;
while [ ! -b /dev/mapper/cryptROOT ] && [ $x -le 10 ]; do
x=$((x+1))
sleep .02
done
## race finished
mount /dev/mapper/cryptROOT /mnt
cryptsetup open --key-file /etc/keyfile-cryptSWAP /dev/sda3 cryptSWAP
umount /mnt
}
[root@Superuser-Playground hooks]# cat /etc/initcpio/install/openswap
build ()
{
add_runscript
}
help ()
{
cat<<HELPEOF
This opens the swap encrypted partition /dev/sda3 in /dev/mapper/cryptSWAP
HELPEOF
}
[root@Superuser-Playground hooks]# cat /etc/mkinitcpio.conf
...
HOOKS=(base udev autodetect keymap keyboard modconf block encrypt openswap resume filesystems fsck)
...
_______
bei den Befehlen
grub-mkconfig -o /boot/grub/grub.cfg
sudo mkinitcpio -p linux
sind keine Probleme aufgetreten.
Ich bin mir relativ sicher, dass das Problem in Hook /etc/initcpio/hooks/openswap besteht, denn bis dahin scheint er ja zu kommen.
Ich habe diese Seite als Vorbild benutzt:
https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption#mkinitcpio_hook
nur haben die Aktionen mit mkdir für mich keinen Sinn gemacht, weshalb ichs einfach direkt auf /mnt gemountet habe.
Ebenso wusste ich nichts mit der Zeile:
kernel /vmlinuz-linux cryptdevice=/dev/sda2:rootDevice root=/dev/mapper/rootDevice resume=/dev/mapper/swapDevice ro
anzufangen und wo oder ob ich diese irgendwo einzufügen habe.
zuvor hatte ichs mit dem Packet mkinitcpio-openswap versucht, allerdings hat er dort nie den Schlüssel gefunden und ich musste auch jedesmal 90s+ warten.
Ich wollte die einzelnen einträge in [spioler] packen, allerdings scheint diese Option deaktiviert.
Vielen Dank im Vorraus!
proto