Hur man anpassar din Ubuntu-kärna
Kärnan anpassning är inte för alla. Observera innan du försöker något av detta att det kan bryta ditt system.
Det finns massor av skäl att du vill anpassa din kärna. Du kanske vill trimma ner din kärna till bara de nödvändiga tjänsterna, speciellt om du kör en server eller dedikerad enhet som bara kräver det väsentliga. Du kan också behöva patchera din kärna för att stödja maskinvara som inte stöds för närvarande med kärnan du kör på.
Den här artikeln kommer inte att förklara hur du korrigerar din kärna, bara hur du anpassar din nuvarande. Jag har en annan uppföljningsartikel som förklarar hur du korrigerar din kärna och några praktiska skäl till varför du skulle vilja göra det.
För att börja, måste vi ta reda på vilken version av kärnan som vi kör för närvarande. Vi använder kommandot uname för det
$ uname -r
2.6.17-10-generic
Nu måste vi installera Linux-källan för din kärna, notera att jag kör 2.6.17-10-kärnan, så installatörslinjen speglar det. I den här artikeln kan du ersätta kärnans nummer för vad du än kör. Vi måste också installera förbanningsbiblioteket och några andra verktyg för att hjälpa oss att kompilera.
sudo apt-get install Linux-source-2.6.17 kärnpaket libncurses5-dev fakeroot
Om du är nyfiken där Linux-källan installeras, kan du använda kommandot dpkg för att berätta för filerna i ett paket. Här är utmatningen på mitt system:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ Usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ Usr / share
/ Usr / share / doc
/usr/share/doc/linux-source-2.6.17
(Trimmas)
Vi kan se att källan har installerats i katalogen / usr / src i en zip-fil.
För att göra det enklare lägger vi oss i root-läge genom att använda sudo för att öppna ett nytt skal. Det finns andra sätt att göra detta, men jag föredrar det här sättet.
sudo / bin / bash
Ändra nu katalog till källplatsen så att vi kan installera. Observera att du kan behöva installera bunzip-verktyget om det inte är installerat. (det var på min)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tjära xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Gör en kopia av din befintliga kärnkonfiguration för att använda för den anpassade kompileringsprocessen. Observera att 'tecknet är den som ligger under tilde ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Nu ska vi starta verktyget som låter oss anpassa kärnan:
cd / usr / src / linux
gör menuconfig
Först, gå ner till Ladda en alternativ konfigurationsfil och ladda .config-filen. (tryck bara in)
Nu när vi är inuti verktyget kan vi ställa in alternativen för vår anpassade kärna. Navigering är ganska enkel, det finns en legend överst om du går vilse. Jag bestämde mig för att välja Networking och slår Enter-knappen för att gå ner till den kategorin.
Amatörradio support? Vad i helvete är det installerat för? Du noterar med * att den är inbyggd i kärnan.
Genom att trycka på? nyckel, vi kan se hjälp för det aktuella objektet. Här är förklaringen:
Tja, jag kommer att inaktivera det omedelbart. Varför är det installerat i min kärna i alla fall? Jag slår Esc för att avsluta hjälpskärmen och sedan slå N för att utesluta det från min kärna.
När du är klar gör du vad du vill ha, klicka på Avsluta och spara konfigurationen när du blir ombedd.
Nu har vi en konfiguration redo för kompilering. Först gör vi en ren renhet, för att se till att allt är klart för kompileringen.
make-kpkg ren
Nästa kommer vi faktiskt att sammanställa kärnan. Detta kommer att ta lång tid, så gå hitta något intressant att göra.
fakeroot make-kpkg -initrd -append-to-version = -anpassade kernel_image kernel_headers
Denna process kommer att skapa två .deb-filer i / usr / src som innehåller kärnan. Linux-image ****-filen är den faktiska kärnbilden, och den andra filen innehåller Du kan installera både med dpkg. Filnamnen kommer förmodligen att vara annorlunda på ditt system.
Observera att när du kör följande kommandon ställer den nya kärnan som den nya standardkärnan. Detta kan bryta saker! Om din maskin inte startar kan du trycka på Esc på GRUB-laddningsmenyn och välj din gamla kärna. Du kan sedan inaktivera kärnan i /boot/grub/menu.lst eller försök att kompilera igen.
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
Starta om din maskin nu. Om allt fungerar ska du köra din nya anpassade kärna. Du kan kontrollera detta genom att använda uname. Observera att det exakta numret kommer att vara annorlunda på din maskin.
uname -r
2.6.17.14-ubuntu1-custom
Jag planerar att skriva en serie artiklar om kärnanpassning, så prenumerera på RSS-flödet för uppdateringar.
Också, för att få fullständigt avslöjande, lärde jag mig hur jag gör det från artikeln på HowtoForge, vilket är en bra hemsida för några mycket avancerade handledningar på Linux. Du noterar att många av stegen i den här artikeln är likartade, även om jag försökte göra den här artikeln mer "Ubuntu".