Hvordan bygge en tilpasset kjernel på Ubuntu
Tanken om å samle dine egne kjerner opplever frykt i hjernene til nye Linux-brukere. Det høres skremmende ut, og bygger den mest avgjørende delen av systemet fra bunnen av. Sannheten er, men å bygge Linux-kjernen er veldig enkelt.
Å bygge Linux-kjerne krever ikke programmering. Noen av de beste programmørene i verden har allerede skrevet hele koden. Du må bare velge de funksjonene du vil ha og sette alt sammen.
Få avhengighetene
Før du berører en kjerne, trenger du de riktige verktøyene for å bygge den. Bruk Apt til å laste dem ned fra Ubuntus repositorier.
sudo apt install install install git build-essensiell kjernepakke fakeroot libncurses5-dev libssl-dev ccache
Å få kjernekilden
Nå kan du ta tak i kilden du vil bygge. Alle kjernene er tilgjengelige fra de offisielle Linux-depotene. Du kan se på de siste stabile utgivelsene i deres git-repository. På tidspunktet for denne artikkelen er det siste 4.11. Den grenen er oppført som linux-4.11.y, og det er den som vil bli klonet med kommandoen nedenfor.
cd ~ mkdir kernelbuild cd kernelbuild git klone -b linux-4.11.y git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Det vil ta litt tid å klone kjernen, så vær tålmodig.
Sette opp for din bygg
Start oppsettet ditt ved å bytte kataloger til den nylig klonede katalogen. Deretter kopierer du konfigurasjonen av den eksisterende kjernen til den.
cd linux-stable cp / boot / config-`uname -r` .config
Nå må du tilpasse den gamle konfigurasjonen til den nye kjernen.
ja '' | gjør oldconfig
Normalt vil skriptet spørre deg hva du skal gjøre med hver ny funksjon. På denne måten aksepterer standardinnstillingene. Hvis du vil bli spurt, bruk bare å make oldconfig
.
Konfigurere kjernen
Du kan forlate konfigurasjonen slik den er, og du vil nok være i orden. Det er ikke noe poeng i å bygge en tilpasset kjerne hvis du ikke skal tilpasse den, skjønt.
For å tilpasse konfigurasjonen, åpne make menuconfig
.
En blå meny åpnes med en liste over kategorier. Disse kategoriene inneholder funksjoner du kan velge for å bygge inn i kjernen din.
For eksempel, hvis du virkelig vil bygge støtte for BTRFS-filsystemet direkte inn i kjernen og aktivere andre funksjoner, går du til "Filsystemer ->." Deretter blar du ned til der du ser "Btrfs filsystemstøtte." Velg alternativet du vil ha, og klikk på mellomromstasten. Mellomromstasten sykler mellom "M, " "*, " og tom. "M" betyr at funksjonen vil bli bygget som en modul som vil bli lastet om nødvendig når Ubuntu starter. "*" Betyr at funksjonen skal bygges inn i kjernen og alltid lastes inn. Skriptet inneholder ikke tomme alternativer i sluttproduktet.
Når du er ferdig med å sette opp ting, rengjør du katalogen.
gjør rent
Nå er kjernen din klar til å bygge.
Bygg kjernepakker
Det er en metode som brukes av Ubuntu til å bygge sine kjerner, men det tvinger deg til å bruke skript skrevet for eldre versjoner. Noen ganger er det bra; andre bryter det forferdelig. Så det er vanligvis bedre å bare bruke den mer generiske Linux-metoden med GNU make.
gjør -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION = -custom
Alt den linjen gjør er å kompilere kjernen i .deb-pakker ved å bruke mengden CPU-kjerner på systemet ditt pluss en. Den legger også til på "egendefinert" til slutten av pakkeversjonen for å skille din tilpassede kjerne fra andre.
Merk : Det kan ta time (r) å kompilere en kjerne. Vær tålmodig.
Installere kjernen
Du finner din nye kjernepakke en katalog opp. De vil være lett identifiserbare av deres versionsnummer. Du kan bruke dpkg
til å 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-tilpasset-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-tilpasset-dbg_4.11.1-tilpasset-1_amd64.deb sudo dpkg -i linux-image-4.11.1-custom_4 .11.1-custom-1_amd64.deb
Når installasjonen er ferdig, start datamaskinen på nytt. Ubuntu starter automatisk opp i den nye kjernen din. Du kan dobbeltsjekke at det gjorde ved å runing uname -r
i en terminal når den starter. Hvis du ser versjonen din, gratulerer! Du kjører din egen tilpassede kjernen.