Kernel fordítás
A következőkben egy teljes kernel fordítását írom le. Nem patchelésről lesz tehát szó.
Amivel kezdened kell, hogy letöltöd a legfrissebb (stabil, tehát az x.szam.x-nél a szám legyen páros) kernelt. Ennek a www.kernel.org-on tudsz utánna nézni.
A letöltött kernel csomagolva lesz, vmi.tar.gz néven. Ezt kicsomagolva be kell másolni a /usr/src könyvtárba (mielőtt elfelejteném, természetesen mindezt root-ként kell végezned). Én javaslom az MC (midnight commander) használatát. Én úgy szoktam, hogy az usr/src-be csinálok egy könyvtárat, olyan névvel ami megmondja, hogy milyen kernelről van szó. Például most van egy usr/src/linux2214 nevű könyvtáram amiben a 2.2.14-es kernel source van. A linux2214 könyvtárra pedig mutat egy symlink, /usr/src/linux néven. Mindig így használd, tehát a symlinken keresztül lépj a könyvtárba (pl.: cd /usr/src/linux).
Négy módon tudsz a kernel fordításra előkészülni és a makefile-ket konfigurálni.
- Kézzel editálod (kezdőknek nem javasolt)
- Futtatod a make config-ot, ennek az a baja, hogy ha valamit elrontasz, újra kell kezdened a konfigurációt
- make menuconfig (én legtöbbször ezt használom), karakteres felületű,menüvezérelt konfigurálást tesz lehetővé
- make xconfig az előzőhöz hasonló, csak grafikus módban (én nem kedvelem)
- make clean (erre az első kernel fordításkor nincs szüség, de ha újra fordítasz akkor már igen)
- make menuconfig (így nagyon kényelmesen tudod konfigurálni a kerneledet)
- make dep (meghatározza a függőségeket)
- make bzImage (létrehozza az új kernelt, tömörítve és elhelyezi a /usr/linux/arch/i386/boot könyvtárba, bzImage néven.
- make modules (ha a kernel egyes részeit modulba konfiguráltad akkor szükséges. Szinte biztos van ilyen)
- make modules_install (elhelyezi a modulokat a megfelelő könyvtárba)
- a bzImage kernelt másold a /boot könyvtárba, és adj neki valami normális nevet, például kernel-2214.
- készítsd el a gyökérből a rámutató symlinket és konfiguráld a lilót (a liló konfigurálását egy másik cikkben írom meg)
- futtasd a lilót--> lilo .
- Ha a rendszert újra bootolod , már indíthatod is az új kerneleddel.
Természetesen a kernel fordításhoz is van részletes dokumentáció, a linuxdoc-on.
Ha kérdésed van írj levelet a mrsla@hwsw.hu-ra.
[oldal:Csomagot a kernelből, azaz a make-kpkg használata]
A make-kpkg használata több szempontból is használatra ajánlható. A make-kpkg-t használva, a kernel, a modulok, a lilo.conf is egy deb csomagba kerül. Így ha több, ám azonos (például vállalati gépek esetén) hardverrel ellátott gépen kell frissítened a kernelt, sok munkát megtakaríthatsz a kernel frissítésekor.A munkamenet nagyon egyszerű, a következőket kell csinálni:
- cd 'kernelforrás'
- make menuconfig
- make-kpkg clean
- make-kpkg --revision=kernel.datum.verzio kernel_image
- dpkg -i 'kernelcsomag.deb'
Figyelj oda, hogy a make-kpkg vmlinuz-nak nevezi el a kernelt! Ha már van ilyen nevű kerneled, akkor azt felülírja egy rákérdezés után. Ezért javaslom, hogy mindig legyen boot lemezed, vagy egy más nevű kerneled.