[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