Varför vill någon bygga en ny kärna? Det behövs ofta inte eftersom standardkärnan som skickas med Debian hanterar de flesta konfigurationer. Debian erbjuder även ett flertal alternativa kärnor. Så du kanske vill kontrollera först om det finns ett alternativt kärnavbildningspaket som bättre passar för din maskinvara. Dock kan det vara användbart att bygga en ny kärna för att:
hantera speciella maskinvarubehov eller maskinvarukonflikter med de medskickade kärnorna
använda funktioner i kärnan som inte stöds i de medskickade kärnorna (såsom stöd för mycket minne (high memory support))
optimera kärnan genom att ta bort oanvända drivrutiner för att snabba på uppstarten
skapa en monolitisk istället för en modulär kärna
kör en uppdaterad eller utvecklingskärna
lär dig mer om Linuxkärnor
Var inte rädd att försöka bygga en kärna. Det är kul och ger mycket.
För att bygga en kärna på Debians sätt behöver du några paket: fakeroot
, kernel-package
, linux-source-2.6
och ett fåtal andra som antagligen redan är installerade (se /usr/share/doc/kernel-package/README.gz
för en komplett lista).
Denna metod kommer att göra en .deb av källkoden för din kärna och om du har icke-standardmoduler, göra ett synkroniserat beroende .deb av dessa också. Det här är ett bra sätt att hantera kärnavbildningar på; /boot
kommer att tillhandahålla kärnan, System.map och en logg för den aktiva konfigurationsfilen för byggnationen.
Observera att du inte behöver bygga din kärna på ”Debians sätt”; men vi anser att användning av paketsystemet för att hantera din kärna faktiskt är säkrare och enklare. Du kan till och med hämta källkod för din kärna från Linus istället för paketet linux-source-2.6
och ändå använda byggnationsmetoden för kernel-package
.
Observera att du kan hitta fullständig dokumentation om användningen av kernel-package
under /usr/share/doc/kernel-package
. Detta avsnitt innehåller bara en kort genomgång.
Från och med nu antar vi att du har fria tyglar över din maskin och kommer att packa upp källkoden till din kärna någonstans i din hemkatalog[24]. Se till att du står i katalogen du vill packa upp källkoden till, packa upp den med tar xf /usr/src/linux-source-3.16.tar.xz
och byt till katalogen linux-source-3.16
som har skapats.
Nu kan du konfigurera din kärna. Kör make xconfig
om X11 är installerad, konfigurerad och körs; kör make menuconfig
annars (du behöver ha libncurses5-dev
installerad). Ta lite tid att läsa igenom onlinehjälpen och välj försiktigt. När du är osäker är det normalt sett bättre att inkludera enhetsdrivrutinen (den programvara som hanterar maskinvara och kringutrustning såsom nätverkskort, SCSI-styrkort och så vidare) du är osäker på. Var försiktig: andra inställningar som inte är relaterade till specifik maskinvara bör lämnas kvar med förvalda värden om du inte förstår dem. Glöm inte att välja ”Kernel module loader” i ”Loadable module support” (den är inte vald som standard). Om den inte inkluderas kommer din Debian-installation att få problem.
Rensa källkodsträdet och återställ parametrarna för kernel-package
. För att göra det här, kör make-kpkg clean
.
Bygg nu kärnan: fakeroot make-kpkg --initrd --revision=anpassad.1.0 kernel_image
. Versionsnumret ”1.0” kan ändras om du vill; det är bara ett versionsnummer så att du kan hålla reda på dina kärnbyggnationer. Du kan även mata in vilket ord som helst istället för ”anpassad” (till exempel ett värdnamn). Kärnbyggnationen kan ta sin tid beroende på hur kraftfull din maskin är.
När kompileringen är färdig kan du installera din anpassade kärna som ett vanligt paket. Kör, som root, dpkg -i ../linux-image-3.16-
. underarkitektur
_anpassad.1.0_amd64.debUnderarkitekturens
del är en valfri underarkitektur, beroende på vilka kärninställningar du valt. dpkg -i
kommer att installera kärnan tillsammans med några andra trevliga hjälpfiler. Till exempel, System.map
kommer att installeras korrekt (behjälplig för felsökning av problem med kärnan) och /boot/config-3.16
kommer att installeras som innehåller dina aktuella konfigurationsinställningar. Ditt nya kärnpaket är också tillräckligt smart för att automatiskt uppdatera starthanteraren för att använda den nya kärnan. Om du skapat ett modulpaket, behöver du installera det paketet också.
Nu är det tid för att starta om systemet: läs noga alla varningar som det ovanstående steget kan ha producerat, kör sedan shutdown -r now
.
För mer information om Debians kärnor och byggnation av kärnor, se Handbok för Debians Linuxkärna. För mer information om kernel-package
, läs den utmärkta dokumentationen i /usr/share/doc/kernel-package
.
[24] Det finns andra platser där du kan packa upp källkoden och bygga din anpassade kärna men det är lättast eftersom det inte kräver speciella rättigheter.