mate_gabor"Ha már itt tartunk esetleg elmagyarázhatnád mit is csinál a make clean, make, és make install parancs, különösképpen pedig azt, hogy az utóbbi hogyan váltja ki az insmod-os gusztustalanságot. "
A make parancs egy segédeszköz arra, hogy több forrásprogramból álló programot egy lépcsőben lefordítsunk. Működését a Makefile nevű file vezérli. Ott kell lennie, ahol a make parancsot kiadod. Ha nincs ott, sztrájkol.
Ez a Makefile egy furán formázott szkriptfile, arra van, hogy vezérelje a make működését. (Remélem, programozózsenik ezt nem olvassák, mert azt írom, amit magam is megértettem belőle...)
Ha a Makefile-ba beleírtak egy olyan funkciót, hogy clean, akkor kiadhatod a make clean parancsot, meg tudja csinálni.
Ha üresen adod ki a make parancsot, akkor az 'all' funkciót akarja végrehajtani. (Ezek a funkciók épülhetnek egymásra, bizonyos függőséget lehet beleálmodni. Az 'all' végigmegy az összes 'alája tartozón'.)
A clean arra szolgál, hogy ami segéfile-okat tegnap fordítás közben létrehoztál, azokat kitöröld, vagyis tiszta lappal újracsinálj mindent.
(Próba:
make clean
make
Ez dolgozik.
make
Ez azt mondja, nincs mit csinálni: persze, hiszen az előbb megcsinált mindent.
Nomármost: mivel a 'doksiban' a kézi mv, cp, és depmod parancsokat javallják, valószínűleg a make install nincs megírva. Valószínűleg nem volt kedvük kideríteni, hol is van az adott kernelhez tartozó lib/modules könyvtár.
Ebből kifolyólag a make install valószínűleg nem is működne itt. Csúnya dolog, meg szokták csinálni.
És még egy:
Mivel saját könyvtárban dolgozol, a kitömörítéshez (tar) és fordításhoz (make) van jogod, nem kell a sudo.
Az install viszont már a rendszer könyvtáraiba piszkál, ezért a sudo make install szokott kelleni. (Más, normális kernelmoduloknál. Itt nem.)