Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Für eigene Zwecke)
(Zwischenspeichern Entwurf)
(60 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Nur für eigene Zwecke:
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}{{SEITENTITEL:sway}}{{righttoc}}
Hier auf dieser Seite gibt es nur chaotische Arbeitsnotizen


{{löschen}}
(Neu-Gliederung der Artikelserie)<br><br>
{{veraltet}}
Dieser Artikel behandelt die Installation eines ArchLinux-Grundsystems mit verschlüsseltem [[LVM]] und der kompletten Integration von [[systemd]]. Die Anleitung wurde unter Verwendung der Installations-Medien 2015.07.01 (archlinux-2015.07.01-dual.iso) erstellt. Die Installation sollte aber auch mit zukünftigen Medien (zumindest vorerst) nicht großartig anders verlaufen.


== Installationsmedium vorbereiten ==
[[spicker | Arch Linux Installations Spickzettel]]<br>
* Das Installations-Image von http://www.archlinux.org/download/ herunterladen.
<b>2. Installation des Grundsystems bei BIOS-Rechnern</b><br>
* Das Image auf CD brennen oder unter einem funktionierendem Linux-System (z. B. Live-CD) auf einen USB-Stick kopieren. Dies funktioniert wie folgt:


dd if=archlinux.iso of=/dev/sdx
* a) ROOT
* b) ROOT + SWAP
* c) Verschlüsseltes ROOT + SWAP<br>


(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)<br><br>
-------------------
<b>a) ROOT</b><br>
(Die Einrichtung einer [[Swap#Swapdatei | Swap-Datei]]) ist nachtraeglich moeglich)<br><br>


== Installation starten ==
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
* Nun wird vom vorbereiteten Installations-Medium gebootet.
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
* Auf der Konsole angekommen, wird zuerst einmal das deutsche Tastatur-Layout geladen.
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


root@archiso ~ # loadkeys de-latin1
<u>Formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br><br>


Da das Layout derzeit noch auf Englisch eingestellt ist, muss '''z''' anstatt '''y''' und '''ß''' anstatt '''-''' eingegeben werden.
<u>Mounten:</u><br>
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br><br>


== Festplatte vorbereiten ==
<u>Installation der Basispakete</u><br>
* Jetzt wird es Zeit, die Festplatten zu partitionieren. Dies kann bei Bios-Boot Systemen und Festplatten bis 2TB mit [[fdisk]], ansonsten immer mit [[gdisk]] durchgeführt werden. Für das System mit LVM werden zwei Partitionen erstellt:
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano</code><br><br>
'''sda1''' mit einer Größe von 100 MB und boot-Flag (dies wird später die Boot-Partition)


'''sda2''', welche den Rest der Festplatte einnimmt (hier wird das verschlüsselte LVM abgelegt)
<u>Installation von Microcode:</u><br>
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>


<u>fstab erzeugen:</u><br>
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


* Zur Sicherheit wird die Festplatte jetzt überschrieben:
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


root@archiso ~ # shred -v /dev/sda2


Standardmäßig wird dieser Vorgang drei Mal durchgeführt, wobei ein Durchgang bei einer ca. 2 TB großen Festplatte schon mal fünf bis sechs Stunden in Anspruch nehmen kann.
Weiter siehe Kapitel [[3._Konfigurationtion|3. Konfiguration]]<br><br>
----------
<b>b) ROOT + SWAP</b>


* Wer deswegen den Vorgang nur einmal durchführen möchte, kann stattdessen folgenden Befehl ausführen:
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>-4G</code> - Letzten Sektor -4GiB<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|t}}</code> – Partitionstyp waehlen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer 2 bestaetigen<br>
<code style=font-size:12px>82</code> – Partitionstyp auf 'Linux swap' setzen<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


shred -v -n 1 /dev/sda2
<u>Formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br>
<code style=font-size:12px>mkswap -L SWAP /dev/'''x'''2</code><br><br>


