Anleitung zur Gentoo-Einrichtung mit vollständiger Festplattenverschlüsselung unter Verwendung von LUKS+LVM

Anleitung zur Gentoo-Einrichtung mit vollständiger Festplattenverschlüsselung unter Verwendung von LUKS+LVM

Ich suche nach einer Möglichkeit, das folgende Setup in Gentoo durchzuführen:

/dev/sda1 -> /boot (ext2)
/dev/sda2 -> Luks encrypted
|
+-lvm-vg1
  |
  +- /dev/mapper/root-fs -> / (ext4)
  +- /dev/mapper/swap    ->   (swap)

Es handelt sich grundsätzlich um dasselbe Setup, das Ubuntu bei einer grafischen Installation durchführen würde.

Ich weiß zwar, wie man LUKS und sogar das LVM-Setup manuell einrichtet, aber ich stecke fest, wenn ich es beim Booten zusammenstelle. Wie sage ich dem Kernel und Grub, dass sie die LUKS-Partition entsperren und die richtigen LVM-Partitionen mounten sollen?

Antwort1

Also, ich habe es herausgefunden:

Ich habe die Platte gemäß Handbuch teilweise partitioniert:

# parted -a optimal /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted)mklabel gpt

(parted)unit mib

(parted)mkpart primary 1 3
(parted)name 1 grub
(parted)set 1 bios_grub on

(parted)mkpart primary 3 131
(parted)name 2 boot
(parted)mkpart primary 131 -1
(parted)name 3 lvm

(parted)set 2 boot on
(parted)q

Die einzige Änderung, die ich vorgenommen habe, war, keine Swap- und Root-Partition zu erstellen, sondern eine einzelne Partition zu erstellen und sie lvm zu nennen (der Name ist egal). Als nächstes habe ich LUKS eingerichtet:

# Load the dm-crypt module (probably not nessesary)
modprobe dm-crypt

# Crypt the partition we named lvm (in my case that would be /dev/sda3)
cryptsetup -c aes-cbc-essiv:sha256 -v luksFormat -s 256 /dev/sda3

# Open the luks volume
cryptsetup luksOpen /dev/sda3 sda3-luks

# Setup a LVM physical volume 
lvm pvcreate /dev/mapper/sda3-luks

# Setup a volume group
lvm vgcreate vg0 /dev/mapper/sda3-luks

Richten Sie anschließend die eigentlichen Lautstärken ein:

# Fist setup the swap volume
lvm lvcreate -L 2048M vg0
# Then check how many 'extends' are free (Free PE) using lvm vgdisplay
# use that number to use up the rest of the space:
lvm lvcreate -l 7809 vg0

Im Übrigen folgen wir grundsätzlich dem Handbuch, außer dort, wo Sie normalerweise Dinge für /dev/sda3(swap) oder /dev/sda4(root) tun würden, wo Sie jetzt /dev/mapper/vg0-lvol0(swap) und verwenden würden /dev/mapper/vg0-lvol1.

Wichtig ist, beim Generieren des Kernels (ich habe genkernelhierfür den Kernel verwendet) zuerst cryptsetup mit zu installieren emerge -av cryptsetupund dann genkernelmit den folgenden Parametern auszuführen:

genkernel --luks --lvm --busybox --menuconfig all

Stellen Sie sicher, dass der Kernel LVM und die ausgewählten Hash- und Verschlüsselungsalgorithmen unterstützt (in meinem Fall aesund sha256). Folgen Sie dann weiterhin dem Handbuch, bis Sie die grub-config starten.

Vor dem Ausführen grub2-mkconfigsollten Sie die Datei bearbeiten /etc/defaults/grub. (Ich möchte der Vollständigkeit halber anmerken, dass ich nicht sicher bin, ob dies die beste Lösung ist, aber bei mir funktioniert es.)

In diese Datei habe ich Folgendes eingefügt (suchen Sie den Parameter und entfernen Sie die Kommentarzeichen):

GRUB_CMDLINE_LINUX="crypt_root=UUID=<uuid of sda3> dolvm"

Die richtige UUID finden Sie mit ls -l /dev/disk/by-uuid. Danach grub2-mkconfigsollten Sie sowohl den Kernel als auch das Initramfs in finden /boot. Folgen Sie auch hier dem Handbuch und nach dem Neustart sollten Sie eine Passwortabfrage erhalten.

Hoffe, das hilft anderen.

verwandte Informationen