Hallo ich versuche ein Kernel-package zu erstellen und will aber 2 Treiber module gleich mit ins Image reinpacken, die von haus aus nicht dabei sind.
mein befehl sieht dann so aus :
######################################################################
make-kpkg --added-modules module1.ko ,module2.ko --config menuconfig kernel-image
#######################################################################
module1.ko und module2.ko hab ich in den ordner /usr/src/modules kopiert...
(steht so im handbuch: http://debiananwenderhandbuch.de/kernelbauen.html )
meine frage ist nun, muss ich diese module in menuconfig nochmal irgendwo "aktivieren" oder werden die fest eincompiliert oder fest als module eingetragen ...?
wenn ich den kernel starte , dann steht in /lib/modules/*meinkernel*/ in keiner datei meine module :/
was mache ich falsch ?
mit freundlichen grüßen
Kernel-package erstellen mit make-kpkg
- Profbunny
- Beiträge: 595
- Registriert: 04.04.2004 11:12:29
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bautzen
Re: Kernel-package erstellen mit make-kpkg
gib mal den kompletten pfad an zum modul. außerdem würde ich sagen modul.ko, modul2.ko und nicht modul.ko ,modul2.ko
achte auf den sitz des kommas
nur so ne idee
achte auf den sitz des kommas
nur so ne idee
Rechner / Server Debian sid
Re: Kernel-package erstellen mit make-kpkg
kompletten pfad brauch ich nur angeben wenn die module woanders als in /usr/src/modules liegen ...und er findet die module ja auch, also beschwert sich nicht darüber ...er erkennt auch das es 2 module sind ...also der befehl an sich passt schon so
kann morgen ja mal den gesammten output hier posten, vllt hilft das weiter...bin im moment nciht an diesen bestimmten rechner
mit freundlichen grüßen
kann morgen ja mal den gesammten output hier posten, vllt hilft das weiter...bin im moment nciht an diesen bestimmten rechner
mit freundlichen grüßen
Re: Kernel-package erstellen mit make-kpkg
Also, wenn ich den Befehl starte kommt das hier:
wie man sehn kann, nimmt er doch die module richtig entgegen,....
hab dann mit str+c den vorgang abgebrochen, an den Punkt, an den er mit compilieren anfängt...
da das nicht alles in meine konsole rein passt ;D ich net weiß , wie ich das dann hier rein kopieren soll ^^
mit freundlichen grüßen
Code: Alles auswählen
exec make -f /usr/share/kernel-package/ruleset/minimal.mk debian DEBIAN_REVISION=4.0 KPKG_SELECTED_MODULES="esdcan-usb331.ko,pcan.ko"
====== making target minimal_debian [new prereqs: ]======
This is kernel package version .
test -d debian || mkdir debian
test ! -e stamp-building || rm -f stamp-building
test -f debian/control || sed -e 's/=V/2.6.26.5/g' \
-e 's/=D/4.0/g' -e 's/=A/i386/g' \
-e 's/=SA//g' -e 's/=L/ /g' \
-e 's/=I//g' \
-e 's/=CV/2.6/g' \
-e 's/=M/xxx>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/Control > debian/control
test -f debian/changelog || sed -e 's/=V/2.6.26.5/g' \
-e 's/=D/4.0/g' -e 's/=A/i386/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
-e 's/=M/xxx>/g' \
/usr/share/kernel-package/changelog > debian/changelog
install -p -m 755 /usr/share/kernel-package/rules debian/rules
for file in ChangeLog Control Control.bin86 config templates.in rules; do \
cp -f /usr/share/kernel-package/$file ./debian/; \
done
for dir in Config docs examples ruleset scripts pkg po; do \
cp -af /usr/share/kernel-package/$dir ./debian/; \
done
test -d ./debian/stamps || mkdir debian/stamps
exec debian/rules DEBIAN_REVISION=4.0 CONFIG_TARGET=menuconfig KPKG_SELECTED_MODULES="esdcan-usb331.ko,pcan.ko" kernel-image
====== making target CONFIG-common [new prereqs: testdir]======
====== making target debian/stamp-conf [new prereqs: ]======
# work around idiocy in recent kernel versions
test ! -e scripts/package/builddeb || \
mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist
test ! -e scripts/package/Makefile || \
(mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && \
(echo "# Dummy file "; echo "help:") > scripts/package/Makefile)
test -d debian || mkdir ./debian
test ! -e stamp-building || rm -f stamp-building
test ! -f ./debian || test -f stamp-debian || test -f debian/official || \
(rm -rf ./debian && mkdir ./debian)
test -f stamp-debian || \
( test -f debian/official && test -f debian/control) || \
sed -e 's/=V/2.6.26.5/g' -e 's/=D/4.0/g' \
-e 's/=A/i386/g' -e 's/=SA//g' \
-e 's/=L/lilo (>= 19.1) | grub, /g' -e 's/=I//g' \
-e 's/=CV/2.6/g' \
-e 's/=M/xxx>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/Control> debian/control
test -f stamp-debian || test -f debian/official || \
sed -e 's/=V/2.6.26.5/g' -e 's/=D/4.0/g' \
-e 's/=A/i386/g' -e 's/=M/xxx>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/changelog > debian/changelog
test -f debian/rules || install -p -m 755 /usr/share/kernel-package/rules debian/rules
test -f stamp-debian || test -f debian/official || \
for file in ChangeLog Control Control.bin86 config templates.in rules; do \
cp -f /usr/share/kernel-package/$file ./debian/; \
done
test -f stamp-debian || test -f debian/official || \
for dir in Config docs examples ruleset scripts pkg po; do \
cp -af /usr/share/kernel-package/$dir ./debian/; \
done
echo done > stamp-debian
echo done > debian/stamp-conf
====== making target CONFIG-common [new prereqs: stamp-conf]======
This is kernel package version 11.001.
====== making stamp-arch-conf because of ======
====== making target CONFIG-arch [new prereqs: stamp-arch-conf]======
====== making conf.vars because of .config ======
====== making target CONFIG-arch [new prereqs: .config conf.vars]======
This is kernel package version 11.001.
====== making target CONFIG/linux-headers-2.6.26.5 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-image-2.6.26.5 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-uml-2.6.26.5 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-xen0-2.6.26.5 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-xenu-2.6.26.5 [new prereqs: CONFIG-arch]======
====== making stamp-configure-arch because of ======
====== making target configure-arch [new prereqs: stamp-configure-arch]======
====== making stamp-indep-conf because of ======
====== making target CONFIG-indep [new prereqs: stamp-indep-conf]======
====== making target debian/stamp-kernel-conf [new prereqs: .config Makefile]======
/usr/bin/make ARCH=i386 \
menuconfig
make[1]: Betrete Verzeichnis '/usr/src/linux-2.6.26.5'
scripts/kconfig/mconf arch/x86/Kconfig
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
make[1]: Verlasse Verzeichnis '/usr/src/linux-2.6.26.5'
/usr/bin/make ARCH=i386 prepare
make[1]: Betrete Verzeichnis '/usr/src/linux-2.6.26.5'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
make[1]: Verlasse Verzeichnis '/usr/src/linux-2.6.26.5'
echo done > debian/stamp-kernel-conf
====== making target CONFIG-indep [new prereqs: conf.vars stamp-kernel-conf]======
This is kernel package version 11.001.
====== making target CONFIG/linux-source-2.6.26.5 [new prereqs: CONFIG-indep]======
====== making target CONFIG/linux-doc-2.6.26.5 [new prereqs: CONFIG-indep]======
====== making target CONFIG/linux-manual-2.6.26.5 [new prereqs: CONFIG-indep]======
====== making stamp-configure-indep because of ======
====== making target configure-indep [new prereqs: stamp-configure-indep]======
====== making stamp-configure because of ======
====== making target debian/stamp-build-kernel [new prereqs: sanity_check stamp-kernel-conf]======
This is kernel package version 11.001.
/usr/bin/make ARCH=i386 \
bzImage
make[1]: Betrete Verzeichnis '/usr/src/linux-2.6.26.5'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
make[2]: *** [missing-syscalls] Interrupt
make[1]: *** [prepare0] Interrupt
make: *** [debian/stamp-build-kernel] Interrupt
hab dann mit str+c den vorgang abgebrochen, an den Punkt, an den er mit compilieren anfängt...
da das nicht alles in meine konsole rein passt ;D ich net weiß , wie ich das dann hier rein kopieren soll ^^
mit freundlichen grüßen
Re: Kernel-package erstellen mit make-kpkg
Ok, nach mehreren Howtos und Forumsbeiträgen, hab ich den Befehl nun so verstanden, dass er nur zusätzlich noch ein .deb packet von den Modul erzeugt, was man dann nacher installieren kann.
Nun hab ich auch eine Fehlermeldung die mehr nach etwas aussieht:
Dabei sind die Modul-ordner sowie die schon vorher kompilierten .ko's in den /usr/src/modules Verzeichniss.
Als Befehls Syntax hab ich schon alles erdenkliche ausprobiert, (nur den Namen des .ko, nur den Namen des Modulordners,den Pfad zur .ko,den pfad zum Modulordner) (wie man sieht immer nur mit einem Modul um etwaige Fehler die daraus resultieren auszuschließen.)
Wie man auch sieht, nimmt make-kpkg anscheinend nicht mal einen pfad für die Module an, was auch erklärt warum es die Module nicht findet.
noch irgendwelche Vorschläge was ich vielleicht falsch machen könnte?
Mit freundlichen Grüßen
Nun hab ich auch eine Fehlermeldung die mehr nach etwas aussieht:
Code: Alles auswählen
xxx@xxx:/usr/src/linux-2.6.26.5$ fakeroot make-kpkg --added_modules "/usr/src/modules/moduleordner" modules_image
exec debian/rules DEBIAN_REVISION=1 KPKG_SELECTED_MODULES="/usr/src/modules/moduleordner" modules_image
for module in ; do \
if test -d $module; then \
(cd $module; \
if ./debian/rules KVERS="2.6.26.5" KSRC="/usr/src/linux-2.6.26.5" \
KMAINT="xxx xxx" KEMAIL="xxx@web.de" \
KPKG_DEST_DIR="/usr/src/linux-2.6.26.5/.." \
KPKG_MAINTAINER="xxx xxx" \
KPKG_EXTRAV_ARG="" \
ARCH="i386" \
KDREV="1" kdist_image; then \
echo "Module $module processed fine"; \
else \
echo "Module $module failed."; \
if [ "X" != "X" ]; then \
echo "Perhaps $module does not understand --rootcmd?"; \
echo "If you see messages that indicate that it is not"; \
echo "in fact being built as root, please file a bug "; \
echo "against $module."; \
fi; \
echo "Hit return to Continue"; \
read ans; \
fi; \
); \
else \
echo "Module $module does not exist"; \
echo "Hit return to Continue?"; \
fi; \
done
Als Befehls Syntax hab ich schon alles erdenkliche ausprobiert, (nur den Namen des .ko, nur den Namen des Modulordners,den Pfad zur .ko,den pfad zum Modulordner) (wie man sieht immer nur mit einem Modul um etwaige Fehler die daraus resultieren auszuschließen.)
Wie man auch sieht, nimmt make-kpkg anscheinend nicht mal einen pfad für die Module an, was auch erklärt warum es die Module nicht findet.
noch irgendwelche Vorschläge was ich vielleicht falsch machen könnte?
Mit freundlichen Grüßen