== Verschlüsseltes LVM einrichten ==
<u>Mounten:</u><br>
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br>
<code style=font-size:12px>swapon /dev/'''x'''2</code><br><br>


* Jetzt werden die benötigte Kernel-Modul für die Verschlüsselung geladen:
<u>Installation der Basispakete</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano</code><br><br>


root@archiso ~ # modprobe dm-crypt
<u>Installation von Microcode:</u><br>
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>


* Anschließend wird sda2 verschlüsselt:
<u>fstab erzeugen:</u><br>
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


root@archiso ~ # cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


Für Volumes größer als 2 TiB sollte aes-xts-plain64 verwendet werden. Kernelunterstützung hierfür gibt es seit Kernel 2.6.33. Die Option aes-xts-plain64 kann auch für Volumes kleiner 2 TiB verwendet werden.
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
-------------------------------------------------------------------------------------
<b>c) Verschlüsseltes Root + SWAP</b>


* Die Eingabeaufforderung mit YES bestätigen und anschließend ein sicheres Passwort vergeben. Hierbei sollten schon 20 Zeichen inkl. Sonderzeichen und Zahlen verwendet werden.
Die Partitionierung ist wie in Abschnitt b) vorzunehmen<br>
* Jetzt wird die verschlüsselte Partition geöffnet und das LVM eingerichtet:


cryptsetup luksOpen /dev/sda2 lvm
<u>Root Partiton verschluesseln:</u><br>
pvcreate /dev/mapper/lvm
<code style=font-size:12px>cryptsetup luksFormat --type luks1 /dev/'''x'''1</code><br><br>
vgcreate main /dev/mapper/lvm
lvcreate -L 200GB -n root main
lvcreate -L 8GB -n swap main
lvcreate -l 100%FREE -n home main


Je nach Festplattengröße und/oder zukünftiger Erweiterung des Grundsystems kann auch eine geringere Größe für das root-Volume (-n root) festgelegt werden. Wenn das home-Volume (-n home) nicht den verbleibenden Platz komplett ausfüllt, können später LVM-Snapshots erstellt werden. Dazu kann - wie bei den anderen lvcreate-Befehlen - eine geringere Größe angegeben werden, zum Beispiel -L 50GB.
<u>Partitonen oeffnen und mappen:</u><br>
<code style=font-size:12px>cryptsetup open /dev/'''x'''1 root</code><br>
<code style=font-size:12px>cryptsetup open /dev/'''x'''2 swap</code><br><br>


* Mit mkfs wird nun das Dateisystem auf die Partitionen geschrieben. Bei boot muss mit -O die 64-Bit-Fähigkeit deaktiviert werden, weil syslinux nur von einem 32-Bit-Dateisystem booten kann.
<u>Formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/mapper/root</code><br>
<code style=font-size:12px>mkswap -L SWAP /dev/mapper/swap</code><br><br>


mkfs.ext4 -L root /dev/mapper/main-root
<u>Mounten:</u><br>
mkfs.ext4 -L home /dev/mapper/main-home
<code style=font-size:12px>mount /dev/mapper/root /mnt</code><br>
mkfs.ext4 -L boot -O '^64bit' /dev/sda1
<code style=font-size:12px>swapon /dev/mapper/swap</code><br><br>
mkswap -L swap /dev/mapper/main-swap


* Dann werden die Partitionen gemountet:
<u>Installation des Filesystems und der Pakete:</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware '''('''intel-ucode '''oder''' amd-ucode''')''' nano cryptsetup grub networkmanager iwd</code><br><br>


mount /dev/mapper/main-root /mnt
<u>fstab erzeugen:</u><br>
mkdir /mnt/home
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>
mount /dev/mapper/main-home /mnt/home
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot


