kernel mindentbele! vagy modulok

Fórumok

Tudtok a $SUBJ-al kapcsolatos kimerítő cikket, elmélkedést valahol?

Elgondolkodtam, ha egy adott vasra finomítom a kernelt, akkor sem használok mindent mindig... pl usb, irda, bluetooth, bizonyos fs-ek, egyik helyen eth, máshol ath0 kell, stb...
Érdemes mégis mindent belenyomni? Vagy? Mit gondoltok? Érvek/ellenérvek?

Row

Hozzászólások

"...akkor sem használok mindent mindig..."
Te nem, de ha bent van a hardver állandóan...!
pl ethx, ami az alaplapon van.
általában.

----------------------------------------------------------------
"A megoldas mindeki kerdesere egyszeru.
OLVASSATOK DOKUMENTACIOT!"
by thuglife

"...Te nem, de ha bent van a hardver állandóan...!"
------------------------------------------------------------------
Hát az nem baj. Nem kér enni. Ha nincs driver, akkor az csak egy kupac szilícium.
Általánosabban: van-e akkora overhead-je a modulként kezelt driver-eknek, hogy érdemes legyen inkább beleforgatni? És van-e hátránya, ha olyasmitől lesz nagyobb a kernel, amit csak ritkán fogok betölteni.
Jelen esetben mondjuk még így sem éri el a 2MB-t.

Row

én a kernelemet teljesen monolitikusan fordítom (minden fix), viszont csak azokat amiket tényleg használatba is veszek/vehetek. így jelenleg ~1,5MB a mérete. betöltődéskor is igen gyors és nem hinném hogy 1-2 plusz dolog fogna a teljesítményen.
sztem ha már ettől lényegesen több dolgot kell befordítani a kernelbe az csak olyan esetekre jó ha esetleg változatosabb hardveren is használod (livecd), vagy pl a disztróknál, mivel nem személyre szabott, ilyenkor persze már modulárisan szükséges.
fölösleges olyan dolgokat betenni amire az a rálátás, hogy nem nagyon lesz használva. ha nálam ilyen előfordulna, hogy valami olyan kell ami nincs a kernelben azt meg 1-2 perc alatt beleconfigolom majd make.

na ezt a problémát én kimondottan egyszerűen kezelem. genkernel... ebben szinte minden modul van. a fontos dolgok fixen (ide, fájlrendszerek) a többi modul.
egyetlen hátránya, hogy az első forgatás majd 40 percig tart a sok mosul miatt, de aztán igazából nincsen vele gond.

Korábban én is a 100%-osan monolitikus kernelek híve voltam, de mára ez megváltozott. A moduláris és a monolitikus kernelek sebessége közötti különbség a mai vasakon észrevehetetlen. Ha fordítok, a modulárisat választom, mert így pl. egy hirtelen hálókártya-csere stb. nem okoz gondokat.

USB, IrDa, Bluetooth menjen mind modulba. Általában úgysem sebesség érzékenyek. Viszont ha hibás HW miatt lehal az USB-d, akkor egy "rmmod usbcore" + "insmod usbcore" párossal helyre tudod tenni. Na puff, addig nincs USB-s egér! De statikusan fordított USB-vel ilyenkor csak a rebút segít.
FS-ek menjenek a kernelbe. Még nem láttam rá példát, hogy menet közben egy FS-t el kellett volna távolítani, viszont egy kicsit gyorsabb, ha összefordítod a kernellel.

Ha egy picit a biztonság oldaláról megnézzük a dolgokat, akkor van előnye ha monolitikus kernelt használsz. Beleforgatsz mindent ami kell a gép működéséhez és a kiegészítő eszközökhöz. Kikapcsolod a modul betölthetőségének lehetőségét, így jóval nehezebb lesz a kernel mellé "oda nem való" dolgot betölteni. Igaz ha szükséged van mondjuk pl. nvidia vagy fglrx driverre akkor ez nem járható, de szervereknél jól jöhet ez az elmélet. Cáfoljatok rá ha tévednék vagy hülyeséget beszélnék [ ma még nem reggeliztem :) de már egy sört megittam :) ]

Laci

"Ha egy picit a biztonság oldaláról megnézzük..."

Már nem tom hol olvastam,
a netfilter cuccokat biztonsági okból érdemes fixen beletenni.
Állítólag iptables működés képtelen lehet, aljas szándékú modul kivétel miatt.

----------------------------------------------------------------
"A megoldas mindeki kerdesere egyszeru.
OLVASSATOK DOKUMENTACIOT!"
by thuglife

Szerintem is érdemes mindent belefordítani, amit használni akarsz, és a modul betöltést bekapcsolni - párszor jól jött. A biztonsági kockázat már elhangzott... Ha valami kell, akkor később lehet hozzá modult fordítani, nem kell reboot.

Nálam a vmlinuz 3,2 MB. Gyakorlatilag minden benne van, ami valaha is kellhet (iptables, fájlrendszerek, stb. stb. :))