Hoe een aangepaste kernel op Ubuntu te bouwen
De gedachte aan het compileren van je eigen kernels raakt angst in de harten van nieuwe Linux-gebruikers. Het klinkt angstaanjagend, en bouw het meest cruciale deel van je systeem helemaal opnieuw. De waarheid is echter dat het bouwen van de Linux-kernel heel eenvoudig is.
Het bouwen van Linux-kernels vereist geen programmering. Sommige van de beste programmeurs ter wereld hebben de code al geschreven. Je hoeft alleen maar de functies te kiezen die je wilt en alles samen te voegen.
De afhankelijkheden verkrijgen
Voordat je een kernel aanraakt, heb je de juiste hulpmiddelen nodig om het te bouwen. Gebruik Apt om ze te downloaden van de repositories van Ubuntu.
sudo apt install install git build-essential kernel-pakket fakeroot libncurses5-dev libssl-dev ccache
De Kernel-bron ophalen
Nu kunt u de bron pakken die u wilt bouwen. Alle kernels zijn beschikbaar via de officiële Linux-repositories. Je kunt de nieuwste stabiele releases bekijken in hun git repository. Op het moment van dit artikel is het nieuwste 4.11. Die tak wordt vermeld als linux-4.11.y, en dat is degene die gekloond zal worden met de onderstaande opdracht.
cd ~ mkdir kernelbuild cd kernelbuild git clone -b linux-4.11.y git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Het zal een tijdje duren om de kernel te klonen, dus wees geduldig.
Opzetten voor uw build
Begin je setup door mappen te veranderen in de nieuw gekloonde directory. Kopieer vervolgens de configuratie van uw bestaande kernel erin.
cd linux-stable cp / boot / config-`uname -r` .config
Nu moet je de oude configuratie aanpassen aan de nieuwe kernel.
ja '' | maak oldconfig
Normaal gesproken zal het script u vragen wat u met elke nieuwe functie moet doen. Op deze manier worden de standaardinstellingen geaccepteerd. Als je gevraagd wilt worden, gebruik make oldconfig
gewoon make oldconfig
.
De kernel configureren
U kunt uw configuratie laten zoals deze is, en waarschijnlijk is het goed. Het heeft geen zin om een aangepaste kernel te bouwen als je het niet gaat aanpassen.
Om uw configuratie aan te passen, opent u make menuconfig
.
Een blauw menu wordt geopend met een lijst met categorieën. Die categorieën bevatten functies die u kunt selecteren om in uw kernel te bouwen.
Als je bijvoorbeeld echt ondersteuning voor het BTRFS-bestandssysteem direct in de kernel wilt bouwen en andere functies wilt inschakelen, ga je naar 'Bestandssystemen ->'. Scrol vervolgens omlaag naar waar je 'Btrfs-bestandssysteemondersteuning' ziet. Selecteer de gewenste optie en druk op de spatiebalk. De spatiebalk wisselt tussen "M", "*" en leeg. "M" betekent dat de functie wordt gebouwd als een module die indien nodig wordt geladen wanneer Ubuntu start. "*" Betekent dat de functie in de kernel wordt ingebouwd en altijd wordt geladen. Het script bevat geen lege opties in het eindproduct.
Als je klaar bent met het instellen van dingen, maak je de map schoon.
maak schoon
Nu is je kernel klaar om te bouwen.
Kernelpakketten bouwen
Er is een methode die door Ubuntu wordt gebruikt om hun kernels te bouwen, maar het dwingt je om scripts te gebruiken die zijn geschreven voor oudere versies. Soms is dat in orde; anderen breekt verschrikkelijk. Het is dus meestal beter om gewoon de meer generieke Linux-methode te gebruiken met GNU make.
make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION = -aangepast
Al die regel doet de kernel compileren naar .deb-pakketten met behulp van het aantal CPU-kernen op je systeem plus één. Het voegt ook 'aangepast' toe aan het einde van de pakketversie om uw aangepaste kernel van anderen te onderscheiden.
Opmerking : het kan uren duren voordat een kernel is gecompileerd. Wees geduldig.
De kernel installeren
Je zult zien dat je nieuwe kernel één map omhoog pakt. Ze zijn eenvoudig herkenbaar aan hun versienummer. U kunt dpkg
gebruiken om ze te installeren.
cd .. sudo dpkg -i linux-firmware-image-4.11.1-custom_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-libc-dev_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-headers -4.11.1-custom_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom-dbg_4.11.1-custom-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom_4 .11.1-maat-1_amd64.deb
Wanneer de installatie is voltooid, start u de computer opnieuw op. Ubuntu start automatisch op in je nieuwe kernel. U kunt dit controleren door uname -r
in een terminal uit te voeren wanneer het opstart. Als je je versie ziet, gefeliciteerd! Je draait je eigen aangepaste kernel.