Első jól működő kernel fordításom / Kernel fordítás hogyanlacyc3, v, 2007/12/09 - 01:00 |
Kedves Olvasóm!
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 ez is végre megoldódott :)
De, végre sikerült :)) Ez számomra akkora öröm, hogy madarat lehetne velem fogatni :))
Nos, de hogy is csináltam?
Konzolba:
1. sudo bash //rendszergazdi mód
2. cd /usr/src // átváltok a kernelek könyvtárába
3. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.9.tar.bz2 //letöltöttem a kernelt
4. tar -xf linux-2.6.23.9.tar.bz2 //kitömörítettem a forrást
5. synaptic
6. telepítettem a következő programokat: (apt-get vagy aptitude install is ugyenez) 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.
7. cd linux-2.6.23.9 //"beugrottam" a kernel könyvtárába
8. make menuconfig //konzolos konfiguráló, de nagyon jól lehet használni. persze, menuconfig helyett lehet a gconfig és xconfig, 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-kpkg kernel_image //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 :-)
9. make-kpkg kernel_headers //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.
10. cd .. && gdebi linux-2.6.xx.xx.deb //visszalépünk a /usr/src könyvtárba, majd a lefordított kernelt telepítjük, x= verziószám)
11. update-initramfs -c -k 2.6.xx.xx //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.
12. pico /boot/menu.lst //megszerkesztjük a Grub-ot, hogy csapja hozzá indításkor a kernelhez az előbb létrehozott fileunkat.
13. Itt egy csomó # -al kezdődő sor van. 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 file végén, a legelső Kernel -el kezdődő bejegyzés, és nincsen 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 bejegyzés: 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..
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...
http://wiki.hup.hu/index.php/Kernel_(Debian)















Friss hozzászólások
3 hét 3 nap
4 hét 6 nap
11 hét 5 nap
11 hét 5 nap
17 hét 6 nap
21 hét 3 nap
25 hét 3 nap
25 hét 6 nap
29 hét 2 nap
29 hét 4 nap