Archlinux install instructions
This commit is contained in:
131
linux/arch/installation.md
Normal file
131
linux/arch/installation.md
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
# Installationsanleitung
|
||||||
|
|
||||||
|
## Festplatte vorbereiten
|
||||||
|
|
||||||
|
Wir wollen die folgende Aufteilung für unsere Partitionen:
|
||||||
|
|
||||||
|
| Name | Mountpoint | Größe | Dateisystem | Partitionstyp |
|
||||||
|
| UEFI System Partition & boot | /boot | 1 GB | vfat | `0xEF00` (EFI System) |
|
||||||
|
| Swap | swap | 16 GB | swap | `0x8200` (Linux swap) |
|
||||||
|
| Root | / | Rest | ext4 | `0x8300` (Linux filesystem) |
|
||||||
|
|
||||||
|
### Partitionerung
|
||||||
|
|
||||||
|
Man kann /boot und die UEFI System Partition zusammenfassen.
|
||||||
|
|
||||||
|
Die Partitonierung kann man mit `gdisk` oder `cgdisk` (curses-Frontend für gdisk) machen.
|
||||||
|
`fdisk` sollte natürlich auch funktionieren.
|
||||||
|
|
||||||
|
### Dateisysteme
|
||||||
|
|
||||||
|
`ext4` ist nicht vorgegeben, ich nutze es nur.
|
||||||
|
|
||||||
|
Kurze Erklärung der benutzten Schalter:
|
||||||
|
* `mkfs.fat`
|
||||||
|
* `-F` - Setzt die `FAT_SIZE` (8, 16 oder 32), also die Größe der "file allocation tables"
|
||||||
|
* `-n` - Setzt den Namen des Dateisystems
|
||||||
|
* `mkswap` bzw. `mkfs.ext4`
|
||||||
|
* `-L` - Setzt das Label (bzw. den Namen) des Dateisystems
|
||||||
|
|
||||||
|
```
|
||||||
|
mkfs.fat -F 32 -n EFIBOOT /dev/<partition1>
|
||||||
|
mkswap -L swap /dev/<partition2>
|
||||||
|
mkfs.ext4 -L root /dev/<partition3>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Partitionen einhängen
|
||||||
|
|
||||||
|
Wir mounten die root-Partition nach `/mnt`. Dann erstellen wir das `/boot`-Verzeichnis und mounten EFIBOOT dorthin.
|
||||||
|
Als letztes aktivieren wir die Swappartition.
|
||||||
|
|
||||||
|
```
|
||||||
|
mount -L root /mnt
|
||||||
|
mkdir -p /mnt/boot
|
||||||
|
mount -L EFIBOOT /mnt/boot
|
||||||
|
swapon -L swap
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installation und Konfiguration des Basissystems
|
||||||
|
|
||||||
|
### Die Grundpakete
|
||||||
|
|
||||||
|
Auswahl des Mirrors in `/etc/pacman.d/mirrorlist` (Noch im Kontext des USB-Sticks)
|
||||||
|
|
||||||
|
`pacstrap` bootstrapt das Basissystem nach `/mnt`. Es installiert die angegebenen Pakete bzw. Paketgruppen.
|
||||||
|
|
||||||
|
* base bzw. base-devel - Eine Gruppe von Basispaketen
|
||||||
|
* linux bzw. linux-firmware - Der Kernel und die Firmware
|
||||||
|
* vim - Ein Editor
|
||||||
|
* efibootmgr - "Editor" für die EFI-Systemvariablen
|
||||||
|
* dosfstools - Tools, um mit Fat-Dateisystemen umzugehen
|
||||||
|
* gptfdisk - `gdisk` bzw. `cgdisk` - Partionierungstools, die mit GPT umgehen können
|
||||||
|
* bash-completion - Autovervollständigung für die Bash
|
||||||
|
* intel-ucode - CPU-spezifischer Microcode
|
||||||
|
* netctl - Ein einfacher Netzwerkmanager
|
||||||
|
|
||||||
|
```
|
||||||
|
pacstrap /mnt base base-devel linux linux-firmware vim efibootmgr dosfstools gptfdisk bash-completion intel-ucode netctl man-db man-pages
|
||||||
|
```
|
||||||
|
|
||||||
|
### Die Dateisystemtabelle anlegen
|
||||||
|
|
||||||
|
Oder auch `fstab`, auch hier wieder mit UUIDs (`-U`)
|
||||||
|
|
||||||
|
```
|
||||||
|
genfstab -Up /mnt > /mnt/etc/fstab
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Konfiguration
|
||||||
|
|
||||||
|
Wechsel ins chroot
|
||||||
|
|
||||||
|
```
|
||||||
|
arch-chroot /mnt/
|
||||||
|
```
|
||||||
|
|
||||||
|
Do config yadda yadda
|
||||||
|
|
||||||
|
### Konfiguration von systemd-bootctl (Gummiboot)
|
||||||
|
|
||||||
|
Wir wollen **systemd-bootctl** benutzen. Das verkürzt die Bootzeit, da direkt über UEFI gebootet wird.
|
||||||
|
Um die Verwechslungsgefahr der Partitionen zu verringern, benutzen wir die UUIDs der Partitionen.
|
||||||
|
Herausfinden kann man die UUIDs mit dem Befehl `blkid`.
|
||||||
|
|
||||||
|
|
||||||
|
Wir erstellen die Datei `/boot/loader/entries/arch-uefi.conf` und fügen folgendes ein:
|
||||||
|
|
||||||
|
```
|
||||||
|
title Arch Linux
|
||||||
|
linux /vmlinuz-linux
|
||||||
|
initrd /initramfs-linux.img
|
||||||
|
options root=UUID=<UUID der root-Partition> rw resume=UUID=<UUID der swap-Partition>
|
||||||
|
```
|
||||||
|
|
||||||
|
Um den Fallback verwenden zu können, legen wir die Datei `/boot/loader/entries/arch-uefi-fallback.conf`an:
|
||||||
|
|
||||||
|
```
|
||||||
|
title Arch Linux Fallback
|
||||||
|
linux /vmlinuz-linux
|
||||||
|
initrd /initramfs-linux-fallback.img
|
||||||
|
options root=UUID=<UUID der root-Partition> rw resume=UUID=<UUID der swap-Partition>
|
||||||
|
```
|
||||||
|
|
||||||
|
In der Datei `/boot/loader/loader.conf` können wir die generelle Konfiguration des Bootloaders bearbeiten.
|
||||||
|
Der `default`-Eintrag gibt an, welcher Eintrag des Bootloaders als Standard gestartet werden soll.
|
||||||
|
Er bezieht sich auf die Dateinamen der Einträge im `entries` Verzeichnis. Wir wählen `arch-uefi`.
|
||||||
|
Außerdem kann man den `timeout` angeben, also die Zeit, bis der Standardeintrag automatisch gestartet wird.
|
||||||
|
|
||||||
|
```
|
||||||
|
default arch-uefi
|
||||||
|
timeout 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Netctl
|
||||||
|
|
||||||
|
Anlegen von Config: `/etc/netctl/<Config-Name>`
|
||||||
|
|
||||||
|
```
|
||||||
|
netctl enable <Config-Name>
|
||||||
|
netctl start <Config-Name>
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user