Kompilera in i kärnan eller köra som modul? Vad är bäst?

Permalänk
Medlem

Kompilera in i kärnan eller köra som modul? Vad är bäst?

För en tid sedan gjorde jag en stage3 installation av Gentoo och då mina skills var begränsade valde jag att köra på Genkerneln. Nu är jag dock sugen på att kompliera en kärna och har några frågor.

Finns det några tumregler på vad man bör lägga i kärnan respektive köra som moduler? Jag läste någonstans att stöd för SATA-kontrollern kan vara vettigt att lägga direkt i kärnan och har fått för mig att ljud- och nätverksdrivrutiner körs normalt som moduler.

Är det någon vits att lägga in allt hårdvarustöd direkt i kärnan, som att det exempelvis skulle gå något snabbare än att behöva ladda moduler lite då och då? Eller är detta försumbart?

Vad jag har förstått är stora fördelen med moduler att man kan ladda om dem utan att behöva starta om hela systemet.

Det skulle vara intressant och höra hur ni andra har löst det hela och gärna en liten motivering varför.

Permalänk
Medlem

Du har rätt för dig. Saker som krävs är vanligare att man bygger in.
t.ex disk-controllers, chipset, system-funktioner, filsystem osv..

ljudkort, tvkort, nätverk osv.. är bättre att hålla som moduler.

Sen vet jag inte rikigt, men kerneln blir snabbare av att ha mindre inbyggt har jag för mig, iaf. tar mindre minne med.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av maDa

Sen vet jag inte rikigt, men kerneln blir snabbare av att ha mindre inbyggt har jag för mig, iaf. tar mindre minne med.

Om man laddar alla moduler som man kompilerar och jämnfrör det med att kompilera in dem i kärnan istället för moduler borde inte
kärnan bli lika stor och ta samma mängd minne?

tomten
Jag brukar köra in så mycket som möjligt i kärnan, men är det något jag bara vill testa så brukar det bli moduler för att slippa omstart och krångel med att kerneln inte fungerar, sen när jag vet att saker och ting fungerar så brukar jag kompilera in det i kärnan.

Visa signatur
Permalänk

Kan vara värt att tänka på att moduler kan vara en säkerhetsrisk...

Man bör endast använda moduler till sådant man sällan använder, t.ex. stöd för VFAT som man kanske bara behöver lite då och då för USB-kort eller liknande.

Permalänk
Medlem

Det är även rekommenderat att ljudkortsdrivisar blir kompilerade som moduler. Även nätverkskort och sånt.

Visa signatur

Laptop: Zepto Znote 3215W | Intel C2D T7250 2.0ghz | 2GB ram | Intel X3100 GPU | 120 GB 5400rpm hdd | Intel 4965 AGN | 9-cell batteri
Kamera: Nikon D80 + batterigrepp | Nikkor AF-S DX 18-55mm 3.5-5.6G VR | Nikkor AF-S 70-300/4.5-5.6 G VR IF-ED | Nikkor AF 50mm 1.8D | Nikon SB-600 blixt

Permalänk
Citat:

Ursprungligen inskrivet av Synt4x_3rr0r
Det är även rekommenderat att ljudkortsdrivisar blir kompilerade som moduler. Även nätverkskort och sånt.

Skulle nog säga tvärtom. Det är mycket krångligare att hantera ljudkort som moduler än inbyggt.

Inbyggt "just works" utan vidare ansträngningar medan moduler kan resultera i att man måste redigera runt i en massa config-filer och verkligen se till att man laddar alla moduler; då alla inte laddas automatiskt.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sachankara
Skulle nog säga tvärtom. Det är mycket krångligare att hantera ljudkort som moduler än inbyggt.

Inbyggt "just works" utan vidare ansträngningar medan moduler kan resultera i att man måste redigera runt i en massa config-filer och verkligen se till att man laddar alla moduler; då alla inte laddas automatiskt.

Vissa ljudkort måste du ge parametrar till modulen för att få igång t.ex Coax/TOS-utgång eller passthrough. Då vill man hellre ha som moduler. Annars brukar alsaconf fixa sådant.

Permalänk
Medlem

Kernel 2.6.x laddar automatiskt de moduler man behöver för hårdvara på systemet, om man väljer in det i kernel-konfigurationen. Det har fungerat utan problem för mig. Så jag har gått över till att ha så lite inbyggt i kerneln som möjligt. Skulle man behöva ladda moduler manuellt så kan man skicka med extra parametrar också, vilket kan vara bra. Vissa saker fungerar faktiskt inte om man inte använder moduler. Vet inte hur det är med minnesåtgången för en kernel, men är inte själva kernel imagen under 2 mb? Tror inte att minnesåtgången har någon betydelse alls, men rätta mig om det är fel.

Permalänk
Medlem

Intressant med lite feedback. En polare jag frågade gillade att lägga allt hårdvarustöd i kärnan så långt det var möjligt, vilket tydligen en del andra anser också. Någon hävdade att kärnan växer i storlek, men spelar det verkligen någon roll? Genkerneln ligger på 1,8 MB i storlek och jag provkomplierade en kärna med större delen av hårdvarustödet inbyggt och landa på 2,5 MB. Huvudsaken är väl att kärnan hamnar under 32MB, då min bootpartition inte är större, även om jag har svårt att se hur kärnan skulle växa så pass mycket. Kärnan blir väl inläst till primärminnet sen och då jag har 1024 MB i ram borde det väl vara rätt lugnt.

En stor kärna med mycket inkompilerat blir väl inte "slöare" än en mindre kärna med basfunktionerna med tillhörande moduler, eller? Som NaturMackan nämde kan man ju ladda modulerna automatiskt. När jag valde Genkerneln tidigare såg jag i dokumentationen att man även kunde köra nåt som hette "coldplug" som autodetektar hårdvaran och laddar lämpliga moduler vid uppstart, vilket kan vara rätt bekvämt om man är lat eller är en färsking.