Nästa Föregående Innehållsförteckning

4. Kompilera kärnan

4.1 Städa upp och ange beroenden (Cleaning and depending)

När configure-programmet avslutas säger det också åt dig att `make dep' och (eventuellt) `clean'. Kör alltså `make dep'. Detta ser till så att alla beroenden (dependencies), som include-filerna, är på plats. Det tar inte lång stund, om inte din dator är ganska långsam från början. För äldre kärn-versioner ska du köra en `make clean' när du är klar. Detta tar bort alla object-filer och några andra saker, som en gammal version lämnar efter sig. I vilket fall som helst, glöm inte detta steg, innan du försöker kompilera om en kärna.

4.2 Kompilerings-dags

Efter dep och clean, så kan du nu antingen köra `make zImage' eller `make zdisk (det är den här delen som tar lång tid). `make zImage' kommer kompilera kärnan och lämna en fil i arch/i386/boot, vilken heter `zImage' (tillsammans med en del andra saker). Detta är den nya, packade kärnan. `make zdisk' gör samma sak, men lägger också in den nya zImage på en diskett, vilken du förhoppningsvis satt in i floppy-station "A:". `zdisk' är ganska praktiskt för att pröva nya kärnor; om den krashar (eller helt enkelt inte fungerar speciellt bra), ta bara ut disketten och starta om med din gamla kärna. Det kan också vara ett praktiskt sätt att starta upp om du av misstag tar bort din kärna (eller något lika hemskt). Du kan också använda den för att installera nya system, när du just har dumpat innehållet från en hårddisk på en annan ("allt det här och mer! HUR mycket skulle du betala?").

Alla åtminstone halvvägs resonabla nya kärnor är packade, därav `z' framför namnet. En packad kärna packar automatiskt upp sig själv när den körs.

4.3 Andra "make"-prylar

`make mrproper' gör en mer omfattande `clean'. Ibland är det nödvändigt; du kanske vill göra det vid varje patch. `make mrproper' tar också bort din konfigurerings-fil, så du ska antagligen ta en säkerhetskopia av den (.config) om du tycker den är värdefull.

`make oldconfig' gör ett försök att konfigurera kärnan från en gammal konfigurerings-fil; det kör igenom `make config'-processen åt dig. Om du aldrig har kompilerat en kärna förut eller inte har en gammal config-fil, så ska du antagligen inte göra detta, eftersom du antagligen kommer ändra standard-konfigureringen.

Se avsnitten om moduler för en beskrivning av `make modules'.

4.4 Installera kärnan

När du har en ny kärna som verkar fungera som du vill att den ska fungera, så är det dags att installera den. De flesta använder LILO (Linux Loader) till detta. `make zlilo' installerar kärnan, kör LILO på den och fixar allt, så att det bara är att starta upp, MEN ENDAST om lilo är inställd på följande sätt på ditt system: kärnan är /vmlinuz, lilo finns i /sbin och din lilo-konfigurering (/etc/lilo.conf) inte har något att invända.

Annars blir du tvungen att använda LILO direkt. Det är ett ganska enkelt paket att installera och arbeta med, men det har en tendens att förvirra människor med sin konfigurerings-fil. Titta på konfigurerings-filen (antingen /etc/lilo/config, för äldre versioner, eller /etc/lilo.conf, för nyare versioner), och kolla upp den nuvarande konfigureringen. lilo.conf-filen ser ut så här:

    image = /vmlinuz
        label = Linux
        root = /dev/hda1
        ...

`image =' anger den kärna du för tillfället har installerad. De flesta använder /vmlinuz. `label' används av lilo för att bestämma vilken kärna, eller vilket operativ-system, som ska startas, och `root' är / för just det operativ-systemet. Gör en säkerhets-kopia av din gamla kärna och kopiera zImage-filen, vilken du just skapat, dit den ska vara (du skulle köra `cp zImage /vmlinuz' om du använder `/vmlinuz'). Kör sedan lilo igen -- på nyare system så kan du köra `lilo', men på äldre grejer kanske du blir tvungen att köra /etc/lilo/install, eller till och med en /etc/lilo/lilo -C /etc/lilo/config.

Om du skulle vilja veta mer om LILOs konfigurering, eller om du inte har LILO, skaffa den senaste versionen från din favorit-ftp-sajt och följ instruktionerna.

För att starta upp en av dina gamla kärnor från hårddisken (ett annat sätt att rädda dig om du gör något dumt med den nya kärnan), så kopiera raderna nedan (och inklusive) `image = xxx' i LILOs konfigurerings-fil till slutet av filen, och modifiera `image = xxx' till `image = yyy', där `yyy' är den fullständiga sökvängen till filen du sparade din säkerhetskopia av kärnan som. Ändra sedan `label = zzz' till `label = linux-backup' och kör lilo igen. Det kan vara nödvändigt att lägga in en rad som säger `delay=x', där x är antalet tiondelar, vilket säger åt LILO att vänta så lång tid innan det startar upp, så att du kan avbryta det (med shift-knappen t.ex.), och skriva in den säkerhets-kopierade kärnans "label" (om något otrevligt skulle hända).


Nästa Föregående Innehållsförteckning