Kompilering av kärnan i Debian GNU/Linux

Du behöver minst: Debian GNU/Linux

 

Kompilera om kärnan är något som man kan behöva göra lite då och då. T.ex. om man skall göra några av grejerna jag tipsar om i dessa Howto:s.

Men också ibland när man behöver ha med lite speciella drivrutiner som inte finns med i kärnan som man fick med vid installationen. Optimering av kärnan kan också vara ett skäl.

 

Kompilering av kärnan på "vanlig" linux-manér kan vara lite krångligt, i.a.f. om man gör det första gången. Många kommandon som skall skrivas och i rätt ordning och så. Med Debian följer ett verktyg som förenklar denna process. Dessutom skapar verktyget också ett "vanligt" Debian-paket som gör att man lätt kan installera samma kärna på flera datorer.

 

För att kunna kompilera kärnan behöver vi två saker:

1. Linuxkärnan i källkodsformat

2. Debians verktyg för kompilering

(jag förutsätter att Du redan installerat de vanliga C och C++-kompileringsverktygen som t.ex. "make")

 

Verktygen installeras genom att man skriver följande kommando:

apt-get install kernel-package libncurses5-dev

 

Sedan för att hämta kärnan kan man skriva:

apt-get install kernel-source

 

Kommandot ger en lista på alla tillgängliga versioner på kärnan som går att ladda ner.

När du bestämt dig för vilken du vill ha så skriver du t.ex.:

apt-get install kernel-source-2.4.20

Detta kommando kan ta en liten stund beroende på om du laddar ner paket från internet eller från skiva.

 

Nu måste kälkodsfilerna packas upp så att de kan kompileras. Detta görs med följande kommandon:

cd /usr/src

tar xvjf kernel-source-x.y.zz.tar.bz

 

Alla filer packas upp och hamnar i en underkatalog till /usr/src som har samma namn som tar.bz-filen du nyss packade upp. Gå in i katalogen med:

cd kernel-source-x.y.zz

 

Det du skall göra nu är att "kompilera" en meny som du kan använda för att välja vad du vill ha i din nya kärna! Skriv såhär:

make menuconfig

 

Du får nu upp ett menysystem med massor av olika kategorier. Jag tänkte inte gå in närmare på vad du bör välja o.s.v., utan det lämnar jag upp till dig =)

När du är klar och har valt det du vill ha med i din kärna och har gått ur menysystemet och sparat, är det dags att kompilera kärnan!

 

Det som vi nu skall göra är att använda verktyget make-kpkg som är Debians eget kärn-kompileringsverktyg. Det programmet gör är att det kompilerar kärnan på "gammalt hederligt vis", men stoppar också allt som behövs i ett Debianpaket! Smidigt och bra! Skriv såhär:

make-kpkg --rev=revisionsnamn1 kernel_image

(--rev kommandot anger ett revisionsnamn och nummer på den kärnbild (kernel image) du kommer att skapa. Detta namn är helt upp till dig själv att välja)

 

Detta tar ju ett tag att göra färdigt. Jag har inte tagit tid exakt, men jag skulle gissa på att det tar ca 30 minuter för en 1 GHz:are.

När kommandot är färdigt har man fått ett paket i katalogen /usr/src som heter: kernel-image-x.y.zz_revisionsnamn1_i386.deb

 

I paketet finns nu själva kärnan, med alla moduler. För att installera paketet skriver du:

cd /usr/src

dpkg -i kernel-image-x.y.zz_revisionsnamn1_i386.deb

 

Debians pakethanteringssystem sköter all filkopiering och den fixar till och med LILO så att den bootar den nya kärnan!

Starta om burken och se hur smidigt det gick!

 

/ Pierre Ingmansson, studerande vid KTH IsK.

Uppdaterad 030820