== Basissystem und Bootloader installieren ==
<u>Chrooten:</u><br>
* Vor der Installation des Basissystems sollte zunächst die Internetverbindung getestet werden:
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


  root@archiso ~ # ping -c 3 www.google.com
<code style=font-size:12px>nano /etc/fstab</code><br>
<u>Und wie folgt anpassen</u><br>
<code style=font-size:12px># UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code><br>
<code style=font-size:12px>/dev/mapper/root /      ext4    rw,relatime        0 1</code><br><br>
<code style=font-size:12px># UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code><br>
<code style=font-size:12px>/dev/mapper/swap  swap    swap    defaults,noatime    0 0</code><br><br>


* Besteht keine Verbindung, sollte folgender Befehl Abhilfe schaffen:
<code style=font-size:12px>nano /etc/crypttab</code><br>
<u>Die swap-Zeile auskommentieren</u><br>
<code style=font-size:12px>swap /dev/'''x'''1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256</code><br><br>


root@archiso ~ # dhcpcd
(Schlüsseldatei klappt noch nicht)<br>
<u>Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:</u><br>
<code style=font-size:12px>dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin</code><br>
<code style=font-size:12px>cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin</code><br>
<code style=font-size:12px>chmod 000 /keyfile.bin</code><br><br>


* In der Mirrorliste sollten alle weit entfernten Server jetzt mit '''#''' auskommentiert werden.
<u>mkinitcpio.conf anpassen:</u><br>
<code style=font-size:12px>nano /etc/mkinitcpio.conf</code><br>
<u>Die Zeile 'FILES=' ergaenzen:</u><br>
<code style=font-size:12px>FILES=(/keyfile.bin)</code><br>
<u>Die Zeile 'HOOKS=' in dieser Reihenfolge anpassen:</u><br>
<code style=font-size:12px>HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"</code><br>
<u>Neues initramfs erzeugen</u><br>
<code style=font-size:12px>mkinitcpio -P linux</code><br><br>


nano /etc/pacman.d/mirrorlist
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>


Dies kann bei der Installation Geschwindigkeitsvorteile von ca. 30 Minuten bringen.
-------------------------------------------------------------------------
<b>Entwurf Artikel: 3. Konfiguration</b>


* Dann wird das Basissystem inkl. Bootloader (in diesem Fall [[Syslinux]]) installiert.
Letztes siehe Kapitel 2.[[spicker | Arch Linux Installations Spickzettel]]<br>


root@archiso ~ # pacstrap /mnt base base-devel syslinux nano linux linux-firmware mkinitcpio lvm2 dhcpcd
<b>3. Konfiguration:</b><br>


* Nach der Basis-Installation wird syslinux in den MBR von sda geschrieben:
<code style=font-size:12px>echo '''mein-rechner''' > /etc/hostname</code><br>
<code style=font-size:12px>echo LANG=de_DE.UTF-8 > /etc/locale.conf</code><br>
<code style=font-size:12px>echo KEYMAP=de-latin1 > /etc/vconsole.conf</code><br>
<code style=font-size:12px>echo FONT=lat9w-16 >> /etc/vconsole.conf</code><br>
<code style=font-size:12px>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</code><br><br>


root@archiso ~ # syslinux-install_update -i -a -m -c /mnt
<code style=font-size:12px>nano /etc/locale.gen</code><br>
<u>Und das # am Anfang folgender Zeilen entfernen:</u><br>
<code style=font-size:12px>#de_DE.UTF-8 UTF-8</code><br>
<code style=font-size:12px>#de_DE ISO-8859-1</code><br>
<code style=font-size:12px>#de_DE@euro ISO-8859-15</code><br>
<code style=font-size:12px>#en_US.UTF-8 UTF-8</code><br>


* Dann wird syslinux konfiguriert:
<code style=font-size:12px>locale-gen</code><br><br>


root@archiso ~ # nano /mnt/boot/syslinux/syslinux.cfg
<u>Das Root Password erstellen:</u><br>
<code style=font-size:12px>passwd</code><br><br>


