Hur man bygger en anpassad kärna på Ubuntu
Tanken med att kompilera dina egna kärnor slår rädsla i hjärtat av nya Linux-användare. Det låter skrämmande och bygger den viktigaste delen av ditt system från början. Sanningen är att byggandet av Linux-kärnan är riktigt enkelt.
Att bygga Linux-kärnor kräver ingen programmering. Några av de bästa programmörerna i världen har redan skrivit hela koden. Du måste bara välja de funktioner du vill ha och sätta allt ihop.
Få beroendet
Innan du till och med rör en kärna behöver du rätt verktyg för att bygga den. Använd Apt för att ladda ner dem från Ubuntus repositorier.
sudo apt install install install git build-essential kernel-paket fakeroot libncurses5-dev libssl-dev ccache
Hämta kärnkällan
Nu kan du ta tag i källan som du vill bygga. Alla kärnor är tillgängliga från de officiella Linux-repositorierna. Du kan ta en titt på de senaste stabila versionerna i deras git repository. Vid tidpunkten för denna artikel är det senaste 4.11. Den gren är listad som Linux-4.11.y, och det är den som kommer att klonas med kommandot nedan.
cd ~ mkdir kernelbuild cd kernelbuild git klon -b linux-4.11.y git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Det kommer ta ett tag att klona kärnan, var så tålamod.
Inställning för din byggnad
Börja konfigurationen genom att byta kataloger till den nyligen klonade katalogen. Kopiera sedan konfigurationen av din befintliga kärna till den.
cd linux-stable cp / boot / config-`uname -r` .config
Nu måste du anpassa den gamla konfigurationen till den nya kärnan.
ja '' | gör oldconfig
Normalt frågar man skriptet vad man ska göra med varje ny funktion. På så sätt accepteras standardinställningarna. Om du vill bli tillfrågad, använd bara make oldconfig
.
Konfigurera kärnan
Du kan lämna din konfiguration så som det är, och du skulle nog bli bra. Det finns ingen anledning att bygga en anpassad kärna om du inte kommer att anpassa den, dock.
För att anpassa din konfiguration öppnar du make menuconfig
.
En blå meny öppnas med en lista över kategorier. Dessa kategorier innehåller funktioner som du kan välja att bygga in i din kärna.
Om du till exempel vill bygga stöd för BTRFS-filsystemet direkt i kärnan och aktivera andra funktioner, går du till "Filsystem ->." Sedan bläddrar du ner till var du ser "Btrfs-filsystemstöd". Välj det alternativ du vill ha och tryck på mellanslagstangenten. Mellanslagstangenten cyklar mellan "M, " "*, " och tom. "M" betyder att funktionen kommer att byggas som en modul som laddas om det behövs när Ubuntu startar. "*" Betyder att funktionen kommer att byggas in i kärnan och alltid laddas. Skriptet innehåller inte tomma alternativ i slutprodukten.
När du är färdig med att ställa in saker, rengör du katalogen.
rena
Nu är din kärna redo att bygga.
Byggnadskärnpaket
Det finns en metod som används av Ubuntu att bygga sina kärnor, men det tvingar dig att använda skript som är skrivna för äldre versioner. Ibland är det okej; andra bryter det hemskt. Så det är vanligtvis bättre att bara använda den mer generiska Linux-metoden med GNU-märket.
gör -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION = -custom
Allt den linjen gör är att kompilera kärnan i .deb-paket med hjälp av mängden CPU-kärnor på ditt system plus en. Den lägger också till på "anpassade" till slutet av paketversionen för att skilja din anpassade kärna från andra.
Obs! Det kan ta timmar att kompilera en kärna. Ha tålamod.
Installera kärnan
Du hittar din nya kärnpaket en katalog upp. De kommer lätt identifieras med deras versionsnummer. Du kan använda dpkg
att installera dem.
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-anpassad-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-anpassad-dbg_4.11.1-anpassad-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom_4 .11.1-custom-1_amd64.deb
När installationen är klar startar du om datorn. Ubuntu startar automatiskt in i din nya kärna. Du kan dubbelkontrollera att det gjorde genom att köra uname -r
i en terminal när den startar. Om du ser din version, grattis! Du kör din egen anpassade kärna.