Een eigen kernel in Arch Linux installeren
Tagged:  •    •    •  

In het verleden heb ik wat kleine probleempjes ondervonden met het draaien van Arch Linux op VirtualBox.

Voordat VirtualBox 2.0 uitkwam ging er iets erg fout met de (virtuele) harde schijf. Als je een beetje meer van je harde schijf vroeg dan was er een flinke kans dat dat uitliep op een kernel panic. Om het compleet te maken, logde VirtualBox al deze schijfperikelen ook nog eens naar een logbestand. Zo raakte je op de host-machine snel gigabytes aan zinloze logbestanden kwijt.

Toen ik later VirtualBox 2.1.2 probeerde leken deze problemen als sneeuw voor de zon verdwenen te zijn. Maar toch was er een nieuw probleem opgedoken: alles was een stuk trager dan ik gewend was in VirtualBox 1.6.x. Het leek wederom I/O-gerelateerd te zijn: er was een hoog CPU-verbruik en een hoge loadwaade wanneer er iets gevraagd werd van de harde schijf.

Beide problemen waren opgelost door de standaard kernel van Arch Linux te vervangen door een lichtere. Op de Arch Linux Wiki zijn er een aantal pagina's besteed om een eigen kernel te installeren.

Enkele van deze pagina's bevatten een aangepaste PKGBUILD die de taak op zich neemt om de kernel te configureren en te compileren. Maar dat liep niet echt goed, want bij het installeren kreeg ik bestandsconflicten of was er iets mis gegaan met de naam van de pakketten. Ik koos er voor om een eenvoudigere weg in te slaan, door de kernel uit ABS te halen en mijn eigen configuratiebestand aan te maken. Dit is wat ik gedaan heb:

  1. Kopieer de map kernel26 uit ABS en plaats het op een eigen stukje schijfruimte, bijvoorbeeld je persoonlijke map:
    cp -r /var/abs/core/kernel26 /home/bram/kernel26
  2. In dit geval met VirtualBox kan je de bijgevoegde configuratie pakken. Het is een gestripte configuratie met alleen het noodzakelijke om de machine op gang te krijgen. Merk op dat ik het geluid heb uitgeschakeld omdat ik dat toch niet nodig heb. Zorg vervolgens dat de md5sums bijgewerkt worden:
    cp /home/bram/vbox-archlinux-kernelconfig /home/bram/kernel26/config
    makepkg -g

    en vervang het resultaat met de checksums in de PKGBUILD.

  3. Wanneer je nog wat aanpassingen wilt maken aan de bestaande configuratie, kan je het commentaar in de PKGBUILD verwijderen van de regel die de gewenste configuratiemethode oproept:
    # Configure the kernel. Replace the line below with one of your choice.
    #make menuconfig # CLI menu for configuration
    #make xconfig # X-based configuration
    #make oldconfig # using old config from previous kernel version
  4. Bouw de kernel:
    makepkg
  5. En installeer de kernel:
    pacman -U ./kernel26-2.6.x.y-1-i686.pkg.tar.gz

    Uiteraard dient de pakketnaam vervangen te worden door de pakketnaam die je in de huidige werkmap tevoorschijn ziet komen.

  6. Even herstarten en VirtualBox zou nu een stuk minder benauwd aan moeten voelen.