Zoeken op website

Hoe kernel in Debian te installeren en compileren


Een van de grootste voordelen van het gebruik van Linux is de gemakkelijke aanpassing en een van de leukste dingen om aan te passen is de Kernel zelf, het hart van het Linux-besturingssysteem.

De kans is groot dat je hoogstwaarschijnlijk nooit je eigen kernel hoeft te compileren. Degene die wordt meegeleverd met uw distributie en updates via uw pakketbeheersysteem is meestal goed genoeg, maar er zijn momenten waarop het nodig kan zijn om de kernel opnieuw te compileren.

Sommige van deze redenen kunnen speciale hardwarebehoeften zijn, de wens om een monolithische kernel te creëren in plaats van een modulaire kernel, het optimaliseren van de kernel door het verwijderen van nutteloze stuurprogramma's, het draaien van een ontwikkelingskernel, of gewoon meer leren over Linux.

In dit geval gaan we een nieuw uitgebrachte kernel op Debian-systemen compileren die verschillende nieuwe functies bevat, zoals nieuwe stuurprogramma's voor de grafische kaarten, en aanzienlijke verbeteringen aan het bestandssysteem biedt.

Hoe kernel in Debian te compileren

Om te beginnen hebben we een aantal pakketten nodig, namelijk build-essential en kernel headers.

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)

Bezoek nu de officiële kernelwebsite om de gewenste kernelversie te downloaden. Als alternatief kunt u de volgende opdrachten gebruiken om de broncode rechtstreeks te downloaden.

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xvf linux-6.7.tar.xz
cd linux-6.7/

Nu zullen we de kernel moeten configureren. Het is raadzaam om te beginnen met de configuratie die momenteel in gebruik is en daarop voort te bouwen. Om dit te bereiken kopiëren we de bestaande configuratie van de map /boot naar de huidige werkmap en slaan deze op als .config.

cp /boot/config-`uname -r` .config

Om met het daadwerkelijke configuratieproces te beginnen, heeft u twee opties.

  1. Als je X11 geïnstalleerd hebt, kun je make xconfig uitvoeren en heb je een mooi GUI-menu om je te helpen bij het configureren van je Kernel .
  2. Als u in een CLI omgeving draait, kunt u make menuconfig uitvoeren, maar hiervoor is het libncurses5-dev pakket nodig dat is geïnstalleerd.

Als je met een cli-omgeving werkt, zorg er dan voor dat je het libncurses5-dev pakket installeert om het kernelconfiguratieproces te starten, zoals weergegeven.

apt install libncurses5-dev
make menuconfig

Zoals u zult zien, zijn er, zodra u zich in de configuratie van uw keuze bevindt, een heleboel verschillende opties beschikbaar voor uw Kernel. In feite zijn het er veel te veel voor de reikwijdte van deze tutorial.

Bij het selecteren van Kernel-opties is de beste manier om het met vallen en opstaan te doen en veel te Googlen, wat de beste manier is om te leren. Als u alleen maar probeert uw Kernel bij te werken naar de meest recente versie, hoeft u niets te wijzigen en kunt u eenvoudigweg “Configuratie opslaan” selecteren. Omdat we het configuratiebestand van de huidige kernel naar het .config bestand van de nieuwe kernel hebben gekopieerd.

Houd er rekening mee dat “Kernelmodulelader ” is geselecteerd in “Laadbare moduleondersteuning”. Als dit niet het geval is, en u gebruikt kernelmodules, kan dit de zaken ernstig verpesten.

Start nu het kernelcompilatieproces met behulp van de volgende opdrachten, waarmee de kernel wordt gecompileerd, modules worden geïnstalleerd en de benodigde bestanden naar de opstartmap worden gekopieerd.

make
make modules_install
make install

Eenmaal geïnstalleerd, herstart je eenvoudigweg, en selecteer je de nieuwe kernel in je GRUB-menu.

Let goed op eventuele foutmeldingen tijdens het opstartproces, zodat u eventuele problemen kunt oplossen.

Om de nieuwe kernelversie in Debian te controleren, kunt u het volgende commando in de terminal gebruiken.

uname -r

Als je een lijst met geïnstalleerde kernels wilt zien, kun je de inhoud van de map /boot controleren:

ls /boot

Verwijder de oude kernel in Debian

Om oude kernels in Debian te verwijderen, moet u eerst de geïnstalleerde kernels vermelden om de kernels te identificeren die u wilt verwijderen met behulp van de opdracht dpkg.

dpkg --list | grep linux-image

Om een oude kernel te verwijderen, gebruik je het volgende apt-commando en zorg ervoor dat je linux-image-OLD_VERSION vervangt door het versienummer van de kernel die je wilt verwijderen.

sudo apt purge linux-image-OLD_VERSION

Na het verwijderen van de oude kernels update je GRUB om de veranderingen weer te geven.

update-grub

Concluderend: het compileren van een kernel in Debian is een waardevolle vaardigheid waarmee gebruikers hun besturingssysteem kunnen afstemmen op specifieke behoeften, met de nieuwste functies en optimalisaties.