Je kan een kernel zelf compileren. Op die manier heb je een kernel die perfect aan jouw wensen voldoet. Zo kan je bijvoorbeeld kernels compileren met minder "features", maar die sneller zijn. Een bijkomende reden om een nieuwe kernel te compileren is dat er in de nieuwe versie misschien drivers zitten die je nodig hebt.
In de meeste gevallen is het echter niet nodig om een kernel te compileren. De distributies leveren een kernel met een volledige collectie aan "features" zodat hercompileren voor een bepaalde driver onnodig is. Ook kernel upgrades kunnen uitgevoerd worden via een RPM pakket (lees wel aandachtig de installatieprocedure!).
Waar
Je kan de laatste versie van de kernel downloaden op http://www.kernel.org, de meeste distributies stellen ook de source ter beschikking van de laatste geteste kernel in RPM vorm (bij Redhat heet deze RPM kernel-source).
Pak daarna het pakket uit in de /usr/src map (de broncode komt in /usr/src/linux of een variant hiervan terecht), of installeer de RPM.
>
Compileren
Ga naar de map (/usr/src/linux).
Eerst moeten we de configuratie van de nieuwe kernel klaarmaken. Dit doen we door het commando "make config". Je krijgt dan een lijst van vragen waarop je moet antwoorden (aan de hand van deze antwoorden wordt een custom kernel gemaakt die aan jouw wensen voldoet).
Om de configuratie gebruiksvriendelijker te maken kan je ook gebruik maken van "make menuconfig" of "make xconfig".
Met "save&exit" kan je het configuratieprogramma afsluiten.
Gebruik nu het commando "make dep". Dit dient om de afhankelijkheden te verwerken.
Het commando "make modules" gaat het modulaire gedeelte van de kernel compileren (meestal zijn dit drivers).
Daarna moet je de modules installeren op schijf (meestal komen deze in /lib/modules/kernel-versie terecht).
Geef het commando "make modules_install".
Nota: Als je een kernel aan het compileren bent die exact hetzelfde versienummer heeft dan een al reeds geïnstalleerde versie, is het mogelijk dat je de module-map overschrijft. Let op dat dit niet gebeurt!
Nu moet je nog de eigenlijke kernel compileren met "make bzImage".
Als dit commando klaar is zal je de nieuwe kernel vinden in
/usr/src/linux-2.4/arch/i386/boot/bzImage
Je kan deze installeren aan de hand van het installatiescriptje dat je in de "/usr/src/linux-2.4/arch/i386/boot/" map kan vinden, maar let wel op dat je de oude kernel niet overschrijft (die heb je nodig om te booten als jouw kernel niet zou werken).
Je kan ook het "bzImage" bestand kopiëren naar "/boot" (geef het eventueel een andere naam zoals "vmlinuz-mijnversie").
Als laatste stap moet je de "bootloader" configureren zodat deze jouw nieuwe kernel kan opstarten (We gaan ervan uit dat we LILO gebruiken).
Editeer "/etc/lilo.conf" met een entry van jouw kernel. Als dit gedaan is bewaar je het bestand en voer je "/sbin/lilo" uit.
Deze wijziging kan je ook maken met Linuxconf.
Als je terug van opnieuw wil beginnen, gebruik het commando "make mrproper".