[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Wie korrekterweise Kernelmodule für Fremdkernel bauen?



Hi Leute,

so langsam verzweifel ich hier an dieser selbstgestellten Aufgabe:

ich möchte die Orinoco-USB-Module für den aktuell in Debian Etch
verwendeten Kernel bauen. Ich brauche ausschliesslich das
orinoco-usb-Modul und die dazugehörige Firmware bzw. die Funktion, die
selbige holt, denn das Modul orinoco selbst ist ja in der letzten
Version 0.15 schon fest im Kernel enthalten. Das funktioniert mit den
Files von hier
http://orinoco.svn.sourceforge.net/viewvc/orinoco/branches/usb/
schon nicht, wenn ich nach
http://women.debian.org/wiki/English/PackagingTutorial
vorgehe, weil etwas mit den Sourcen nicht passt.

Aber ich habe noch viel früher Probleme, die müssten erstmal aus der
Welt geschafft werden:

Ich will das Paket für einen Debian-Kernel 2.6.18-4-k7 auf einem
Rechner bauen, auf welchem ein Debian-Kernel 2.6.18-4-686 Kernel
läuft. Und das funktioniert nicht:-(
Installiert ist:
linux-source-2.6.18
linux-kbuild-2.6.18
linux-headers-2.6.18-4-k7
linux-headers-2.6.18-4-686
linux-headers-2.6.18-4
Mein Problem: egal was ich mache, es wird immer wieder versucht, das
Paket für -686 zu bauen. Ich hatte gedacht, auf folgendem Weg
funktioniert das:
Kopieren der k7-.config nach linux-source-2.6.18, dann
make-kpkg --rootcmd fakeroot --append-to-version -4-k7 configure
make-kpkg --rootcmd fakeroot --append-to-version -4-k7 clean
make-kpkg --rootcmd fakeroot debian

Nur: alles, was ich danach mache, passiert dann wieder für -686 oder
geht gar nicht (Beispiel mit dem vorhandenen und funktionierenden
rt2500-source aus dem normalen Etch-Paketpool):

di@rechner:/usr/src/linux-source-2.6.18$ make-kpkg --rootcmd fakeroot --append-to-version -4-k7 modules_image --added-modules rt2500
exec debian/rules  DEBIAN_REVISION=2.6.18-10.00.Custom
APPEND_TO_VERSION=-4-k7  KPKG_SELECTED_MODULES="rt2500"
ROOT_CMD=fakeroot  modules_image
echo "The UTS Release version in include/linux/version.h"; echo "
\"\" "; echo "does not match current version:"; echo "
\"2.6.18-4-k7\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
     ""
     does not match current version:
          "2.6.18-4-k7"
          Please correct this.
          make: *** [modules_image] Fehler 2

Irgendwie habe ich mich mittlerweile endlos verzettelt, und die
Fehlermeldungen vom Bauen des orinoco-usb-Paketes habe ich hier noch
gar nicht geschrieben (kann ich gerne auch noch nachreichen):-(
Hat jemand einen Tip, wie ich das richtig mache, dass das Paket dann
hinterher auch gebaut wird?

Nochmal zur Erläuterung: ich will _keinen_ custom-Kernel bauen, ich
will überhaupt keinen neuen Kernel bauen, ich will nur auf Rechner X
mit Debian-Kernel -686 ein Debian-Paket _für_ Rechner Y mit
Debian-Kernel -k7 (gleiche Version, nur andere Prozessoroptimierung)
bauen. Und das will ums Verrecken nicht funktionieren - vermutlich,
weil ich die Vorbereitungen schon nicht richtig durchführe:-((


ciao, Dirk
P.S.: und so sieht das aus, wenn ich dpkg-buildpackage mit o.g.
Vorbereitungen durchführen will:
dirk@rechner:~/test/orinocousb-0.1$ dpkg-buildpackage -uc -b -rfakeroot
dpkg-buildpackage: source package is orinocousb
dpkg-buildpackage: source version is 0.1-1
dpkg-buildpackage: source changed by Dirk <dirk@rechner.home>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 0.1-1
 fakeroot debian/rules clean
 dh_testdir
 #dh_testroot
 rm -f build-arch-stamp build-indep-stamp configure-stamp
 # Add here commands to clean up after the build process.
 /usr/bin/make clean
 make[1]: Entering directory `/home/dirk/test/orinocousb-0.1'
 /usr/bin/make -C /usr/src/linux-headers-2.6.18-4-686
 /M=/home/dirk/test/orinocousb-0.1 KERNELRELEASE=2.6.18-4-686
 /NOCHECK=1 clean
 make[2]: Entering directory `/usr/src/linux-headers-2.6.18-4-686'
   CLEAN   /home/dirk/test/orinocousb-0.1/.tmp_versions
   make[2]: Leaving directory `/usr/src/linux-headers-2.6.18-4-686'
   rm -f *.symvers
   make[1]: Leaving directory `/home/dirk/test/orinocousb-0.1'
   dh_clean
    debian/rules build
    dh_testdir
    # Add here commands to configure the package.
    touch configure-stamp
    dh_testdir
    # Add here command to compile/build the package.
    /usr/bin/make
    make[1]: Entering directory `/home/dirk/test/orinocousb-0.1'
    /usr/bin/make -C /usr/src/linux-headers-2.6.18-4-686
    /M=/home/dirk/test/orinocousb-0.1 KERNELRELEASE=2.6.18-4-686
    /modules
    make[2]: Entering directory `/usr/src/linux-headers-2.6.18-4-686'
      CC [M]  /home/dirk/test/orinocousb-0.1/orinoco.o
        CC [M]  /home/dirk/test/orinocousb-0.1/orinoco_usb.o
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c: In function
        /'ezusb_submit_in_urb':
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c:794: warning:
        /passing argument 6 of 'usb_fill_bulk_urb' from incompatible
        /pointer type
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c: In function
        /'ezusb_access_ltv':
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c:907: warning:
        /passing argument 6 of 'usb_fill_bulk_urb' from incompatible
        /pointer type
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c: In function
        /'ezusb_bulk_in_callback':
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c:1337: warning:
        /implicit declaration of function '__orinoco_ev_rx'
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c:1341: warning:
        /implicit declaration of function '__orinoco_ev_info'
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c: In function
        /'ezusb_probe':
        /home/dirk/test/orinocousb-0.1/orinoco_usb.c:1462: error:
        /'struct orinoco_private' has no member named 'irq_no_disable'
        make[3]: *** [/home/dirk/test/orinocousb-0.1/orinoco_usb.o]
        Fehler 1
        make[2]: *** [_module_/home/dirk/test/orinocousb-0.1] Fehler 2
        make[2]: Leaving directory
        `/usr/src/linux-headers-2.6.18-4-686'
        make[1]: *** [modules] Fehler 2
        make[1]: Leaving directory `/home/dirk/test/orinocousb-0.1'
        make: *** [build-arch-stamp] Fehler 2


-- 
|           Akkuschrauber and AEG GSM stuff           |
|  The "Ruhrgebiet", best place to live in Germany!   |
| Visit my homepage:   http://www.nutrimatic.ping.de/ |



Reply to: