A Unix kernel a közvetítő a programok és a hardver között. Menedzseli a memóriát az összes futó program (processz) számára, és biztosítja, hogy mind egyenlően (vagy egyenlőtlenül, ha úgy tetszik) részesüljenek a processzor ciklusaiból. Továbbá egy kényelmes, hordozható felületet nyújt a programoknak, amelyen át kommunikálhatnak a hardverrel.
Ennél persze jóval több szót érdemelne a kernel működése, de ezeket az alapvető funkciókat a legfontosabb ismerni.
Az újabb kernelek általában többféle hardverrel tudnak együttműködni, mint a régebbiek (azaz több eszközmeghajtójuk van). Lehet hogy az új kernelnek jobb a processzkezelése, gyorsabb vagy stabilabb, mint a régi verzió, és már ki van benne javítva az előző ismert hibája. A legtöbben az eszközmeghajtók és a kijavított hibák miatt frissítenek kernelt.
Lásd a Hardware-HOWTO-t. Továbbá megnézheted a `.config
' fájlt a linux forrásában, vagy kiderül, ha kiadod a `make config
', a `make menuconfig
' vagy a `make xconfig
' parancsot.
Ez megmutatja az összes hardvert amit a szabványos kernel csomag támogat, de nem mindent, amit a linux támogat. Sok elterjedt eszközmeghajtó (mint például a PCMCIA kártyák és némely szalagos egység meghajtója) betölthető modulként van megírva, amelyeket külön gondoznak és terjesztenek.
Linus ajánl egy gcc verziót a linux forráshoz mellékelt README
fájlban. Ha neked nincs meg ez a verzió, a gcc ajánlott verziójának dokumentációja megmondja, hogy kell-e frissíteni a libc-t.
Ez nem egy bonyolult eljarás, de fontos betartani az utasításokat.
Ezek a kernel program olyan részei, amelyek nincsenek közvetlenül beillesztve a kernelbe. Ezeket külön kell lefordítani, és szinte bármikor be lehet illeszteni őket a futó kernelbe, illetve ki lehet venni onnan. A rugalmassága miatt már ez a legelterjedtebb módszer bizonyos kernelszolgáltatások programozására. Sok népszerű eszközmeghajtó, mint például a PCMCIA meghajtók és a QIC-80/40 szalagos egység meghajtója betölthető modulként van megírva.
Ez az adott konfigurációtól függ. Először is a tömörített linux forrás majdnem 14 megabájt a 2.2.9-es verziónál. A legtöbb helyen ezt a kicsomagolás után is megtartják. Kibontva, és egy átlagos konfigurációval lefordítva még 67 MB hely kell neki.
Az újabb gépeken a fordítás sokkal kevesebb időt vesz igénybe, mint a régieken. Egy AMD K6-2/300 egy gyors merevlemezzel körülbelül négy perc alatt végez a 2.2.x kernel fordításával. A régi Pentiumos, 486-os és 386-os gépeken ez órákig, esetleg napokig is eltarthat.
Ha ez gondot okoz, akkor megkérhetsz valakit, akinek gyors gépe van, hogy fordítsa le neked a kernelt (feltéve, hogy jó paramétereket adsz meg, a legfrissebb segédprogramokat használod, stb.), és az új kernelt átmásolod a lassú gépre.