* Die APPEND-Zeile muss bei beiden Einträgen (arch und archfallback) angepasst werden:
<u>Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:</u><br>
<code style=font-size:12px>useradd -m -g users -s /bin/bash '''duda'''</code><br>
<code style=font-size:12px>passwd '''duda'''</code><br>
<code style=font-size:12px>usermod -aG wheel,audio,video,power '''duda'''</code><br><br>


APPEND cryptdevice=/dev/sda2:main root=/dev/mapper/main-root rw lang=de locale=de_DE.UTF-8
<u>Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:</u><br>
<code style=font-size:12px>EDITOR=nano visudo</code><br>
<u>Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:</u><br>
<code style=font-size:12px># %wheel ALL=(ALL) ALL</code><br><br>


== System konfigurieren ==
<u>Weitere Dienste installieren:</u><br>
* Nun wird die Swap-Partition aktiviert:
<code style=font-size:12px>pacman -S acpid avahi iwd</code><br><br>


swapon -L swap
<u>Dienste aktivieren:</u><br>
<code style=font-size:12px>systemctl enable acpid</code> - Energieverwaltung<br>
<code style=font-size:12px>systemctl enable avahi-daemon</code> - Netzwerk Zuweisung<br>
<code style=font-size:12px>systemctl enable NetworkManager</code> - Netzwerkmanager<br>
<code style=font-size:12px>systemctl enable iwd</code> - WLAN Daemon</u><br>
<code style=font-size:12px>systemctl enable systemd-timesyncd</code> - Zeit Synchronisation<br><br>


* Dann wird die [[fstab]] generiert und im Editor kontrolliert:
-------------------------------------------------------------------------------------
<b>Entwurf Artikel: 4. Bootloader für BIOS-Rechner</b>


genfstab -U -p /mnt >> /mnt/etc/fstab
Letztes Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
nano /mnt/etc/fstab


* Jetzt wird in die chroot-Umgebung gewechselt:
<b>4. Bootloader für BIOS-Rechner</b><br>
* a) Grub
* b) syslinux
* c) Grub crypted ROOT+SWAP<br><br>
---------------------------------------------------------------------------------------
<b>a) Grub</b>


arch-chroot /mnt
<u>Grub installieren:</u><br>
<code style=font-size:12px>pacman -S grub</code><br>
<code style=font-size:12px>grub-install /dev/'''x'''</code><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>


* Spracheinstellungen werden in /etc/locale.conf festgelegt:
<u>Chrootumgebung verlassen und Partitionen loesen:</u><br>
{{hc|1=/etc/locale.conf|2=<nowiki>LANG="de_DE.UTF-8"
<code style=font-size:12px>exit</code><br>
<code style=font-size:12px>umount /mnt</code><br><br>


# Keep the default sort order (e.g. files starting with a '.'
<code style=font-size:12px>poweroff</code><br>
# should appear at the start of a directory listing.)
<u>ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen  </u><br><br>
LC_COLLATE="C"


LC_TIME="de_DE.UTF-8"</nowiki>}}
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]


* /etc/locale.gen wird editiert und die locales generiert:
----------------------------------------------------------------------------------------------
<b>c) Grub crypted ROOT+SWAP</b><br>


nano /etc/locale.gen
<u>grub installieren falls noch nicht geschehen:</u><br>
<code style=font-size:12px>pacman -S grub</code><br><br>


* '''#''' vor folgenden locales entfernen:
<u>grub konfigurieren:</u><br>
<code style=font-size:12px>nano /etc/default/grub</code><br>
<u>Folgende Zeilen anpassen bzw. auskommentieren</u><br>
<code style=font-size:12px>GRUB_CMDLINE_LINUX="cryptdevice=/dev/'''x'''1:root"</code><br>
<code style=font-size:12px>GRUB_ENABLE_CRYPTODISK=y</code><br>
<u>Initramfs suchen und grub.cfg schreiben:</u><br>
<code style=font-size:12px>grub-install /dev/'''x''' --recheck</code><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>


