Gentoo Linux mit Festplattenverschlüsselung
Installation eines Grundsystems mit Festplattenverschlüsselung
Von
Dennis Schneck
Init-Script anlegen
Das Skript wird in der Datei init gespeichert.
Ohne Schlüsseldatei
#!/bin/sh export PATH=/bin umask 0077 mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t tmpfs tmpfs /dev busybox --install -s echo /bin/mdev > /proc/sys/kernel/hotplug mdev -s sleep 2 while [ ! -e /dev/sdb1 ] ; do cd /dev /bin/busybox mknod sdb1 b 8 17 chmod 666 sdb1 done while ! mount -n -o ro /dev/sdb1 /mnt ; do sleep 2 done # tty fix rm /dev/tty ln -s /dev/console /dev/tty while [ ! -e /dev/mapper/rootfs ] ; do sleep 2 while [ ! -e /mnt/image88.jpg ] ; do echo Keyfile not found! done cryptsetup -c aes-lrw-benbi:sha512 luksOpen /dev/sda5 rootfs -d /mnt/image88.jpg done mount /dev/mapper/rootfs /new-root cryptsetup -c blowfish -h sha256 -d /dev/urandom create swapfs /dev/sda2 mkswap /dev/mapper/swapfs echo > /proc/sys/kernel/hotplug umount -l /mnt /proc /sys /dev exec switch_root /new-root /sbin/init
Mit Schlüsseldatei
Die Schlüsseldatei wird in einer Bilddatei versteckt. Zunächst benötigen wir ein Foto im JPG-Format, wir nennen es hier Wunschbild.jpg.
bzip2 image88.jpg cat Wunschbild.jpg image88.jpg.bz2 > logo.jpg cp logo.jpg /path/to/usbstick
Datei init:
#!/bin/sh export PATH=/bin umask 0077 mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t tmpfs tmpfs /dev busybox --install -s echo /bin/mdev > /proc/sys/kernel/hotplug mdev -s sleep 2 while [ ! -e /dev/sdb1 ] ; do cd /dev /bin/busybox mknod sdb1 b 8 17 chmod 666 sdb1 done while ! mount -n -o ro /dev/sdb1 /mnt ; do sleep 2 done cp /mnt/logo.jpg / /bin/bzip2recover /logo.jpg cd / /bin/busybox bunzip2 `ls rec*.bz2` cd / mv rec*.jpg image88.jpg # tty fix rm /dev/tty ln -s /dev/console /dev/tty while [ ! -e /dev/mapper/rootfs ] ; do sleep 2 while [ ! -e /image88.jpg ] ; do echo Keyfile not found! done cryptsetup -c aes-lrw-benbi:sha512 -s 384 luksOpen /dev/sda5 rootfs -d /image88.jpg done rm -f /image324.jpg mount /dev/mapper/rootfs /new-root cryptsetup -c blowfish -h sha256 -d /dev/urandom create swapfs /dev/sda2 mkswap /dev/mapper/swapfs echo > /proc/sys/kernel/hotplug umount -l /mnt /proc /sys /dev exec switch_root /new-root /sbin/init