Här går vi igenom hur man installerar en egen ny kärna i Debian 9 Stretch. Vi går igenom alla stegen från nedladdning av kärnan till konfigurationen, kompileringen och installeringen. Vi tittar också på hur man kan rädda systemet om något skulle gå snett.

Linux

Programmen – och framförallt kärnan – i Debian 9 börjar bli föråldrade vid det här laget. Debian 10 är dock runt hörnet och kommer förmodligen släppas i stabil utgåva inom de närmsta månaderna. Men redan nu kan du installera den allra senaste kärnan i ditt Debian-system. Men varför skulle man vilja installera en ny kärna förresten?

Anledning att installera en nyare (och egen) kärna kan vara flera. Den främsta orsaken är dock att man har nyare hårdvara i sin dator än vad den installerade kärnan i Debian har stöd för. Nytt hårdvarustöd läggs hela tiden till i Linuxkärnan. En annan anledning kan vara att man vill anpassa kärnan efter specifika ändamål. Kärnan som medföljer en Linuxdistribution är trots allt gjord för att den ska gå att köra på så många olika typer av datorer som möjligt.

Men är det inte väldigt krångligt att installera en egen kärna? Nej, faktiskt inte. En gång i tiden var det väldigt krångligt att kompilera och installera sin egna kärna. Men nu är mycket enklare. Det går till och med att bygga Debian-paket utav kärnan. Detta har fördelen att kärnan installeras med Debians egna pakethanteringsverktyg – vilket i sin tur har fördelen att är enkelt att avinstallera den igen om man så önskar.

Ett varningens finger innan vi börjar. Trots att det idag är mycket enkelt och relativt säkert att installera en egen kärna, finns det trots det alltid en liten risk att något går fel. Kanske har du installerat en drivrutin som är beroende av din nuvarande kärna? Kanske kör du någon special-modul som krävs för just din dator, som bara finns för just den aktuella kärnan som du kör. För det mesta kan man lösa sådana problem genom att välja att starta den gamla kärnan och sedan ta bort den nya kärnan. Men kaosteorin och Murphys lag lurar alltid runt hörnet, så fortsätt på egen risk.

Några förberedelser

Det är en del paket vi behöver för att kompilera kärnan. Installera dessa paket genom att köra kommandona nedan:

$> su
Password:
#> apt-get update
#> apt-get install build-essential libncurses5-dev libssl-dev bc flex bison libelf-dev

Om du använder ett system med sudo kan du byta ut su mot sudo -i från exemplet ovan, och istället ange ditt egna lösenord (istället för root-lösenordet).

Ladda ner och kompilera den senaste kärnan

Börja med att surfa in på kernel.org och ladda ner den senaste kärnan. Just idag är det 5.0.13. Antingen kan du hämta hem kärnan med din webbläsare, eller med wget som i nedanstående exempel.

ANNONS FÖR VÅRA EGNA BÖCKER Demonerna på internet

$> cd ~/Downloads
$> wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.13.tar.xz

Packa nu upp kärnan med:

$> tar xvf linux-5.0.13.tar.xz

För att ha en bra grundkonfiguration att utgå från väljer jag alltid att kopiera Debians kärnkonfiguration till den nya kärnan. På så sätt får jag en nyare kärna – men fortfarande med Debians konfiguration.

$> ls /boot/config*
/boot/config-4.9.0-6-amd64  /boot/config-4.9.0-9-amd64
/boot/config-4.9.0-8-amd64 

Den senaste konfigurationen här är config-4.9.0-9-amd64, så jag kopierar denna filen till min nya kärna.

$> cd linux-5.0.13
$> cp /boot/config-4.9.0-9-amd64 .config

Därefter kör jag make menuconfig för att uppdatera konfigurationsfilen med alla nya saker som inte fanns i 4.9.0. Kommandot make menuconfig ger dig ett så kallat curses-interface enligt nedanstående bild.

make menuconfig

