Mostanság talán túl sokat írok ide, de nem tehetek róla hogy annyi minden történik :-)
Ma, végre sikerült lefordítani életem első kernelét, úgy hogy minden működjön rajta! Régebben is sikerült 1-1 alkalommal, bootolt is egy ideig, de nem volt az igazi, mert kidobott egy busybox-ot, a bash helyett, ezzel meg nem tudtam mit kezdeni.
De, végre sikerült :)) Ez számomra akkora öröm, hogy madarat lehetne velem fogatni :))
Nos, de hogy is csináltam?
Konzolba:
#Rendszergazda módba váltok
1. sudo bash
#Átlépek a források könyvtárába
2. cd /usr/src
#Letöltöm a kernel forrást
3. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.9.tar.bz2
#Kitömörítem a kernel forrást
4. tar -xf linux-2.6.23.9.tar.bz2 //kitömörítettem a forrást
#Elindítom a synaptic csomagkezelőt
5. synaptic
6. telepítettem a következő programokat: (apt-get install vagy aptitude install parancsokkal is lehet, de így kényelmesebb mindenkinek) build-essentinal, gcc, make, binutils, module-init-tools, modutils, procps, libc6-dev / glibc-dev; patch, bzip2, libncurses5-dev (menuconfig), tk8.4 (xconfig), libgtk2.0-dev & libglade2-dev & libglib2.0-dev (gconfig), libqt3-dev (xconfig); e2fsprogs, reiserfsprogs
Bár sokak szerint a build-essentinal elég lett volna (és talán igazuk is van) nem akartam semmit se a véletlenre bízni, mert a gépem majd' 4 óra alatt végez a kernel fordítással, nem akarom hogy valahol leakadjon, ezért lehetséges hogy felesleges csomagokat is telepítettem. De inkább több mint kevesebb.
#A kernel forssásához ugrás
7. cd linux-2.6.23.9
# A kernel testreszabó program lefordítása és indítása. A menuconfig egy konzolos konfiguráló, de nagyon jól lehet használni. Persze, a menuconfig helyett lehet a gconfig és xconfig programokat is használni, ezek már valóban grafikus felületűek. Elméletileg nincs külömbség közöttük, de a menuconfig biztos hogy mindig jó.
8. make menuconfig
#Elindítottam magát a kernel fordítását. Jó hosszú idő, de itt elég csak ezt a parancsot kiadni, elvégez mindent, amit amúgy kellene (make dep, make bzImage..stb). Ez .deb csomagba teszi nekünk a kernelt ami azért jó mert hordozható, elég csak telepíteni és egy csomó mindent elvégez helyettünk a telepítéskor :-)
8. make-kpkg kernel_image
#Kernel headers csomagot készít a kernelből, ezt igényelhetik a programok. Ebből is .deb csomag lesz, ezt is simán tudjuk telepíteni.
9. make-kpkg kernel_headers
#Visszalépünk a /usr/src könyvtárba, majd a lefordított kernelt telepítjük, x= verziószám)
10. cd .. && gdebi linux-2.6.xx.xx.deb
#Ez a kernelnek a bootolás közben kell. Ebben vannak tudtommal a modulok jó része. Ez egy file lesz a /boot könyvtárban, initrd.img-2.6.xx.xx néven, az x továbbra is egyenlő a verziószámmal.
11. update-initramfs -c -k 2.6.xx.xx
#Megszerkesztjük a Grub-ot, hogy csapja hozzá indításkor a kernelhez az előbb létrehozott fileunkat.
12. pico /boot/menu.lst
13. Itt egy csomó # -al kezdődő sor van (kommentek). Ezek csak blabla megjegyzések, kezdőknek szólnak angolul. Ha érdekel olvasd el, nem érdekesek. Onnantól lesz buli, amikor a listát szerkesztheted. Kb. a fájl végén, a legelső Kernel -el kezdődő bejegyzés, és nincs előtte # jel. Itt ugye a lefordított kernel szerepel első helyen, a többi alatta pedig a régi kernel és helyreállító bejegyzések.
A kernel bejegyzés alá kell egy új sort beszúrni: initrd tab tab /boot/initrd.img-2.6.xx.xx ez az az állomány amit pár sorral feljebb létrehoztunk.
14. Jóformán kész is vagyunk, shutdown -r now -al indítsd újra a géped és bootoltasd be a kernelt. Persze, egy csomó minden hiányzik innen, mint az eredeti ubuntu kernelben, pl. többek között a zárt meghajtók kezelését is magad kell megoldanod, a grafikus és egyéb, esetleg nem - jól - felismert / működő drivereket - melyeket a másik kernel felismert - magadnak kell telepíteni a gyártó utasításai alapján. Itt jegyezném meg, hogy nVidia videókártya tulajok előnyben, nekem pöcre ment. Utoljára, de nem utolsó sorban az Ubuntu patch-ek sincsennek benne ebben a kernelben.
Remélem elég tartalmas voltam és segítséget nyújtottam a kezdőknek.
A tudásanyagokat innen vadásztam össze, érdemes elolvasni. Ugyanazt írják le mint én csak "szakisabban" és nagyobb mennyiségben, részletesebben:
http://wiki.hup.hu/index.php/Linux_kernel_konfigur%C3%A1l%C3%A1sa
http://wiki.hup.hu/index.php/Kernel_(Debian)