de_DE.UTF-8 UTF-8
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
de_DE ISO-8859-1
de_DE@euro ISO-8859-15


* locales wird generiert:
----------
 
Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r
locale-gen
 
* Config-Dateien für systemd werden angepasst:
 
echo myhostname >> /etc/hostname
echo KEYMAP=de-latin1 >> /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
echo FONT_MAP=8859-1_to_uni >> /etc/vconsole.conf
 
* Symlink für die Zeitzone wird erstellt:
 
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
 
* /etc/mkinitcpio.conf wird angepasst:
 
nano /etc/mkinitcpio.conf
 
* Die MODULES- und HOOKS-Werte werden entsprechend angepasst:
 
MODULES=(ext4)
HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown)
 
Die hier vorgegebenen Hooks sind für das Booten von einer S-ATA-Festplatte mit einer USB-Tastatur gedacht und müssen daher evtl. angepasst werden. Alle verfügbaren Hooks sind unter https://wiki.archlinux.org/index.php/Mkinitcpio#HOOKS zu finden.
 
== Kernel-Image erstellen und der erste Neustart ==
* Das Kernel-Image wird erstellt mittels:
 
mkinitcpio -p linux
 
* Für root wird ein Passwort angelegt:
 
passwd
 
* Damit per DHCP automatisch eine IP-Adresse beim Bootvorgang bezogen wird, muss jetzt der entsprechende systemd-Dienst aktiviert werden:
 
systemctl enable dhcpcd.service
 
* Anschließend werden die chroot-Umgebung verlassen und die Partitionen ausgehängt:
 
exit
umount /mnt/{boot,home,}
reboot
 
* Der PC startet nun neu und man wird – sofern bisher alles gut gegangen ist – vom Bootloader gefolgt von der Eingabeaufforderung zur Entschlüsselung des cryptdevice begrüßt. Nun ist das Passwort einzugeben. Nachdem der Bootvorgang abgeschlossen ist, muss man sich als root anmelden.
 
 
== systemd einrichten ==
* Sollte das Netzwerk nicht gestartet sein, folgenden Befehl ausführen:
 
dhcpcd
 
* Welche IP-Adresse vergeben wurde, kann mittels ip-Programm festgestellt werden:
 
ip addr
 
* Services für systemd einrichten:
 
systemctl enable cronie.service
 
* Im Falle, dass ein x86_64 System installiert wurde, kann in der /etc/pacman.conf noch das multilib-repo aktiviert werden. Anschließend müssen pacman’s Paketlisten wieder auf den neusten Stand gebracht werden:
 
pacman -Syy
 
* Ein letzter Reboot und man kann damit anfangen, das frisch installierte Arch an die eigenen Bedürfnisse anzupassen.
 
reboot
 
[[Kategorie:Installation]]
[[en:dm-crypt/Encrypting an entire system]]

Version vom 23. April 2024, 01:36 Uhr

„Tuxnix“ wurde von Tuxnix (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Tuxnix (Diskussion) bitte, bevor du den Artikel bearbeitest.


(Neu-Gliederung der Artikelserie)

Arch Linux Installations Spickzettel
2. Installation des Grundsystems bei BIOS-Rechnern

  • a) ROOT
  • b) ROOT + SWAP
  • c) Verschlüsseltes ROOT + SWAP

(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)


a) ROOT
(Die Einrichtung einer Swap-Datei) ist nachtraeglich moeglich)

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
a - Bootsektor aktivieren
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1

Mounten:
mount /dev/x1 /mnt

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt


Weiter siehe Kapitel 3. Konfiguration


