Da im Forum von der Verwendung von dkms abgeraten wurde, wollte ich diese manuell erstellen bzw. dmakms verwenden. Für virtualbox hat dies problemlos geklappt, jedoch scheitere ich beim erstellen des Kernelmoduls für tp-smapi. An sich sollte dies doch reichen:
m-a a-i tp-smapi
Jedoch wird immer abgebrochen. Die Ausgabe im buildlog in /var/cache/modass/ ist:
dh_testdir
# Cleaning package
/usr/bin/make clean
make[1]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
/usr/bin/make -f debian/rules clean
make[1]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
/usr/bin/make -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
/usr/bin/make -w -f debian/rules clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[3]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[3]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
make[1]: Für das Ziel »kdist_config« ist nichts zu tun.
for templ in ; do \
cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.38-0.slh.6-aptosid-amd64/g'` ; \
done
for templ in `ls debian/*.modules.in` ; do \
test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
sed -e 's/##KVERS##/2.6.38-0.slh.6-aptosid-amd64/g ;s/#KVERS#/2.6.38-0.slh.6-aptosid-amd64/g ; s/_KVERS_/2.6.38-0.slh.6-aptosid-amd64/g ; s/##KDREV##/2.6.38-6/g ; s/#KDREV#/2.6.38-6/g ; s/_KDREV_/2.6.38-6/g ' < $templ > ${templ%.modules.in}; \
done
dh_testroot
dh_clean -k
dh_clean: dh_clean -k is deprecated; use dh_prep instead
# Build the module
/usr/bin/make modules KSRC=/usr/src/linux KVER=2.6.38-0.slh.6-aptosid-amd64 HDAPS=1
make[2]: Entering directory `/usr/src/modules/tp-smapi'
/usr/bin/make -C /usr/src/linux M=/usr/src/modules/tp-smapi O=/usr/src/linux modules
make[3]: Entering directory `/usr/src/linux-headers-2.6.38-0.slh.6-aptosid-amd64'
CC [M] /usr/src/modules/tp-smapi/thinkpad_ec.o
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:8: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX'
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:1: warning: parameter names (without types) in function declaration
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:108:28: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c:108:28: note: each undeclared identifier is reported only once for each function it appears in
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_try_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:122:23: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_unlock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:134:6: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c: At top level:
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:8: warning: 'DECLARE_MUTEX' declared 'static' but never defined
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_try_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:123:1: warning: control reaches end of non-void function
make[5]: *** [/usr/src/modules/tp-smapi/thinkpad_ec.o] Fehler 1
make[4]: *** [_module_/usr/src/modules/tp-smapi] Fehler 2
make[3]: *** [sub-make] Fehler 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.38-0.slh.6-aptosid-amd64'
make[2]: *** [modules] Fehler 2
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
make[1]: *** [binary-modules] Fehler 2
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
make: *** [kdist_build] Fehler 2
Ich würde mal sagen, tp-smapi ist nicht kompatibel mit 2.6.38.
Bisher habe ich ja tp-smapi-dkms installiert gehabt und damit wird das Modul gebaut.
Und da bist Du dir sicher?
Sprich lsmod hat es als geladen gezeigt?
Hier waren auch schon Leute, die haben behauptet, dkms hätte das nvidia-modul gebaut und dem war definitiv nicht so.
Also dkms hat keine Fehlermeldung ausgegeben und laut
lsmod|grep tp_smapi
tp_smapi 20017 0
thinkpad_ec 4134 2 hdaps,tp_smapi
Einem Tip im ThinkPad-Forum folgend habe ich /var/cache/modass/ geleert und m-a -f a-i benutzt und das Modul wurde problemlos gebaut. Damit komme ich jetzt auch ohne dkms aus.
http://thinkpad-forum.de/threads/80399-tp-smapi-compiled-nicht?highlight=tp-smapi