BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


void:installation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

void:installation [2018/03/18 21:38] (aktuell)
rakor angelegt
Zeile 1: Zeile 1:
 +====== Verschlüsselte Grundinstallation ======
 +Im Folgenden wird eine Grundinstallation von
 +[[https://​www.voidlinux.eu|void linux]] durchgeführt. Ziel ist eine
 +Desktopinstallation auf einer vollverschlüsselten Festplatte. Als
 +Desktopumgebung kommt //​Cinnamon//​ zum Einsatz.
 +Die Installation erfolgt exemplarisch auf einem Thinkpad x220. Daher
 +kann es sein, dass einige Installationsschritte für dieses Notebook
 +notwendig sind.
  
 +===== Booten =====
 +Zu Beginn wird ein aktuelles Bootmedium von void linux gestartet. Da die
 +Installation manuell durchgeführt wird kann ein minimal
 +Installationsmedium verwendet werden.
 +
 +===== Partitionieren =====
 +Zunächst wird die Festplatte partitioniert. Im Weiteren wird davon
 +ausgegangen,​ dass auf die erste Festplatte ///​dev/​sda//​ installiert wird.
 +
 +<​code>​
 +sudo cfdisk /dev/sda
 +</​code>​
 +
 +Hier wird zunächst ein //dos// Label erstellt. Hintergund hierbei ist,
 +dass es auf dem x220 beim Booten von gpt-Partitionen Probleme geben kann
 +(das ist ein Fehler in alten Lenovo-Firmware).
 +
 +Es wird eine primäre Partition angelegt, welche die komplette Festplatte
 +umfasst. Die Partition wird als //​bootfähig//​ markiert und das
 +Partitionslayout auf die Festplatte geschrieben. Danach kann das
 +Programm verlassen werden.
 +
 +===== Erstellen der Verschlüsselung =====
 +Nun wird ein luks-Container in der gerade erstellten Partition angelegt
 +und geöffnet.
 +<​code>​
 +cryptsetup luksFormat /dev/sda1
 +cryptsetup luksOpen /dev/sda1 crypt-pool
 +</​code>​
 +
 +===== Anlegen des LVM und der Volumes =====
 +Danach wird ein LVM in dem luks-Container angelegt. Es wird eine 20GB
 +Swap-Partition angelegt und der Rest wird für ///// verwendet. An dieser
 +Stelle kann nach eigenen Wünschen Partitioniert werden.
 +<​code>​
 +vgcreate pool /​dev/​mapper/​crypt-pool
 +lvcreate --name swap -L 20G pool
 +lvcreate --name root -l100%FREE pool
 +</​code>​
 +
 +===== Vorbereiten der Partition =====
 +Im Anschluss müssen die angelegten Partitionen vorbereitet werden.
 +
 +<​code>​
 +mkfs.ext4 -L root /​dev/​mapper/​pool-root
 +mkswap -L swap /​dev/​mapper/​pool-swap
 +</​code>​
 +
 +===== Vorbereiten der chroot-Umgebung =====
 +<​code>​
 +mount /​dev/​mapper/​pool-root /mnt
 +mkdir /​mnt/​{dev,​proc,​sys}
 +mount --rbind /dev /mnt/dev
 +mount --rbind /proc /mnt/proc
 +mount --rbind /sys /mnt/sys
 +</​code>​
 +
 +===== Basissystem installieren =====
 +<​code>​
 +xbps-install -S -R http://​repo.voidlinux.eu/​current -r /mnt base-system lvm2 cryptsetup grub
 +</​code>​
 +
 +===== Ins chroot wechseln und Nachkonfigurieren=====
 +<​code>​
 +chroot /mnt /bin/bash
 +passwd root
 +chown root:root /
 +chmod 755 /
 +vi /​etc/​rc.conf
 +</​code>​
 +
 +In der ///​etc/​rc.conf//​ werden die Zeilen folgenden Zeilen angepasst:
 +  * HARDWARECLOCK
 +  * TIMEZONE
 +  * KEYMAP
 +
 +<​code>​
 +echo x220-void >/​etc/​hostname
 +echo "​LANG=de_DE.UTF-8"​ > /​etc/​locale.conf
 +echo "​de_DE.UTF-8 UTF-8" >> /​etc/​default/​libc-locales
 +xbps-reconfigure -f glibc-locales
 +vi /etc/fstab
 +</​code>​
 +
 +Zur ///​etc/​fstab//​ wird folgende Zeile hinzugefügt um den //swap// automatisch
 +zu aktivieren:
 +
 +<​code>​
 +/​dev/​mapper/​pool-swap ​  ​none ​   swap    sw  0   0
 +</​code>​
 +
 +Anschließend wird die Konfiguration des Grub angepasst um von der
 +verschlüsselten Partition starten zu können:
 +
 +<​code>​
 +vi /​etc/​default/​grub
 +</​code>​
 +
 +Die Zeile //​GRUB_CMDLINE_LINUX_DEFAULT//​ wird um den Wert //​rd.auto=1//​
 +ergänzt.
 +Zusätzlich wird die Zeile //​GRUB_ENABLE_CRYPTODISK=y//​ hinzugefügt.
 +Die Konfiguration sollte dann in etwa so aussehen:
 +
 +<​code>​
 +#
 +# Configuration file for GRUB.
 +#
 +GRUB_DEFAULT=0
 +#​GRUB_HIDDEN_TIMEOUT=0
 +#​GRUB_HIDDEN_TIMEOUT_QUIET=false
 +GRUB_TIMEOUT=5
 +GRUB_DISTRIBUTOR="​Void"​
 +GRUB_CMDLINE_LINUX_DEFAULT="​loglevel=4 slub_debug=P page_poison=1 rd.auto=1"​
 +# Uncomment to use basic console
 +#​GRUB_TERMINAL_INPUT="​console"​
 +# Uncomment to disable graphical terminal
 +#​GRUB_TERMINAL_OUTPUT=console
 +GRUB_BACKGROUND=/​usr/​share/​void-artwork/​splash.png
 +GRUB_BACKGROUND=/​usr/​share/​void-artwork/​fire-1073217_1920.jpg
 +#​GRUB_GFXMODE=1920x1080x32
 +#​GRUB_DISABLE_LINUX_UUID=true
 +#​GRUB_DISABLE_RECOVERY=true
 +GRUB_ENABLE_CRYPTODISK=y
 +</​code>​
 +
 +Nachdem die Konfiguration erstellt wurde wird Grub installiert und die
 +initrd neu geschrieben:​
 +
 +<​code>​
 +grub-install /dev/sda
 +xbps-reconfigure -f linux4.14
 +</​code>​
 +
 +Die grundlegende Installation ist an dieser Stelle beendet und kann
 +getestet werden. Hierzu die //​chroot//​-Umgebung verlassen und das System
 +neu Starten.
 +
 +Nun ist ein vollverschlüsseltes System installiert. Jedoch
 +muss beim Booten zweimal das Kennwort zur Entschlüsselung der Festplatte
 +eingegeben werden (einmal für die initrd und einmal zum endgültigen
 +Starten des Systems). Dies wird im folgenden Abschnitt korrigiert.
 +
 +====== Einrichten eines Keyfiles um mehrmalige Passworteingabe zu vermeiden ======
 +Das System sollte sich nun starten lassen, mit dem Nachteil, dass man
 +zweimal das Passwort zur Entschlüsselung der Festplatte eingeben muss.
 +
 +===== Anlegen des Keyfiles =====
 +Es wird ein zufälliges ​ Keyfile erzeugt und dem //​luks//​-Container
 +übergeben. Anschließend wird das Keyfile geschützt indem alle
 +Benutzerrechte darauf entzogen werden.
 +
 +<​code>​
 +dd bs=512 count=4 if=/​dev/​urandom of=/​crypto_keyfile.bin
 +cryptsetup luksAddKey /dev/sda1 /​crypto_keyfile.bin
 +chmod 000 /​crypto_keyfile.bin
 +chmod -R g-rwx,o-rwx /boot
 +</​code>​
 +
 +Nun wird der Key in der ///​etc/​cryptab//​ bekannt gemacht. Hierzu die Datei
 +um folgende Zeile ergänzen:
 +<​code>​
 +crypt-pool ​     /​dev/​sda1 ​       /​crypto_keyfile.bin ​    luks
 +</​code>​
 +
 +Nun muss das Keyfile und die ///​etc/​crypttab//​ noch ins initrd gepackt
 +werden. Hierzu wird die Datei ///​etc/​dracut.conf.d/​10-crypt.conf//​
 +editiert um folgende Zeile ergänzt:
 +<​code>​
 +install_items+="/​crypto_keyfile.bin /​etc/​crypttab"​
 +</​code>​
 +
 +Anschließend wird das initrd neu geschrieben
 +<​code>​
 +xbps-reconfigure -f linux4.14
 +</​code>​
 +
 +Nun sollte das System beim Booten nur noch einmal das Passwort zur
 +Festplattenentschlüsselung anfragen.
void/installation.txt · Zuletzt geändert: 2018/03/18 21:38 von rakor

Impressum