Kernel unterhalb $HOME kompilieren: Modulprobleme (bug in kernel-package?)
Ich habe neuerdings meine Kernelsourcen in ~/src/linux liegen, die
Module (in diesem Fall nvidia und lm-sensors) liegen entsprechend in
~/src/modules. Damit make-kpkg modules_config diese findet, habe ich in
/etc/kernel-pkg.conf die Zeile
MODULE_LOC=~/src/modules
eingefügt. Jetzt erhalte ich aber bei diesem Befehl eine Fehlermeldung
(Zeilenumbrüche z.T. von mir):
for module in /home/frank/src/modules \
/home/frank/src/modules/nvidia-kernel-1.0.2314 \
/home/frank/src/modules/lm-sensors ; do \
if test -d $module; then \
(cd $module; \
if ./debian/rules KVERS="2.4.18" KSRC="/home/frank/src/linux" \
KMAINT="Unknown Kernel Package Maintainer" \
KEMAIL="unknown@unconfigured.in.etc.kernel-pkg.conf" \
KDREV="custom.1.0" kdist_configure; then\
echo "Module $module configured fine"; \
else \
echo "Module $module failed to configure"; \
echo "Hit return to Continue?"; \
read ans; \
fi; \
); \
fi; \
done
/bin/sh: ./debian/rules: No such file or directory
Kein Wunder, in ~/src/modules gibt es natürlich kein Unterverzeichnis
debian. Warum sucht er das überhaupt?
Ich sehe gerade woran es liegt: in src/linux/debian/rules steht:
canonical_modules=$(shell find $(MODULE_LOC) -follow -maxdepth 1 -type d -print |\
egrep -v '^$(MODULE_LOC)$$')
und bei diesem find kommt eben auch $MODULE_LOC selber raus. Das heisst
doch, da fehlt noch ein mindepth, oder? Denn:
$ find ~/src/modules -maxdepth 1 -type d
/home/frank/src/modules
/home/frank/src/modules/nvidia-kernel-1.0.2314
/home/frank/src/modules/lm-sensors
$ find ~/src/modules -maxdepth 1 -mindepth 1 -type d
/home/frank/src/modules/nvidia-kernel-1.0.2314
/home/frank/src/modules/lm-sensors
$
Gruß, Frank
--
Frank Fürst, physikalische Biochemie, Universität Potsdam, Germany
Tel.: +49-331-977-5062 Fax: +49-331-977-5062
Reply to: