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 de Linux-besturingssysteem. De kans is groot dat je hoogstwaarschijnlijk nooit je eigen kernel hoeft te compileren. Degene die bij je distributie en updates via je pakketbeheersysteem wordt geleverd, is meestal goed genoeg, maar er zijn momenten waarop het nodig kan zijn om de kernel opnieuw te compileren.
Sommige van deze redenen kunnen speciaal zijn hardware behoeften, de wens om een monolithische kern inplaats van een gemodulariseerd een, de kernel optimaliseren door nutteloze stuurprogramma's te verwijderen, een ontwikkelingskernel te draaien, of gewoon om er meer over te leren: Linux. In dit geval gaan we een nieuw uitgebrachte Kernel 3.12, Aan Debian Wheezy. De nieuw uitgebrachte Kernel 3.12 heeft verschillende nieuwe functies, waaronder enkele nieuwe stuurprogramma's voor de NVIDIA Optimus, en de
Grafisch stuurprogramma voor Radeon Kernel. Het biedt ook enorme verbeteringen aan de EXT4 bestandssysteem, en enkele updates voor XFS en Btrfs.Om te beginnen hebben we een aantal pakketten nodig, namelijk: nepwortel en kernel-pakket:
# apt-get install fakeroot kernel-pakket
Laten we nu een nieuwste bron-tarball pakken van www.kernel.org of u kunt de volgende wget-opdracht gebruiken om het te downloaden.
# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
Laten we nu het archief uitpakken.
# tar -xvJf linux-3.12.tar.xz
Na het uitpakken wordt een nieuwe kernelbronmap gemaakt.
# cd linux-3.12
Nu willen we de kernel configureren. Het is het beste om te beginnen met een configuratie die u momenteel gebruikt en van daaruit te werken. Om dit te doen, zullen we de huidige configuratie kopiëren van de /boot directory naar de huidige werkdirectory en sla deze op als .config.
# cp /boot/config-`uname –r`.config
Om met de daadwerkelijke configuratie te beginnen, hebt u een van de twee opties. Als je hebt X11 geïnstalleerd, kunt u uitvoeren maak xconfig, en veel plezier GUI menu om u te helpen bij het configureren van uw Kernel. Als je in een CLI omgeving, u kunt make. uitvoeren menuconfig. Je hebt de nodig libncurses5-dev pakket geïnstalleerd om te gebruiken menuconfig:
# apt-get install libncurses5-dev. # make menuconfig
Zoals u zult zien, zijn er, als u eenmaal in de configuratie van uw keuze bent, een heleboel verschillende opties beschikbaar voor uw Kernel. In feite zijn er veel te veel voor de reikwijdte van deze tutorial. Bij het selecteren van Kernel opties, de beste manier is met vallen en opstaan, en veel Googlen. Het is de beste manier om te leren. Als u alleen maar probeert uw Kernel naar de meest recente versie, hoeft u niets te wijzigen en kunt u eenvoudig "Configuratie opslaan”. Omdat we het configuratiebestand van de huidige kernel naar het nieuwe kernelbestand hebben gekopieerd: .config het dossier.
Houd er rekening mee dat “Kernelmodule-lader” is geselecteerd in “Ondersteuning voor laadbare modules”. Als dat niet het geval is, en je gebruikt kernelmodules, kan het de boel ernstig in de war brengen.
Zodra dat recht is, is het tijd om de bronboom op te schonen.
# make-kpkg schoon
Eindelijk is het tijd om het kernelpakket te bouwen.
# export CONCURRENCY_LEVEL=3. # fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers
Zoals je hierboven zult zien, hebben we een variabele geëxporteerd met de naam CONCURRENCY_LEVEL. Een algemene vuistregel bij deze variabele is om deze in te stellen als het aantal cores dat uw computer heeft + 1. Dus, als je een quad core gebruikt, zou je:
# export CONCURRENCY_LEVEL=5
Dit zal uw compilatietijd aanzienlijk versnellen. De rest van het compilatiecommando spreekt voor zich. Met nepwortel, we maken kernelpakketten (make-kpkg), een tekenreeks toevoegend om onze kernel een naam te geven ("customkernel"), waardoor het een revisienummer krijgt ("1”) en we vertellen make-kpkg om beide te bouwen afbeelding pakket en een header pakket. Zodra de compilatie is voltooid, en afhankelijk van uw machine en het aantal modules dat u aan het compileren bent, kan het: vrij lang duren, verander mappen naar één terug van de Linux-bronmap en je zou twee nieuwe. moeten zien *.deb bestanden – een linux-afbeelding bestand en een linux-headers het dossier:
U kunt dit bestand nu installeren zoals u elk zou installeren *.deb bestand met dpkg-opdracht.
# dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb
De nieuwe kernel, aangezien het een. is Debian pakket, zal alles updaten wat je nodig hebt, inclusief de bootloader. Eenmaal geïnstalleerd, hoeft u alleen maar opnieuw opstarten, en selecteer de nieuwe kernel uit je ETEN/LiLO menu.
Let goed op eventuele foutmeldingen tijdens de opstartproces zodat u eventuele problemen kunt oplossen. Als, om welke reden dan ook, je systeem niet opstart, kun je altijd terugvallen op je laatste werkende Kernel en probeer opnieuw. De niet-functionele Kernel kan altijd worden verwijderd met geschikt opdracht.
# sudo apt-get remove linux-image-(niet-werkende-kernel)