Så varför skulle man vilja ändra i kärnan? Det finns många olika anledningar men de vanligaste är att du antingen vill ha ett snabbare system genom att ta bort exempelvis tjänster ur kärnan som du inte använder.
Det är vanligt att göra på servrar och liknande som klarar sig bra med bara de viktigaste tjänsterna. En annan anledning att modifiera kärnan kan vara att man behöver stöd för hårdvara som inte finns i kärnan som standard.
Först ett varningens ord, att modifiera kärnan är något som kan förstöra ditt system. Bra att veta är att denna guide främst är utformad för Debianbaserade system.
Innan du börjar behöver du ta reda på vilken version av kärnan du kör för tillfället. Det gör du enklast genom att öppna en terminal och skriva in
uname -r
2.6.17-10-generic
Nu behöver du installera källkoden för din kärna och en del andra paket som behövs när du kompilerar kärnan senare. Fortsättningsvis ska du ersätta versionnumret på kärnan i exemplen som vi använder här med det versionsnummer du fick av kommandot ovan.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
För att slippa skriva in sudo innan varje kommando kan du nu öppna en root-terminal:
sudo /bin/bash
Gå in i katalogen där källkoden ligger och packa upp den komprimerade filen med dessa kommandon:
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Kopiera din nuvarande konfigurationsfil:
cp /boot/config-`uname -r` /usr/src/linux/.config
Nu är det dags att öppna verktyget som hjälper dig genom processen att konfigurera kärnan.
cd /usr/src/linux
make menuconfig
Nu ska du ladda konfigurationsfilen du skapade innan. Gå ner till Load an Alternate Configuration och tryck på enter. Filen . config bör redan vara förvald så tryck bara på enter igen.
Du kan nu bläddra igenom de olika alternativen och välja vad du vill inkludera i din kärna. Är det något alternativ du behöver hjälp om markerar du det och trycker på ”?” på tangentbordet.
Det finns en del saker inkluderade i kärnan som vanliga personer knappast är särskilt intresserade av. Ett exempel på detta här Amateur Radio Support under menyn Networking Support. Om du inte har ett behov av att ansluta din linuxdator till en amatörradio kan du välja bort det här från din kärna.
Gör det genom att markera alternativet och trycka på N på tangentbordet. På motsvarande sätt väljer du Y på tangentbordet om det är något du vill lägga till.
På vissa ställen ser du att det står M bredvid alternativet, det betyder att det inte kommer att bli en del av kärnan utan istället byggas som en modul.
När du är klar trycker du på Exit och väljer att spara konfigurationen.
Innan vi kompilerar kärnan ska vi städa upp lite med följande kommando.
make-kpkg clean
Nu är det dags att faktiskt kompilera kärnan. Här kan du passa på att gå på en promenad eller liknande för det här kommer ta väldigt lång tid.
Använd kommandot:
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
Två stycken .deb filer kommer nu att skapas i /usr/src. Installera dem med följande kommandon och ersätt filnamnen med namnen på dina filer:
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
När du installerat de här två paketen är din nya kärna installerad och kommer att starta som standard när du startar om datorn. Om det är något fel på din kärna är det nu det kommer att märkas. Skulle det vara det, trycker du bara på Esc vid GRUB-prompten och väljer den gamla kärnan istället.