Nu ik een Intel en AMD versie van de Framework 13 heb, heb ik besloten om op de Intel versie Gentoo Linux weer eens te installeren/proberen.
De laatste keer dat ik een installatie van Gentoo deed was op de “Trashcan” Mac Pro, en dat is alweer een paar jaar geleden.
In deze serie blogs ga ik bijhouden wat ik doe en waar ik eventueel tegenaan loop, met oplossingen en tips en trucs.
Het ruwe plan:
- Een installatie van Gentoo Linux
- systemd-boot als bootloader
- UKI implementatie
- Sway of SwayFX als Window manager
- BTRFS als bestandssysteem voor zowel
/
en/home
, dus met BTRFS subvolumes - Geen aparte
/boot
partitie, maar wel een/boot/efi
(of/efi
)
Het maken van de installatie stick
Voor je dit kunt doen heb je 2 dingen nodig:
- Een lege USB stick
- De Gentoo installatie ISO via de website van Gentoo
Daarna is het een kwestie van uitzoeken hoe je USB stick heet als je deze inprikt. Op Linux kan dit op vele manieren, ik gebruikte GNOME disks en zag dat mijn stick /dev/sdc
heette. Met die kennis in het achterhoofd:
sudo dd if=~/Downloads/install-amd64-minimal-<tab tab>.iso of=/dev/sdc bs=4M status=progress oflag=sync
Als dit klaar is de USB stick uit de PC pluggen en in de Framework pluggen. Om te booten vanaf USB op een Framework de F12 toets indrukken tijdens het starten van de laptop. Je krijgt dan, als je dit goed doet, een keuze menu met bootbare opties.
Krijg je een melding of waarschuwing dat de stick niet geboot kan worden door secure boot instellingen, sluit de laptop dan af en boot in de UEFI om dit uit te zetten. Dat doe je door F2 in te drukken tijdens het starten van de laptop.
Als dit goed gegaan is zie je Gentoo. Je krijgt een tweetal vragen (taal en toetsenbord), beiden waren voor mij standaard goed (Engels en US/English).
Schijf partitioneren
De installatiehandleiding van Gentoo komt dan aan bij het partitioneren van de schijf. Deze specificatie volg ik, met één uitzondering: mijn /
partitie gaat geen XFS worden, maar BTRFS.
Verder nog één klein detail, de handleiding spreekt van /dev/sda
als schijf, maar in de Framework zit een NVME schijf, dus dat is /dev/nvme0n1
.
Het detailoverzicht:
/dev/nvme0n1p1
als eenvfat
partitie van 4 GiB/dev/nvme0n1p2
als een swap partitie van 8 GiB/dev/nvme0n1p3
als een BTRFS partitie van de rest van de schijf
Volg de handleiding tot aan de sectie Creating file systems. Hier komt een aanpassing omdat ik gebruik maak van BTRFS.
Als de /
partitie geformatteerd is met BTRFS (mkfs.btrfs /dev/nvme0n1p3
) is het een kwestie eerst de 2 subvolumes aan te maken die ik nodig heb:
mount /dev/nvme0n1p3 /mnt/gentoo
cd /mnt/gentoo
btrfs subvolume create root
btrfs subvolume create home
cd /
umount /mnt/gentoo
Configuratie van de USE
variabele
De rest van de handleiding tot nu toe heeft geen aanpassingen of tweaks voor mijn setup nodig. Tot je bij de USE
(zie ook de handleiding hiervoor) variabele aankomt. Deze stel ik voor mijn Framework als volgt in:
USE="-X -kde -qt5 -dvd -alsa -cdr -gnome wayland gtk pulseaudio dbus"
Lees ook de volgende pagina(’s) uit het Gentoo Handbook door:
Configuratie van de VIDEO_CARDS
variabele
Voor de Framework 13 is dit intel i915
. Dus niet alleen intel
of i915
, maar een combinatie van de twee. Vraag me niet waarom.
Configuratie voor systemd-boot
Om ervoor te zorgen dat het systeem kan booten heeft systemd
een aantal vlaggen nodig:
mkdir -p -v /etc/portage/package.use/sys-apps/
echo "sys-apps/systemd boot kernel-install boot kernel-install ukify policykit" | tee /etc/portage/package.use/sys-apps/systemd
En om het systeem alvast klaar te maken om te booten met UKIs:
touch /etc/kernel/install.conf
echo layouut=uki | tee /etc/kernel/install.conf
echo uki_generator=ukify | tee -a /etc/kernel/install.conf
En
touch /etc/kernel/uki.conf
echo '[UKI]' | tee /etc/kernel/uki.conf
echo 'Cmdline=root=PARTUUID=<partuuid van je / partitie> ro rootflags=subvol=root quiet' | tee -a /etc/kernel/uki.conf
Een tip, installeer sys-kernel/installkernel-systemd
om het automatisch te laten genereren van een UKI en het plaatsen hiervan in de juiste map (/efi
of /boot/efi
) te automatiseren.
Installatie systemd-boot
Dit is een oneliner: bootctl install
. Dit plaatst de boot code in de juiste map (/efi
of /boot/efi
) en plaatst de juiste configuratiebestanden in de juiste map(pen).
Configuratie kernel
Voor de configuratie van de kernel heeft Gentoo tegenwoordig 3 methods:
Ik heb gekozen voor de 3e methode. Volg de stappen in de handleiding, maar let op de volgende zaken:
- De Framework USB netwerk adapter heeft de volgende optie nodig in de kernel config:
CONFIG_USB_RTL8152=y
CONFIG_USB_USBNET=y
- De videokaart en de draadloze netwerkkaart hebben de volgende opties nodig:
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_EXTRA_FIRMWARE="i915/adlp_dmc_ver2_16.bin i915/adlp_gup_70.bin iwlwifi-ty-a0-gf-a0-83.ucode iwlwifi-ty-a0-gf-a0-83.pnvm"
Let op dat je hiervoor het pakket linux-firmware
moet installeren om de benodigde firmware bestanden beschikbaar te maken.
Ik heb er hier ook voor gekozen deze in de kernel in te bakken in plaats van de beide delen (i915
en iwlwifi
) als kernelmodules te compileren. Dit heb ik gedaan vanwege de snelheidswinst.
Als je dit gedaan hebt is het een kwestie van de rest van de handleiding volgen. Als je de tip hierboven hebt gevolgd en het pakket sys-kernel/installkernel-systemd
hebt geïnstalleerd zal make install
ukify
aanroepen en een UKI maken en deze op de juiste plek op de schijf wegschrijven, zodat je dit niet zelf hoeft te doen.
Aanmaken gebruiker
De handleiding heeft het hier over het instellen van het root wachtwoord. Zelf doe ik dit liever niet en laat ik de root account “op slot”.
Om toch op het systeem te kunnen werken doe ik de volgende dingen:
- Nu een gebruiker aanmaken
sudo
installeren en configureren
De gebruiker aanmaken
Dat is te doen met useradd -c Sebastiaan -m -G wheel,users,pipewire -s /bin/bash sebastiaan
en vergeet niet het wachtwoord in te stellen met passwd sebastiaan
.
sudo
configureren en installeren
Standaard heeft sudo
de optie aanstaan om mailtjes te versturen als een gebruiker te vaak een wachtwoord fout intikt. Dat is iets wat ik niet wil en niet nodig heb, dus dit schakel ik uit. Als ik toch bezig ben schakel ik de optie in om sudo
me te laten uitschelden:
mkdir -p /etc/portage/package.use/app-admin/
echo "app-admin/sudo -sendmail offensive" | tee /etc/portage/package.use/app-admin/sudo
Daarna installeer je sudo emerge --ask app-admin/sudo
. Hierna moet je met visudo
zorgen dat de groep wheel
ook commando’s mag uitvoeren met sudo
. Standaard staat deze regel uit. Pas dit aan en sla de wijzigingen op.
Vervolgstappen
Volg de rest van het handbook. De vervolgstappen komen in een volgende blog. Dit is voor nu genoeg informatie, meer maakt dit alleen maar lastiger te lezen.
Wat zijn de vervolgstappen?
- Installeren en configurern van:
- Sway
- Swaylock
- Greetd
- Gtkgreet
- Waybar
- NetworkManager
- Firefox
- Vim