arch linux von verschlüsselter SSD

Sunday, August 11. 2013

Das Thema ist an sich gut dokumentiert, hier ein paar Links:

https://wiki.archlinux.org/index.php/Encrypted_LVM

https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS

https://wiki.archlinux.de/title/Festplatte_verschl%C3%BCsseln

http://www.marcstraube.de/linux/2012/08/installation-von-archlinux-mit-verschlusseltem-lvm-und-systemd/

 
Medium mit Rauschen initialisieren:
# frandom ist ein wenig schneller /dev/random und dcfldd ist ein erweitertes dd und gibt dem Ungeduldigen eine Fortschrittsanzeige
dcfldd if=/dev/frandom of=/dev/sdb   
 
# für Neugierige und Kontroll-freaks ist
# lde ein DiskEditor, mit dem man sich anschliessend ansehen kann, was nun auf der disk steht
 
lde /dev/sdb   
 
# SSD partitinieren, da wir syslinux einsetzen werden, brauchen wir nur zwei Partitionen für boot und den verschluesselten Rest 
# gdisk ist gpt fdisk, GPT ist bei mehr als 2 TB angesagt
 
gdisk /dev/sdb  
 
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          100351   48.0 MiB    8300  Linux filesystem
   2          100352       250069646   119.2 GiB   8E00  Linux LVM
 
# jetzt luks auf die grosse Partition, vorher einen langen, gut merkbaren Pass-Satz ausdenken
cryptsetup -y  -h sha512 --align-payload=8192 luksFormat /dev/sdb2
cryptsetup luksOpen --allow-discards /dev/sdb2 clvm 
 
# und jetzt die logischen Partitionen der LVM anlegen
pvcreate  --dataalignment 4M /dev/mapper/clvm
vgcreate ssd /dev/mapper/clvm
lvcreate -L 20G ssd -n rootvol
lvcreate -L 80G ssd -n homevol
lvcreate -l 100%FREE ssd -n varvol
 
# boot formatieren, 
mkfs.ext2 /dev/sdb1 -L boot
 
# die übrigen volumes bekommen ext4
mkfs.ext4  -E discard /dev/mapper/ssd-rootvol -L root
mkfs.ext4  -E discard /dev/mapper/ssd-homevol -L home
mkfs.ext4  -E discard /dev/mapper/ssd-varvol -L var
 
# standardmaessig werden immer 5% für root reserviert, auf home brauchen wir das nicht
tune2fs -m 0 /dev/mapper/ssd-homevol
 
# so jetzt kann man sie schon mounten und mit der Installation beginnen
mkdir /mnt/sdb2
mount /dev/ssd/rootvol /mnt/sdb2
mkdir /mnt/sdb2/home
 
mkdir /mnt/sdb2/var
mkdir /mnt/sdb2/boot
mount /dev/sdb1 /mnt/sdb2/boot
mount /dev/ssd/homevol /mnt/sdb2/home
 
mount /dev/ssd/varvol /mnt/sdb2/var
 
# damit die naechsten Schritte aus einem installierten Arch-System (statt archiso) gehen, 
# müssen die arch-install-scripts installiert sein
 
pacstrap /mnt/sdb2 base base-devel syslinux
 
syslinux-install_update -i -a -m -c /mnt/sdb2
 
# das legt uU in /boot/syslinux/ diverse symlinks an, was natuerlich nicht funktioniert,
# wenn die Bootpartition alleine und das Ziel der Links noch verschluesselt ist.
# Also kontrollieren und ggf statt der symlinks die echten dateien einkopieren.
 
# Die erzeugte /boot/syslinux/syslinux.cfg wird man auch kontrollieren und editieren wollen.
# wenn man statt der device -Pfade UUIDs einsetzen will, sieht ein funktionierender Eintrag etwa so aus:
 
LABEL arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=/dev/mapper/ssd-rootvol cryptdevice=UUID=c30af807-1234-1234-1234-5ae7f6803b4d:ssd:allow-discards rw lang=de locale=de_DE.UTF-8
        INITRD ../initramfs-linux.img
 
# fstab erzeugen
#  (-U nutzt die UUID, anschliessend ist Handarbeit angesagt, wg swap etc.
# nuetzlich kommt blkid mit einer Liste aller partitionen und deren Bezeichnungen)
genfstab -U -p /mnt/sdb2 >> /mnt/sdb2/etc/fstab  
 

Anschliessend kann man in das neue System booten und normal installieren...

Und? Ist die SSD wirklich so rasend schnell, bzw. bringt sie überhaupt auf einem älteren Board mit legacy SATA etwas? Und wird die Performance nicht von der Ver-/Entschlüsselung komplett wieder aufgefressen?

Die Stoppuhr sagt: fast doppelt so schnell. Von der alten Platte ist die Kiste in 32sec. beim LoginScreen des KDM und braucht danach noch einmal 18 sec., bis der Desktop sichtbar wird. Von der neuen Platte sind es 16 sec und danach 14.

 

(Page 1 of 1, totaling 1 entries)