Artikelkategori: Kärnan
Skriven av exz 2003-10-12 22:11
url: http://www.kernel.org

Lätt installationsguide.

Detta är en lätt guide om hur du kompilerar in en ny kärna i ditt linuxsystem. Denna artikel kräver att du har lite kunskap om linux och vad du har för hårdvara i din dator. Om det är något som är oklart eller något som är fel så är det bara att skicka ett mail. :)


Vi börjar med att tanka ner en ny kärna från www.kernel.org. I skrivande stund är senaste stabila kärnan version 2.4.22. Om du har tagit ner en annan version av kärnan så måste du förstås byta ut versionnumret i alla kommandon. :-)

När du har tankat ner den nya kärnan så är det dags att packa upp den, detta görs normalt med kommandot tar:

tar zxf linux-2.4.22.tar.gz

Nu borde du ha en katalog som heter linux-2.4.22 och då ska vi börja med det roliga. :-)
Gå in i katalogen linux-2.4.22 och skriv make menuconfig. (Fick tips i forumet om att man ibland kan få ett felmeddelande om man inte kör make mrproper första gången man packat upp kärnan.)

cd linux-2.4.22
make mrproper
(endast första gången efter att du packat upp den)
make menuconfig


Nu kommer ett textbaserat konfigurationsprogram att uppenbara sig, detta kräver att du har ncurses-5.3-i386-1 installerat. Gå nu noggrant igenom detta konfigurationsprogram och ställ in det för att passa just ditt system. Fuska inte med detta! Det är viktigt att du får med stöd för den hårdvara du har i din dator och den mjukvara du har tänkt att köra. (T.ex. samba eller iptables).
När du har konfigurerat din kärna klart så väljer du exit tills du får upp en förfrågan om att spara din konfiguration, och det vill du väl helst göra? :-) Du kan även välja att spara en backup på din config genom att välja "Save Configuration to an Alternate File". Då kommer filen .config att skapas på angivet ställe.

När du har sparat din konfigurationsfil så är det dags att kompilera den nya kärnan. Detta kan göras på ett par olika sätt, men eftersom det är min artikel ni läser, så är det på mitt sätt ni kompilerar kärnan. :-)

make dep clean modules modules_install bzImage

Det är inte alltid du behöver göra allt detta. Om du bara vill lägga till nya moduler (Moduler är de som är markerade med ett 'M' i konfigurationsprogrammet.) så behöver du inte ha med bzImage. Om du däremot kompilerar ett system helt utan moduler så behöver du inte ha med modules eller modules_install. Men om du är osäker så bör du använda hela raden.
Att kompilera hela kärnan kan ta ett tag, det beror lite på hur snabb dator du har och hur mycket du har valt att ha med i din kärna. Men du kan bereda dig på att du hinner ta en pisspaus iallafall. :-)

Om din kompilering klarar sig helt utan felmeddelanden så kan du gå in i arch/i386/boot och leta efter en fil som heter bzImage. Om den filen finns där så bör allting ha gått rätt till under kompileringen. Filen bzImage är en packad fil med allt som du valde i konfigurationsprogrammet. Det är den som packas upp och körs när du startar linux.
Nu är det dags att flytta din nya kärna till /boot. Se dock till så att du inte skriver över någon befintlig bzImage i katalogen /boot! Du kan dessutom döpa om bzImage till t.ex. bzImage-2.4.22 för att ha lite bättre koll.

cp bzImage /boot/bzImage-2.4.22

Nu när kärnan finns på sin plats så är det dags att konfigurera din bootloader. Jag använder bootloadern LILO och därför kommer denna artikel att rikta sig mot den. Om du kör någon annan bootloader så borde det finnas manualsidor eller dokument på deras hemsida om hur man gör detta.

Först så editerar vi filen /etc/lilo.conf, jag använder texteditorn pico men det fungerar lika bra med vilken som helst. :-)

pico /etc/lilo.conf

Din lilo.conf fil kanske inte ser ut exakt såhär, men du bör ha något liknande i din lilo.conf-fil:

image = /boot/vmlinuz
root = /dev/hda1
label = Linux
read-only


Här råder jag dig att låta den gamla kärnan stå kvar i lilo.conf för att du ska kunna få igång på ditt system igen, om din kärna av någon anledning inte vill starta. Därför gör vi ett nytt val i lilo.conf:

image = /boot/bzImage
root = /dev/hda1
label = LinuxNEW
read-only


För att kunna välja kärna vid startup så måste du även ha dessa inställningar lite längre upp i din lilo.conf:

prompt
timeout = 30


Detta gör att du får 30 sekunder på dig att välja vilken kärna du vill starta med. Som sagt, lilo.conf varierar beroende på hur ditt system ser ut, så kolla upp i din lilo.conf och skriv av därifrån.

Nu när vi har konfigurerat om bootloadern så måste vi ladda den till mbr (Master Boot Record). Det gör vi genom att skriva lilo i prompten. Och då borde du få upp något sånt här:

Added Linux *
Added LinuxNEW


Detta betyder att den startar kärnan med namn "Linux" i lilo.conf om inget annat väljs, men att du även har kärnan vid namn "LinuxNEW" att välja på. Om du även får en varning som säger "Warning: LBA32 addressing assumed" så är det inget att oroa sig för. Den berättar bara att den antar att du vill ha stöd för LBA32 addressering fastän du inte har den inställningen med i lilo.conf.

Nuså är det dags att starta om med den nya kärnan och hoppas på att allting fungerar som det ska. ;)


Jag hoppas att denna guide har varit till hjälp. Kontakta mig gärna via mail om du anser att denna artikel har hjälpt dig, sådant är alltid kul att höra. :) Om du har några synpunkter på artikeln eller hittat något fel så får du gärna maila mig då också. Jag svarar på det mesta.
×