Sådan opbygges en brugerdefineret kerne på Ubuntu
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.