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