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

2. Viktiga frågor och svar på dessa

2.1 Vad är det kärnan gör, förresten?

Unix-kärnan fungerar som en medlare mellan dina program och din hårdvara. Först och främst så utför den (eller ser till så att det blir utfört) minneshantering för alla program (processer) som körs, och ser till så att alla får sin rättvisa (eller orättvisa, det beror på hur man ser på saken) tilldelning av processor-cykler. Vidare så tillhandahåller den ett trevligt, ganska portabelt gränssnitt, som gör att programmen kan prata med din hårdvara.

Kärnan gör visserligen mer än så, men dessa grundläggande funktioner är de viktigaste att känna till.

2.2 Varför skulle jag vilja uppgradera min kärna?

Nyare kärnor erbjuder generellt möjligheter att prata med flera typer av hårdvara (de har alltså fler enhets-drivrutiner), de kan ha bättre process-hantering, de kan arbeta snabbare än äldre versioner, de kan vara mer stabila än äldre versioner och de kan rätta till fjantiga buggar i äldre versioner. De flesta uppgraderar sina kärnor för att de vill ha drivrutinerna och bugg-fixarna.

2.3 Vilken slags hårdvara stödjer de nyare kärnorna?

Se Hardware-HOWTOn. Eller så kan du ta en titt på `config.in'-filen i Linux-källkoden, eller helt enkelt få reda på det när du kör `make config'. Detta visar dig all hårdvara som stöds av standard-distributionen av kärnan, men inte allt som Linux stödjer; många vanliga enhets-drivrutiner (såsom PCMCIA-drivrutinerna och band-drivrutinerna) är laddningsbara moduler, vilka utvecklas och distribueras separat.

2.4 Vilka versioner av gcc och libc behöver jag?

Linus rekommenderar en viss version av gcc i README-filen, som kommer med Linux-källkoden. Om du inte har denna version, så talar gcc-dokumentationen i den rekommenderade versionen av gcc om ifall du behöver uppgradera libc. Detta är inte en svår procedur, men det är viktigt att du följer instruktionerna.

2.5 Vad är en laddningsbar modul?

Dessa är delar av kärn-koden, vilka inte länkas (inkluderas) direkt till kärnan. Man kompilerar dem separat, och kan sätta in dem och ta bort dem från kärnan som körs, nästan när som helst. P.g.a. deras flexibilitet, så är de nu det mest populära sättet att koda vissa kärn-funktioner. Många populära enhets-drivrutiner, såsom PCMCIA-drivrutinerna och QIC-80/40 band-drivrutinerna, är laddningsbara moduler.

2.6 Hur mycket hårddisk-utrymme behöver jag?

Det beror på just din system-konfiguration. Den komprimerade källkoden är nästan 6 megabytes stor, vid version 2.0.10. De flesta behåller denna även efter uppackningen. Uppackad tar den upp 24 MB. Men det räcker inte med det -- du behöver mer för att faktiskt kompilera den. Detta beror på hur mycket stoppar in i din kärna. På en specifik maskin, t.ex., så har jag nätverk, 3com 3C509-drivrutinen och tre filsystem konfigurerade, till vilket det går åt 30 MB. Om vi lägger till den packade Linux-källkoden, så behöver du runt 36 MB för just denna konfiguration. På ett annat system, utan nätverks-enhets-stöd (men fortfarande med nätverks-stöd) och ljudkorts-stöd, tar den upp ännu mera utrymme. En nyare kärna har dessutom med stor säkerhet ett större källkods-träd än en äldre, så rent generellt, om du har en massa hårdvara, så måste du se till att du har en tillräckligt stor hårddisk i röran (och med dagens prisläge kan jag inte låta bli att rekommendera dig att skaffa en till hårddisk, som ett svar på dina utrymmes-problem).

2.7 Hur lång tid tar det?

För de flesta är svaret "ganska lång tid". Ditt systems hastighet och mängden minne du har bestämmer, i sista instans, tiden, men det har även en del att göra med mängden grejer du konfigurerar in i kärnan. På en 486DX4/100, med 16 MB RAM, tar det, för en v1.2-kärna med fem filsystem, nätverks-stöd och ljudkorts-drivrutiner runt 20 minuter. På en 386DX/40 (8 MB RAM), med en liknande konfiguration, tar kompileringen nästan en och en halv timme. Det är generellt sett en bra rekommendation att ta en kopp kaffe, se på TV, sticka, eller vad du nu brukar göra för skojs skull, när din maskin kompilerar en kärna. Du kan även be någon med en snabbare maskin kompilera en kärna åt dig, om du har en långsam maskin.


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