[BSD] freebsd, kernelmodul forditasa debug kernelhez
Magyari, Miklos
miklos.magyari at hp.com
2011. Jan. 18., K, 10:18:57 CET
> Esetleg forditas utan csak arra az egy modulra make install? Megneztem
> a ket make folyamatat es az install egy kldxref parancsot is lefuttat,
> a make load nem. Leiras alapjan a kldxref csak az osszefuggeseket
> deriti fel es egy hint allomanyt hoz letre, lathatoan nincs benne
> path.
Sajna ez sem jo, mert maga a build rossz, igy hibas .ko jon letre.
Odaig sikerult eljutnom, hogy az /usr/src/sys/conf/files-ba beletaknyoltam kicsit illetve az /usr/src alatt is megpiszkaltam egy Makefilet, igy a make buildkernel legalabb tokeletes .ko-t keszit az /usr/obj/.. melyeben, viszont ez meg akkor is kicsit lassu, ha -DNO_CLEAN opcioval futtatom. Asszem nem uszom meg a makefile-ok atturasat, bar nem vagyok egy oszinte rajongojuk.
A make, make install altal a /boot/kernel ala berakott .ko meretre sem egyezik meg azzal, amit a make buildkernel az /usr/obj alatt keszit.
> Viszont itt akkor nem ertem. Az alap make installkernel megvolt es a
> kernel konfigon nem valtoztattal. Akkor miert make load-dal akarod
> behivni es nem a telepitett verziot kldload-dal? Vagy az ext2fs
> forrason valtoztatsz es azert onnan akarod tolteni? De akkor az object
> nem stimmel, hisz valtoztattal a forrason. Vagy egyszeruen csak a
> kihivasokat keresed? ;-)
egy kernel modulon dolgozok, ami egy latszolag ijeszto panikot produkalt:
mtx_lock() of spin mutex bufobj interlock @ ...
aztan miutan atneztem egy rakas kernelforrast, meg keresgeltem a neten, arra jutottam, hogy a fenti panik egy fals hiba, es az okozza, hogy rosszul forditom a kernelmodult, ami nem 100% kompatibilis a futo kernellel.
Hogy error meggyozodjek, az en modulommal megegyezo metodussal ujraforditottam es kiprobaltam az ext2 modult, es az pont ugyanilyen panikot produkalt.
-mami
További információk a(z) BSD levelezőlistáról