- This topic has 13 hozzászólás, 4 résztvevő, and was last updated 18 years, 9 months telt el by
admin.
-
SzerzőBejegyzés
-
2006-09-01-18:38 #2070594
Ha jól értem, egy gyors gépen akarsz egy lassú gépnek kernelt forgatni…
Ha igen: miután leforgattad át tudod másolni a teljes linux forrást és az install parancsok már hamar lefutnak. (Ha háló van, akkor ettől egyszerűbb a helyzet…)„Az világos, hogy kellenek a modulok, a System.map és persze a bzImage de hova kellene tenni a többi cuccot?”
a) a modulokat, image-okat az install parancsok helyre teszik
b) amit még használhatsz
linux/include/linux -> /usr/include/linux
linux/include/asm-arch -> /usr/include/asm
(Ezek ált itt vannak. Persze lehetnek máshol is, de akkor azt kell megadni a fordítónak.)2006-09-01-19:04 #2070595„Ha jól értem, egy gyors gépen akarsz egy lassú gépnek kernelt forgatni…”
Pontosan! De mit értesz a szokásos install parancsok alatt?
normálisna kibontás után (/usr/src/ és egy symlink az aktuális kernel forrásokra) már fordítok
make modules;make modules_install;make bzImage
aztán másolni a vmlinuz -t és a System.map a /boot -ba (a megfelelő kiegészítésekkel) majd futó ellenőrzés az /etc/lilo.conf -ba és lilo.
De mik is ezek a többi könyvtárban – az include még a legérthetőbb, de pl. mi az az init, ipc lib stb, és mi velük a teendő?2006-09-01-19:47 #2070596A gyors gépen konfigolsz, majd kiadod a make parancsot. A make install, make modules_install (aszem már ez ez utóbbi is redundáns, de a bzImage biztosan) parancsot meg a lassú gépen (ez már csak telepítés gyorsan megy.)
A háló azért jó, mert ugyanazt a scr könyvtárat mindkét gépen be lehet csatolni.
Végezetül dolgozhat egyszerre több gép is rajta… bár egy kernel erre kis falat – szerintem.„aztán másolni a vmlinuz -t és a System.map a /boot -ba”
Többek között ez az amit a make install csinál. (Ha nem szereted a vmlinuz elnevezést kézzel… noha mindig legyen bizt. másolat a működő kernelről, konfigról és a legcélszerűbb, ha benne marad a rendszerbetöltő konfba is.)„De mik is ezek a többi könyvtárban – az include még a legérthetőbb, de pl. mi az az init, ipc lib stb, és mi velük a teendő?”
Akkor a kernel, modul, header érthető. A többivel nem kell foglalkozni.
Dióhéjban, amatőren:
Documentation – kernel doksi; helyből olvasni érdemes, de a rendszer működése szempontjából lényegtelen
arch – ebben van a kernel image (az adott ach-hoz); ha kézzel bíbelődsz, érdekes
block – diskek
crypto – kódolás (a kernel konfig. végén)
drivers – illesztő programok (na ezt kell hekkelni :))))
fs – filerendszer
include – a programoknak kelhet
init – main, initramfs, verzió
ipc – megosztott memória
kernel – cpu, szálak, időzítés, stb.
lib – lib. rutinok (crc, mágikus bill. komb, kiíratás, string, számok, keresés, rendezés stb.)
mm – memória
net – hálózati támogatás
scripts – kernel konf, építő scriptek
security – alap bizt szintek (ez is valahol a konfig végén van)
sound – hang támogatás
usr – initramfs
Mindezek a fejlesztőknek fontosak, hogy átlássák a kernelt… meg egy-egy ilyen részleten, egy-egy gárda dolgozik. E források feldolgozásával keletkezik a kernel image, meg a modulok.2006-09-01-20:10 #2070597Aha ..
Mit kell a „drivers” – ken hekkelni?
A modulokat (jobbára driverek) a /lib/modules/linux-2.6.xx.x könyvtárba teszi (sajnos) ahova a felhasznált gép moduljai is vannak telepítve – lehet hogy a module_install csak ezt a „másolási” műveletet végzi?2006-09-01-20:27 #2070598” /lib/modules/linux-2.6.xx.x könyvtárba teszi (sajnos) ahova a felhasznált gép moduljai is vannak telepítve”
Ez csak akkor lehet, ha ua. a verzió!
De ezt is lehet cifrázni, ha nevet adsz a configban!
Akkor „vmlinuz-2.6.x-valami” lesz és a /lib/modulesben is.2006-09-01-20:32 #2070599„Mit kell a „drivers” – ken hekkelni?”
Mindegy, csak hekkelni lehessen… 🙂„A modulokat (jobbára driverek) a /lib/modules/linux-2.6.xx.x könyvtárba teszi (sajnos) ahova a felhasznált gép moduljai is vannak telepítve”
Nyílván oda másolja, mert nem hekkelted meg a kernel nevét:
linux/MakefileCode:VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = xx
EXTRAVERSION = -my_hackEztán újra konfig, …
„lehet hogy a module_install csak ezt a „másolási” műveletet végzi?”
Igen. A telepítést… de a modulokét (csak). Illetve elvégzi a forgatást, amennyiben szükséges.2006-09-01-20:33 #2070600Ja, ekkor mindenhol „2.6.xx-my_hack” lesz a kernel könyvtár/file neve.
2006-09-01-20:42 #2070601Akkor ez legyen bekattintva, bár ez automatikusan igen lesz.
General setup/Automatically append version information to the version string (LOCALVERSION_AUTO)Illetve szórakázhatsz a
General setup/Local version – append to kernel release (LOCALVERSION) stringgel a konfig cuccban is, ha a makefile nem tetszik… ahogy tetszik.
(Végül is mindkét esetben el kell indítani a konfigot egy mentés erejéig. Bár az utóbbi esetben csak az „EXTRAVERSION”-t változtathatod, de mást nem is célszerű.)2006-09-01-20:49 #2070602Na kipróbáltam:
EXTRAVERSION = -my_hack
LOCALVERSION = „01”Akkor kernel név: „2.6.xx-my_hack01”.
2006-09-01-20:53 #2070603Na végre! – leesett;o)
Bizonyos okoknál fogav (hála a vas gyártónak SUNIX 4 soros port egy kártyán. közös irq -val) csak a 2.6.9 verziót tudom használni (ahhoz van egy kernel patch, persze megnézhetném mi kell a 2.6.17.9 -hez de ez a mostani céljaimnál messzebre vezet.
így a szóbanforgó gépen a következő látszik/lib/modules/2.6.14.2-p4-smp a most használatos
/lib/modules/2.6.8-2-386 a telepített
/lib/modules/2.6.9-Gn a P 200 MHz számára készülőés az „EXTRAVERSION=” az ami a „menuconfig” -ban is megjelenik, azt én is használom.
OK, kezd kitisztulni a kép a leírás amit találtam erről a témárol az is azt feltételezi hogy ugyan azt a kernelt forgatom ami az adott gépen van csak egy másik konfigurációval.
Még talán a debian csomag készítést kellene kipróbálni, a Makefile -nak ilyen opciója is van, csak azt nem tudom milyen formátumú lessz a kernel image, és ez a csomag önmagában elegendő lessz az új kernel telepítéséhez. -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz