Tanken om at kompilere dine egne kerner rammer frygt i nye Linux-brugere. Det lyder skræmmende og bygger den mest afgørende del af dit system fra bunden. Sandheden er, at bygge Linux-kernen er virkelig let.

Opbygning af Linux kerner kræver ikke programmering. Nogle af de bedste programmører i verden har allerede skrevet hele koden. Du skal blot vælge de funktioner, du vil have, og sætte det sammen.

Få afhængigheder

Før du selv rører en kerne, har du brug for de rigtige værktøjer til at opbygge det. Brug Apt til at downloade dem fra Ubuntu's repositories.

 sudo apt install install install git build-essential kernel-pakke fakeroot libncurses5-dev libssl-dev ccache 

At få kernekilden

Nu kan du gribe den kilde, du vil bygge. Alle kernerne er tilgængelige fra de officielle Linux-repositorier. Du kan se på de seneste stabile udgivelser i deres git repository. På tidspunktet for denne artikel er det seneste 4.11. Denne gren er opført som linux-4.11.y, og det er den der vil blive klonet med kommandoen nedenfor.

 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 vil tage et stykke tid at klone kernen, så vær tålmodig.

Opsætning til din bygning

Start din opsætning ved at ændre mapper i den nyklonede mappe. Derefter skal du kopiere konfigurationen af ​​din eksisterende kerne til den.

 cd linux-stable cp / boot / config-`uname -r` .config 

Nu skal du tilpasse den gamle konfiguration til den nye kerne.

 ja '' | gøre oldconfig 

Normalt spørger scriptet dig, hvad du skal gøre med hver ny funktion. På denne måde accepteres standardindstillingerne. Hvis du vil blive spurgt, skal du blot bruge make oldconfig .

Konfiguration af kernen

Du kan forlade din konfiguration som den er, og du vil nok være okay. Der er ingen mening om at opbygge en brugerdefineret kerne, hvis du ikke vil tilpasse den, selvom.

For at tilpasse din konfiguration skal du åbne make menuconfig .

En blå menu åbnes med en liste over kategorier. Disse kategorier indeholder funktioner, som du kan vælge at bygge ind i din kerne.

Hvis du for eksempel virkelig ønsker at opbygge support til BTRFS-filsystemet direkte i kernen og aktivere andre funktioner, skal du gå til "Filsystemer ->." Rul ned til, hvor du ser "Btrfs filesystem support." Vælg den ønskede indstilling, og tryk på mellemrumstasten. Mellemrumstasten cykler mellem "M, " "*, " og tom. "M" betyder, at funktionen vil blive bygget som et modul, der vil blive indlæst, hvis det er nødvendigt, når Ubuntu starter. "*" Betyder at funktionen vil blive indbygget i kernen og altid indlæst. Skriften indeholder ikke tomme muligheder i slutproduktet.

Når du er færdig med at indstille tingene, skal du rense mappen.

 gør rent 

Nu er din kerne klar til at bygge.

Building Kernel Pakker

Der er en metode, der bruges af Ubuntu til at opbygge deres kerner, men det tvinger dig til at bruge script skrevet til ældre versioner. Nogle gange er det okay; andre bryder det forfærdeligt. Så det er normalt bedre at bare bruge den mere generiske Linux-metode med GNU make.

 make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION = -custom 

Alt den linje gør er at kompilere kernen i .deb-pakker ved hjælp af mængden af ​​CPU-kerner på dit system plus en. Det tilføjer også på "brugerdefineret" til slutningen af ​​pakkeversionen for at differentiere din brugerdefinerede kerne fra andre.

Bemærk : Det kan tage time (r) at kompilere en kerne. Vær tålmodig.

Installation af kernen

Du finder dine nye kernepakker en mappe op. De bliver let identificerbare med deres versionsnummer. Du kan bruge dpkg til at installere 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-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-custom-1_amd64.deb 

Når installationen er færdig, skal du genstarte din computer. Ubuntu starter automatisk i din nye kerne. Du kan dobbelttjekke, at det gjorde ved at uname -r i en terminal, når den starter. Hvis du ser din version, tillykke! Du kører din egen brugerdefinerede kerne.