Gentoo ist eine der ältesten Linux-Distributionen, sie wurde immer wieder tot gesagt, hat aber ihre eigene eingeschweißte Linux-Gemeinde. Gentoo ist extrem anpassbar, Sie installieren nur, was Sie wollen und wie Sie es wollen. Sie wollen kein Systemd, lassen Sie es weg – so geht dies mit Gentoo.
Gentoo ist aber nicht wirklich für Linux-Einsteiger gedacht – selbst Arch-Linux-User (nicht Manjaro oder dergleichen), richtige Arch-User könnte man gegen Gentoo-User als Linux-Kindergarten bezeichnen. Wir sehen uns hier die Installation dieser Linux-Distribution etwas näher an.
Gentoo installieren
Es gibt von Gentoo eine Live-DVD:
Zur Installation von Gentoo sollten Sie eine Internet-Verbindung zum Router via Netzwerkkabel haben.
Diese ist allerdings nicht zur Installation gedacht, sie dient nur zur Präsentation, wie Gentoo aussieht. Das Deutsche Handbuch zur Installation finden Sie hier. Das Medium zur Installation hier. Sie laden die „Minimal Installation CD“ herunter – nur noch 64 Bit. Das heruntergeladene Image brennen Sie bootfähig auf eine CD oder kopieren dieses etwa mit der Software Etcher auf einen USB-Stick und starten den Rechner davon:
Sie landen im Bootmenü, sollte es Probleme bei der Installation geben – passen Sie die Boot-Optionen wie in folgendem Artikel beschrieben an Wenn Linux nicht startet, sich nicht installieren lässt – eine Beschreibung der möglichen Boot-Optionen finden Sie hier.
Sie landen recht schnell bei der Auswahl des Tastaturlayouts, warten Sie nicht lange – tippen Sie die 12 für Deutsch ein und bestätigen mit Eingabe.
Nun, wir sind im Live-System angelangt – dies zeigt uns der rote Shell-Prompt. Mehr Grafik brauchen wir uns die nächste Zeit nicht erwarten. Hier haben wir schon root-Rechte, das Passwort sollten wir jedoch schon zu Beginn ändern:
passwd
Geben Sie ein sicheres Passwort ein, bestätigen mit Eingabe und wiederholen dies.
Jetzt sollten wir zusätzlich einen normalen Benutzer anlegen – nicht jeder hat einen zweiten Computer und die Anleitung zur Installation am Smartphone lesen ist nicht wirklich lustig – vor allem müssen Sie zur Installation das Smartphone sicherlich zwei bis dreimal aufladen:
useradd -m -G users robert
In diesem Fall habe ich den normalen Benutzer „robert“ erstellt, jetzt legen wir für diesen das Passwort fest:
passwd robert
Jetzt können wir mit Alt+F2 auf das zweite virtuelle Terminal wechseln und dort mit:
su - robert
auf den normalen Benutzer wechseln:
Jetzt können wir mit dem Webbrowser „links“ die Dokumentation zur Installation öffnen:
links https://wiki.gentoo.org/wiki/Handbook:AMD64/de
Mit Alt+F1 und Alt+F2 wechseln Sie jetzt zwischen Installation und Handbuch hin und her. Haben Sie kein Netzwerkkabel, können Sie es auch mit WLAN versuchen – dies müssen Sie allerdings manuell einrichten:
ip a
Ermitteln Sie erst einmal den Namen der Netzwerkkarten – schlägt dies fehl, müssen Sie erst einmal das richtige Kernel-Modul laden – mehr dazu im Handbuch. Im Screenshot sehen Sie nur normale Netzwerkkarten – jetzt richten wir die WLAN-Karte ein: – dies gelingt über das Handbuch mit wpa_supplicant.
Mit dem Befehl:
fdisk
lassen Sie sich jetzt die vorhandene Partitionierung anzeigen:
Genauere Informationen erhalten wir, indem wir die gewünschte Festplatte mit angeben – nach meinem Beispiel etwa:
fdisk /dev/vda
Anschließend drücken Sie die Taste „p„:
Mit „g“ können wir jetzt die komplette Festplatte löschen und eine GPT-Partitionstabelle anlegen. Mit „d“ können wir einzelne Partitionen löschen – anschließend werden Sie gefragt, welche. Nun, ich habe die komplette Platte gelöscht – Wichtig – nutzen Sie GPT nur, wenn Sie auch UEFI nutzen.:
Nun, ich will erst einmal eine SWAP-Partition erstellen – nutzen Sie einen UEFI-Rechner, müssen Sie auch eine solche Partition anlegen. Da ich hier in einer VM arbeite, brauche ich eine solche nicht. Ich drücke „n“ um eine Partition anzulegen, bestätige mit Eingabe – das System fragt nun „1„, Sie bestätigen, ebenfalls den Sektor – jetzt geben Sie die Größe an, mit „+1G
“ wird diese Partition 1 Gigabyte groß:
Die Nachfrage nach der Signatur bestätigen wir durch „n„, jetzt geben wir das Dateisystem an – wir wählen die Partition aus, mit „t“ und „1„. Mit „L“ können wir uns jetzt alle Typen anzeigen lassen:
„19“ ist SWAP, wir beenden die Ausgabe mit „q“ und geben „19
“ ein. Dasselbe jetzt mit der Systempartition „/“ – wir geben „n“ ein, bestätigen mit „2“ für die zweite Partition, bestätigen den ersten zu nutzenden Sektor und geben anschließend die Größe der zu erstellenden Partition an – dies wiederholen Sie, wenn gewünscht für eine extra Home-Partition. Mit „p“ lassen wir uns die Aufteilung der Festplatte jetzt anzeigen – in meinem Fall habe ich eine SWAP- und eine System-Partition:
Dieses Setup bestätigen wir mit „w„. Die Software beendet sich automatisch. Wir haben die Festplatte jetzt aufgeteilt, aber nicht formatiert – eine UEFI-Partition partitionieren wir mit „Fat32“ – im Beispiel nennt sich diese „/dev/sda1„:
mkfs.vfat -F 32 /dev/sda1
Jetzt aktiviere ich die SWAP-Partition – „/dev/vda1„:
mkswap /dev/vda1
swapon /dev/vda1
Anschließend formatiere ich meine System-Partition – „/dev/vda2“ mit EXT4:
mkfs.ext4 /dev/vda2
Jetzt können wir weiter gehen, wir hängen die root-Partition ein. Bei mir nennt sich die root-Partition „/dev/vda2“ – diese gilt es unter „/mnt/gentoo“ einhängen – dazu erstellen wir für jede Partition erst einmal das passende Verzeichnis. Für meine „/dev/vda2„:
mkdir -p /mnt/gentoo/vda2
Dies wiederholen Sie mit allen erstellten Partitionen – außer „SWAP„.
Und anschließend werden alle Partitionen eingehangen – in meinem Beispiel eben nur „vda2„:
mount /dev/vda2 /mnt/gentoo
Wir kontrollieren die Uhrzeit:
date
In meinem Beispiel stimmt die Uhrzeit nicht – ich gebe diese darum manuell ein, später soll das System die Uhrzeit automatisch synchronisieren. Die Syntax funktioniert so:
date MMDDhhmmYYYY
Für „MonatTagStundeMinuteJahr“ – in meinem Beispiel:
date 052101412023
Jetzt kommen wir der eigentlichen Installation etwas näher – wir müssen jetzt entscheiden, wollen wir Multilib (32 und 64 Bit) oder No-Multilib (64 Bit), ich pfeife auf Multilib. Wir wechseln als Erstes in unser Mount-Verzeichnis:
cd /mnt/gentoo/
Jetzt finden wir unter https://www.gentoo.org/downloads/#other-arches, die sogenannten Stages:
Eine Stage ist nichts anderes als eine Variante, 32 und oder 64 Bit, mit oder ohne Systemd, gehärteter Kernel oder nicht, … Ich wähle „Desktop Profile | systemd“ und brauche den Download-Link. In unserem eingehängten Systemverzeichnis laden wir jetzt mit „wget
“ das gewünschte Stage herunter – in meinem Fall:
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20230514T164657Z/stage3-amd64-desktop-systemd-20230514T164657Z.tar.xz
Einfacher funktioniert dies natürlich mit „links“ – dieser wird im Verzeichnis mit:
links https://www.gentoo.org/downloads/mirrors/
gestartet. Hier wählen Sie zu Beginn einen nahen Server, und nutzen Sie die „Snapshots„:
Mit „d“ laden Sie das aktive Archiv herunter. Einfacher ist es ehrlich gesagt mit „wget
„:
Anschließend wird das komprimierte Archiv entpackt:
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Nun geht es an die Optionen für den Compiler – hierzu sollten Sie etwas Ahnung haben – mit den Optionen lässt sich das System optimieren, es funktioniert auch so, aber besser ist das System natürlich optimiert – mehr dazu hier.
Jetzt passen wir noch einige Dateien an – wir kopieren die DNS-Einstellungen:
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Wir hängen alle Dateisysteme ein:
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
Jetzt steigen wir in die eingerichtete Gentoo-Umgebung ein:
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
Wir hängen die Boot-Partition ein – in meinem Beispiel „/dev/vda2„:
mount /dev/vda2 /boot
Jetzt synchronisieren wir das System mit dem Spiegelserver:
emerge-webrsync
Anschließend kommen wir wirklich langsam zum Installieren:
eselect profile list | less
Die Profile dienen dazu unsere Installation direkt anzupassen, hier finden Sie etwa unter anderem auch Desktop-Profile – vor jedem Profil finden Sie eine Nummer, die gewünschte Nummer merken Sie sich, beenden Sie „less
“ mit einem „q“ – in meinem Beispiel nutze ich die „10„:
eselect profile set 10
Jetzt aktualisieren wir die Einstellungen:
emerge --ask --verbose --update --deep --newuse @world
Bestätigen Sie die Nachfrage mit:
yes
Jetzt wird das bisher konfigurierte System erst einmal kompiliert, Sie brauchen nicht einzugreifen – einfach nur abwarten. Jeden Schritt erhalten Sie einen Stand am Fortschritt, in meinem Beispiel sind 57 Schritte nötig, bei mir in der VM dauerte es etwa eine Stunde.
Um das System weiter zu optimieren, können Sie die USE-Flags anpassen, mehr dazu unter USE-Flags.
Jetzt passen wir die Zeitzone an – für Europa und Wien:
echo "Europe/Vienna" > /etc/timezone
Wir konfigurieren das Paket „timezone-data“ (systemd):
ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime
Jetzt passen wir die Sprache an:
nano -w /etc/locale.gen
Hier entfernen wir das Doppelkreuz vor der Deutschen und Englischen Sprache:
Speichern mit Strg+o, bestätigen mit Eingabe, Editor schließen mit Strg+x. Anschließend führen wir folgenden Befehl aus:
locale-gen
Jetzt installieren wir essenzielle Firmware:
emerge --ask sys-kernel/linux-firmware
Der Kernel ist wieder so eine eigene Geschichte – siehe hier. Ich nutze hier einfach den Distributionskernel:
emerge --ask sys-kernel/gentoo-kernel
Mit:
yes
wird bestätigt. Nach der Installation des Kernels haben wir jedoch noch kein laufendes System, unser System kennt die Partitionen noch nicht – wir müssen unsere „/etc/fstab“ erstellen:
nano /etc/fstab
Hierzu finden wir hier die passende Anleitung. Mit:
blkid
ermitteln Sie die UUIDs der Parttitionen und passen die Datei an, für meinen Test in der VM lasse ich die UUIDs weg:
Mehr zu den Dateisystemen in der „fstab“ finden Sie unter Gentoo-Dateisystem.
Jetzt passen wir den Hostnamen an – in meinem Beispiel nenne ich den Rechner einfach „robert-gentoo„:
hostnamectl hostname robert-gentoo
Oder:
echo robert-gentoo > /etc/hostname
Jetzt installieren wir den DHCP-Daemon:
emerge --ask net-misc/dhcpcd
Bestätigt wir mit:
yes
Wir aktivieren Systemd:
systemctl enable --now dhcpcd
Besonders wichtig ist die „hosts„-Datei, kontrollieren Sie – ob folgende beide Einträge nicht auskommentiert sind:
Wir haben im Live-System ein root-Passwort gesetzt, jedoch noch nicht im installierten System:
passwd
Dasselbe mit dem normalen Benutzer:
useradd -m -G users robert
passwd robert
Jetzt bearbeiten wir noch Systemd – es gilt entsprechende Nachfragen zu beantworten:
systemd-firstboot --prompt --setup-machine-id
systemctl preset-all --preset-mode=enable-only
systemctl preset-all
Jetzt aktivieren wir die Zeitsynchronisation:
systemctl enable systemd-timesyncd.service
Es gilt die passenden Dateisystem-Werkzeuge zu installieren, für EXT4:
emerge --ask sys-fs/e2fsprogs
Für BTRFS:
emerge --ask sys-fs/btrsf-progs
Weitere finden Sie unter Gentoo-Dateisystem-Werkzeuge – Sie müssen nur die installieren, die Sie auch brauchen.
Wichtig natürlich für WLAN:
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Das Wichtigste – GRUB – der Bootloader – für BIOS:
emerge --ask --verbose sys-boot/grub
Für UEFI:
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub
Jetzt wird der Bootloader auf die Platte geschrieben – in meinem Fall „/vda“ – für BIOS:
grub-install /dev/vda
Für UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot
In diesem Fall bin ich draufgekommen – ich habe eine GPT-Partitionstabelle erstellt, diese kommt nur mit UEFI – also einem „/boot„-Verzeichnis klar. Mein System wird also wahrscheinlich nicht starten …
Wir konfigurieren GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
Jetzt können wir alles aushängen und den Rechner neu starten:
exit
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
reboot
Dies war die minimal konfigurierte Installation von Gentoo – meine Installation startet nicht, da ich eine GPT-Partitionstabelle angelegt habe und keine „/boot„-Partition.
Eine Reaktion
[…] – man geht einfach nach den Vorgaben vor. Sieht man sich hingegen die Dokumentation von Gentoo an – schon diese liest sich wie ein sehr umfangreiches technisches Handbuch. Ist Gentoo aber […]