b) ROOT + SWAP

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
-4G - Letzten Sektor -4GiB
a - Bootsektor aktivieren
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
t – Partitionstyp waehlen
↵ Enter - Partitionsnummer 2 bestaetigen
82 – Partitionstyp auf 'Linux swap' setzen
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1
mkswap -L SWAP /dev/x2

Mounten:
mount /dev/x1 /mnt
swapon /dev/x2

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

Weiter siehe Kapitel 3. Konfiguration


c) Verschlüsseltes Root + SWAP

Die Partitionierung ist wie in Abschnitt b) vorzunehmen

Root Partiton verschluesseln:
cryptsetup luksFormat --type luks1 /dev/x1

Partitonen oeffnen und mappen:
cryptsetup open /dev/x1 root
cryptsetup open /dev/x2 swap

Formatieren:
mkfs.ext4 -L ROOT /dev/mapper/root
mkswap -L SWAP /dev/mapper/swap

Mounten:
mount /dev/mapper/root /mnt
swapon /dev/mapper/swap

Installation des Filesystems und der Pakete:
pacstrap /mnt base base-devel linux linux-firmware (intel-ucode oder amd-ucode) nano cryptsetup grub networkmanager iwd

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

nano /etc/fstab
Und wie folgt anpassen
# UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/mapper/root / ext4 rw,relatime 0 1

# UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/mapper/swap swap swap defaults,noatime 0 0

nano /etc/crypttab
Die swap-Zeile auskommentieren
swap /dev/x1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

(Schlüsseldatei klappt noch nicht)
Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:
dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin
cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin
chmod 000 /keyfile.bin

mkinitcpio.conf anpassen:
nano /etc/mkinitcpio.conf
Die Zeile 'FILES=' ergaenzen:
FILES=(/keyfile.bin)
Die Zeile 'HOOKS=' in dieser Reihenfolge anpassen:
HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"
Neues initramfs erzeugen
mkinitcpio -P linux

Weiter siehe Kapitel 3. Konfiguration


Entwurf Artikel: 3. Konfiguration

Letztes siehe Kapitel 2. Arch Linux Installations Spickzettel

3. Konfiguration:

echo mein-rechner > /etc/hostname
echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

nano /etc/locale.gen
Und das # am Anfang folgender Zeilen entfernen:
#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#en_US.UTF-8 UTF-8

locale-gen

Das Root Password erstellen:
passwd

Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:
useradd -m -g users -s /bin/bash duda
passwd duda
usermod -aG wheel,audio,video,power duda

Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:
EDITOR=nano visudo
Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:
# %wheel ALL=(ALL) ALL

Weitere Dienste installieren:
pacman -S acpid avahi iwd

Dienste aktivieren:
systemctl enable acpid - Energieverwaltung
systemctl enable avahi-daemon - Netzwerk Zuweisung
systemctl enable NetworkManager - Netzwerkmanager
systemctl enable iwd - WLAN Daemon
systemctl enable systemd-timesyncd - Zeit Synchronisation


Entwurf Artikel: 4. Bootloader für BIOS-Rechner

Letztes Kapitel 3. Konfiguration

4. Bootloader für BIOS-Rechner

  • a) Grub
  • b) syslinux
  • c) Grub crypted ROOT+SWAP


a) Grub

Grub installieren:
pacman -S grub
grub-install /dev/x
grub-mkconfig -o /boot/grub/grub.cfg

Chrootumgebung verlassen und Partitionen loesen:
exit
umount /mnt

poweroff
ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


c) Grub crypted ROOT+SWAP

grub installieren falls noch nicht geschehen:
pacman -S grub

grub konfigurieren:
nano /etc/default/grub
Folgende Zeilen anpassen bzw. auskommentieren
GRUB_CMDLINE_LINUX="cryptdevice=/dev/x1:root"
GRUB_ENABLE_CRYPTODISK=y
Initramfs suchen und grub.cfg schreiben:
grub-install /dev/x --recheck
grub-mkconfig -o /boot/grub/grub.cfg

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r