Installera en nyare kärna i Debian 9 (Stretch)
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.
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.
$> 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.
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 >.
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.
Relaterade artiklar
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Var försiktig med att curl:a skript som root
Att installera program i Linux genom att omdirigera utdata från Curl till skalet är snabbt och smidigt. Men det är ack så farligt om du inte känner till programmet eller dess ursprung.
-
Vidarebefordran av SSH-agenten
SSH agent forwarding, eller vidarebefordran av SSH-agenten, innebär att man kan vidarebefordra SSH-agenten till ett fjärrsystem. På så sätt behöver man inte kopiera sin privata SSH-nyckel till fjärrsystemet, eller skapa flera nycklar för olika system. Men det finns risker med det.
-
Jenkins som ett alternativ till Ansible Tower
Ansible Tower kommer med en stor prislapp, speciellt för ett mindre företag eller en privatperson. AWX å andra sidan är helt fritt, men kräver numera Kubernetes. För den som vill automatisera sina Ansible Playbooks går det dock bra att använda Jenkins som en ersättning för Tower och AWX.
-
Hämta data från API:er med cURL och jq
Med cURL och jq går det att extrahera data från API:er direkt från kommandoraden. Jq är en JSON-tolkare och beskrivs av utvecklarna som sed och awk för JSON.
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.