In deze blog leg ik uit hoe je de kernel van je Debian Server naar de laatste versie kunt brengen. Ik heb hierbij gebruik gemaakt van de informatie van deze link (credits gaan dus naar deze site).

Check eerst je huidige kernel versie met het commando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
uname -r
uname -r
uname -r

Installeer de benodigde packages om je kernel te compileren:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
apt-get update
apt-get install build-essential libncurses5-dev gcc libssl-dev bc libelf-dev flex bison rsync
apt-get update apt-get install build-essential libncurses5-dev gcc libssl-dev bc libelf-dev flex bison rsync
apt-get update
apt-get install build-essential libncurses5-dev gcc libssl-dev bc libelf-dev flex bison rsync

Download de source van de The Linux Kernel Archives




In mijn geval heb ik linux kernel 5.8 gedownload. Pak deze vervolgens uit met de ’tar’ tool en ga naar de directory:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tar xvf linux-5.8.tar.xz
cd linux-5.8
tar xvf linux-5.8.tar.xz cd linux-5.8
tar xvf linux-5.8.tar.xz
cd linux-5.8

Copiëer nu de configuratie van je huidige Linux Kernel. Op deze manier hoef je niet helemaal opnieuw te bepalen wat je allemaal moet enablen/disablen om je huidige functionaliteit te behouden:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cp -v /boot/config-<jouw huidige versie> .config
cp -v /boot/config-<jouw huidige versie> .config
cp -v /boot/config-<jouw huidige versie> .config

Converteer deze ‘oude’ configuratie naar het nieuwe formaat:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
make menuconfig
make menuconfig
make menuconfig

Je krijgt nu het volgende scherm te zien:




Kies nu onderaan de [Save] button en accepteer de voorgestelde configuratie-file ([OK] button).



Ga uit de tool met de [Exit] button. Vervolgens kun jouw Kernel versie gaan compileren met het volgende commando (dit kan lang duren):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
make
make
make

Hierna moet je de benodigde modules installeren met het commando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo make modules_install
sudo make modules_install
sudo make modules_install

Installeer de kernel vervolgens met het commando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo make install
sudo make install
sudo make install

Indien ‘initrd’ te groot is dan heb je waarschijnlijk niet benodigde modules. Deze haal je weg door:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cd /lib/modules/<new_kernel>
sudo find . -name *.ko -exec strip --strip-unneeded {} +
cd /lib/modules/<new_kernel> sudo find . -name *.ko -exec strip --strip-unneeded {} +
cd /lib/modules/<new_kernel>
sudo find . -name *.ko -exec strip --strip-unneeded {} +

Hierna moet je ‘sudo make install’ nogmaals uitvoeren in de directory waar je source-files staan van je nieuwe kernel.

Update de bootloader met de volgende commando’s (verander versie hieronder):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo update-initramfs -c -k 5.8
sudo update-grub
sudo update-initramfs -c -k 5.8 sudo update-grub
sudo update-initramfs -c -k 5.8
sudo update-grub

Tenslotte moet je je computer nog restarten:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
reboot
reboot
reboot

Om te controleren of je een nieuwe Kernel hebt kun je weer de huidige gebruikte Kernel versie controleren met het commando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
uname -r
uname -r
uname -r

Update 23 oktober 2022
Zie ook het volgende artikel m.b.t. oplossen van ‘update-initramfs’ probleem.