Använd högerpilen för att välja < Exit >. Du kommer nu få upp en fråga om du vill spara den nya konfigurationen – gör så genom att välja < Yes >.

Spara konfigurationen

Nu är allt klart för att påbörja kompileringen av den nya kärnan. För att snabba upp kompileringen rekommenderar jag dig att välja lika många trådar för kompileringen som antalet kärnor och trådar din CPU har. Min CPU har 4 kärnor och 4 trådar, så jag väljer att kompilera med flaggan -j8 som i exemplet nedan. Tänk dock på att det finns andra faktorer som påverkar. Om du exempelvis har 8 kärnor och 8 trådar är det inte säkert att en kompilering med 16 trådar kommer att gå fortare, mycket beroende på mängden minne du har.

$> make -j8 deb-pkg

Nu är det bara att vänta… Att kompilera en kärna kan ta allt mellan 30 minuter upp till flera timmar, beroende på hur snabb dator du har.

Installera den nya kärnan

När väl kompileringen är klar är det dags att installera den nya kärnan. Eftersom vi valde att skapa Debian-paket av kärnan i steget ovan (med argumentet deb-pkg till make), är detta mycket enkelt.

Vi måste ha root-rättigheter för att installera paketen, så använd antingen su eller sudo, beroende på hur just ditt system är uppsatt.

Debian-paketen läggs i katalogen ovanför katalogen med kärnan. Om kärnan exempelvis ligger i /home/jake/Downloads/linux-5.0.13 så hamnar Debian-paketen i /home/jake/Downloads.

$> su
Password:
#> cd ..
#> dpkg -i linux-headers-5.0.13_5.0.13-1_amd64.deb
#> dpkg -i linux-libc-dev_5.0.13-1_amd64.deb
#> dpkg -i linux-image-5.0.13_5.0.13-1_amd64.deb

Du behöver inte installera paketet som heter linux-image-5.0.13-dbg_5.0.13-1_amd64.deb, detta är en debugging-kärna för felsökning.

Dags att testa den nya kärnan

Om allt har gått vägen är det dags att testa den nya kärnan. Starta om datorn så kommer Debian automatiskt att välja att starta den senaste kärnan som finns installerad. När systemet är igång kan du verifiera att den nya kärnan körs med uname-kommandot.

$> uname -r
5.0.13

Om det skulle vara så att du faktiskt inte kör den senaste kärnan av någon anledning, så kan du testa att starta om igen och vid starten välja Advanced options for Debian GNU/Linux. Här kan välja den kärna du vill starta.

Om den nya kärnan inte går att starta

Om något har gått fel och du inte kan starta den nya kärnan, kan du vid starten av datorn (i GRUB) välja menyalternativet Advanced options for Debian GNU/Linux, och därifrån välja att starta din tidigare kärna.

Du kan sedan avinstallera den trasiga kärnan med

#> apt-get remvove linux-image-5.0.13 linux-headers-5.0.13

Avslutning

Gratulerar till att du installerat en egen kärna i ditt system! Svårare än så här är det faktiskt inte att installera en egen kärna idag. Det finns därför ingen större anledning till att inte installera en nyare kärna, såvida du inte behöver stöd för nyare hårdvara det vill säga. Om allt fungerar som det ska med den kärna som medföljer Debian 9, är det absolut inget fel med att stanna kvar vid den.

Fördelen med att använda Debians egna kärna är att du automatiskt får säkerhetsuppdateringar när du kör apt-get dist-upgrade; något du inte kommer få med en egen kärna. Det är då istället ditt egna ansvar att installera en nyare kärna när det upptäcks säkerhetsbuggar i den kärnan som du kör.


Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.

Kommentarer

Kommentarsfältet är modererat. Det innebär att alla kommentarer granskas av ansvarig utgivare före publicering.

Du väljer själv om du vill ange ditt riktiga namn, en pseudonym eller vara helt anonym. Ingen registrering behövs.