media_build cross-compiling schlägt fehl

  • Hi Leute


    ich besitze seit einiger Zeit eine Iomega iConnect auf der ich mit Hilfe dieser Anleitung Debian installiert und mir meinen eigenen Kernel erstellt habe.
    Nun möchte ich darauf einen VDR betreiben. Dazu muss ich den Treiber für meine TechnoTrend S2-3600 installieren.
    Der Versuch ist aber bisher leider immer fehlgeschlagen.


    Zuerst habe ich versucht s2-liplianin direkt auf der Box zu kompilieren, was aber immer in verschiedenen Fehlern endete.
    Einige davon konnte ich selber beheben. Folgenden aber nicht: syntax error, unexpected ')'


    Nach einiger recherche im internet bin ich auf diesen Thread gestoßen, woraus hervorgeht, dass pbg4 genau so eine Konstellation erfolgreich betreibt.
    Daher habe ich ihm direkt eine PN geschrieben und von ihm folgenden Tipp bekommen:


    Als Compiler verwende ich statt arm-2008q3 den arm-2010q1, da ich mit dem 2008er nur lauter Errors bekam.
    Ich habe das ganze mit Kernel 2.3.38.8 durchgeführt und bin nun soweit, dass make -j5 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi- ohne Fehler durchkompiliert aber dann bei make -j5 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi- install folgender Fehler auftritt:


    Das Auskommentieren von gspca in der .config Datei führt nur dazu, dass es ein Stückchen weiter geht, dann aber wieder der selbe Fehler bei einigen dvb-usb Treibern auftritt, bei welchen auch der von mir benötigte Treiber dabei ist.


    Außerdem habe ich auch schon probiert media_build direkt auf der iConnect zu kompilieren, was aber wieder in syntax error, unexpected ')' endete.
    Als System zum cross-compiling verwendete ich zuerst Linux Mint 11 und bin dann auf Linux Mint Debian umgestiegen, weil ich hoffte, dass mir da die Fehler erspart bleiben.


    Ich hoffe einer von euch kann mir weiterhelfen und mir einen Tipp geben, wie ich doch noch die TT S2-3600 an meiner iConnect zum laufen bekomme. Falls noch irgendwelche Fragen zur Lösung meines Problems offen sind, immer nur her damit.


    Danke!



    LG rofldmao

  • Moin,


    Du willst kein install machen. Das versucht die module auf deinem Laufenden System zu installieren.


    Code
    find . -iname "*.ko"
    ./v4l/dvb-core.ko
    ./v4l/dvb-usb-pctv452e.ko
    ./v4l/dvb-usb.ko
    ./v4l/lirc_dev.ko
    ./v4l/lnbp22.ko
    ./v4l/rc-core.ko
    ./v4l/stb0899.ko
    ./v4l/stb6100.ko
    ./v4l/ttpci-eeprom.ko


    solltest du auf dem iconnect installieren.


    Wenn ich media_build richtig verstanden habe verwendet er dein aktuelles Kernel, das ist aber das von deinem System und nicht das vom iConnect. Wenn die module nicht auf dem iConnect laufen, dann dies probieren.


    Ansonsten auf dem iConnect die Entwicklungsumgebung und Kernelsourcen installieren, dann sollte es direkt auf der Kiste klappen.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Hi rofldmao,


    der media_build Makefile ist leider nicht ganz so flexibel wie der kernel Makefile,..


    ALSO, mein Cross-compile Rechner ist ein Debian squeeze mir 2.6.32 kernel,
    für die iconnect hatte ich darauf den 2.6.33.6 kernel gebaut,


    um jetzt die media_build modules zu bauen musste ich den kernel source Pfad angeben,
    damit beim cross-compilieren nicht für den 2.6.32 kernel des hosts gebaut wird, auf dem nur das cross-compilieren läuft,..


    deshalb ist der kernel source Pfad des armel kernel builds mit: release DIR=/usr/src/linux-2.6.33.6 angegeben,..
    mir ist es aber nicht gelungen beim make install den Pfad mit anzugeben, also wird auf dem host in /lib/modules installiert,
    das sollte man dann schnell mit scp -r auf die iconnect kopieren und auf dem cross compile host wieder löschen,..



    wenn man den kernel cross-compiliert kann man nach make... modules mit
    make.... modules_install INSTALL_MOD_PATH=/pfad/der/nicht/root/dir/ist
    einen anderen Pfad als /lib/modules setzen, vielleicht hat ja jemand eine Idee wie das mit media_build geht,...??
    würde mich auch mal interessieren,..



    viele Grüsse pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • Guten Morgen miteinander,
    nach langen rumprobieren hab ichs hinbekommen, dass die S2-3600 von der iConnect erkannt wird.
    So bin ich forgegangen:
    Diese Schritte hab ich auf meinem Linux-Rechner durchgeführt:

    Code
    apt-get install git patchutils libproc-processtable-perl
     git clone git://linuxtv.org/media_build.git
     cd media_build/
     ./build 
     make -j5 release DIR=/usr/src/linux-2.6.38.8 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi-
     make -j5 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi-


    Dann habe ich den kompletten Ordner media_build auf die iConnect kopiert und

    Code
    make install

    ausgeführt


    Nach einem Neustart zeigte

    Code
    dmesg | grep dvb

    den Erfolg der Aktion an.


    Bin mit der Vorgehensweiße jetzt zwar nicht zufrieden, aber vorerst mal froh dass es läuft. Würde aber schon gerne noch wissen, wie es besser geht.




    johns
    Danke für deinen Tipp, der hat mich auf die richtige Spur gebracht.


    Was verstehst du denn genau unter der Entwicklugsumgebung? Die Kernelsourcen hab ich manuell, also von Hand, installiert, da diese nur vom Kernel 2.6.32 verfügbar sind.


    Des Weiteren habe ich folgendes installiert:

    Code
    make
    gcc
    build-essential
    bzip2
    uboot-mkimage


    Ich bekomme aber nach Ausführen von ./build im media_build Ordner trotzdem diesen Fehler:

    Code
    make[2]: Entering directory `/lib/modules/2.6.38.8-iconnect/build'
      CC [M]  /usr/src/media_build/v4l/au8522_dig.o
    scripts/genksyms/genksyms: 1: Syntax error: "(" unexpected
    make[3]: *** [/usr/src/media_build/v4l/au8522_dig.o] Error 2
    make[2]: *** [_module_/usr/src/media_build/v4l] Error 2
    make[2]: Leaving directory `/lib/modules/2.6.38.8-iconnect/build'
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/src/media_build/v4l'
    make: *** [all] Error 2
    build failed at ./build line 353.



    pbg4


    hast du wirklich auch das install auf deinem Linux Rechner ausgeführt? Weil bei mir meckert er da dann immer:
    strip: Unable to recognise the format of the input file


    bei make -j5 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi- INSTALL_MOD_PATH=.. modules_install würde er bei mir auch was machen, endet aber wieder im gleichen Fehler.



    LG rofldmao


  • Das passiert wenn du das X86 Binary noch hast.

    Code
    make distclean


    Ich gehe mal davon aus, du hast das media_build complette vom PC kopiert.
    Ansonsten sollte media_build noch perl5 brauchen, sonst fällt mir auch nichts ein.


    Du kannst auch das Packetarchiv für debian/yavdr für den Dockstar nehmen, dann brauchst nicht selber zubauen.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Sorry, ich hab mich vll. zu undeutlich ausgedrückt, ich bin so vorgegangen:

    Code
    ssh root@iconnect
    cd /usr/src
    apt-get install git
    git clone git://linuxtv.org/media_build.git
    cd media_build
    ./build

    und da kam dann auch schon der Fehler.



    Ich habs auch gerade eben noch manuell mit

    Code
    make download untar
    make ARCH=arm

    ausprobiert. Das resultiert aber dann im gleichen Fehler.



    Hm ja das mit dem Paketarchiv wär vll. ne alternative. Mich interressiert aber trotzdem, woran das jetzt liegt, weil ich des öfteren Fehler beim kompilieren bekomme, und dann nie weiß woran das liegen könnte. Google hilft mir bei dem Fehler leider auch nicht weiter.

  • Also bei mir funktioniert es. Wollte sowieso schon auf media_build umstellen.


    "CC [M] /usr/src/media_build/v4l/au8522_dig.o" ist das erste was gebaut werden soll.
    "scripts/genksyms/genksyms" wird bei mir garnicht verwendet.
    Musst mal googlen was es sein könnte.


    Datum korrekt? /lib/modules/2.6.38.8-iconnect/build zeigt auch auf dein Kernel?


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Ja, Datum ist das Aktuelle und ich hab den kompletten Ordnerinhalt des Kernels nach dem Cross-Compiling des Kernels nach /lib/modules/2.6.38.8-iconnect/build kopiert.
    Vielleicht liegt es an der kernel-config. Könntest du mir deine .config zur Verfügung stellen?


    Ach ja hab jetzt testweiße n VDR 1.6 mit streamdev und live-plugin installiert. Ich greif streame mit VLC über das Netzwerk und habe dabei Umschaltzeiten von mehreren Minuten bis ca. ne halbe Stunde.
    Das kann doch nicht normal sein oder? Wie lange dauert das bei dir?


    LG rofldmao

  • Hi rofldmao,



    der link von /lib/modules/2.6.38-8-iconnect/build muss auf die Kernel-sourcen resp kernel-headers
    zeigen, von dem Kernel den du cross-compiliert hast, so wie es Johns schon gesagt hat, also etwa so,

    ln -s /usr/src/2.6.38-8-iconnect /lib/modules/2.6.38-8-iconnect/build



    wenn du den kernel ordner vom cross-compile host nach /usr/src/2.6.38-8-iconnect kopiert hast,



    ansonsten der andere Fehler mit strip, ist mir nicht klar, normalerweise ist das strip binary Plattform abhängig,
    entweder elf32-i386 oder elf32-big oder elf32-little für arm, d.h. wenn das neue perl build script in media_build
    beim cross-compile die symbols strippen will, obwohl du ARCH=arm angegeben hast, dann geht das schlicht nicht, daher der
    Fehler, ich hatte mit einem media_build aus Juli 2011 noch das build.sh script, da hat alles geklappt, evtl. ein bug,.. ??



    ansonsten verwende ich auch die yavdr stable-vdr sourcen und compiliere sie aber selbst auf der iconnect
    mit dpkg-buildpackage -tc und installiere sie dann, alles fein damit,...



    viele Grüsse pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • Hi pbg 4,


    ich habe den kompletten Ordner linux-2.6.38.8 nach /lib/modules/2.6.38.8-iconnect/ kopiert und dann in build umbenannt, also habe ich jetzt alle dateien, die nach dem Kompilieren entstanden sind in /lib/modules/2.6.38.8-iconnect/build. Des Weiteren habe ich den Ordner /lib/modules/2.6.38.8-iconnect/source auch auf /lib/modules/2.6.38.8-iconnect/build verlinkt.
    Zusätzlich habe ich auch die Kernelheaders mit

    Code
    make -j4 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi- headers_install
    make -j4 ARCH=arm CROSS_COMPILE=../arm-2010q1/bin/arm-none-eabi- INSTALL_HDR_PATH=.. headers_install

    cross-kompiliert und den Inhalt des dabei entstandenen Ordners (include) nach /usr/include kopiert.


    Ich denke mal dass das schon passen sollte.


    Hm ja könnte auch ein Bug sein. Komisch ist aber, dass da im Internet noch niemand was dazu geschrieben hat. Bin auf jeden fall erstmal froh, dass ichs installiert bekommen hab, auch wenn ich doch gerne wüsste, warums auf der iConnect direkt nicht funktioniert.


    Ich werde am Wochenende, wenn ich wieder mehr Zeit habe noch ein wenig rumspielen und auch mal die yavdr Sourcen auspropieren. Danke für den Tipp :tup . Vielleicht verbessern sich ja meine Umschaltzeiten dann. Wie schnell schaltet denn deine iConnect um?



    LG rofldmao

  • Linux Kernel Config File solltest du bei dem Kernel Packet finden. Ist am sichersten dies zu verwenden.


    Wenn du die Module Crosscompiliert hast, dann kopiere doch nur die Module (*.ko) auf dem Rechner.


    Ansonsten versuche es mal von Anfang an. Kernel Source Packet installieren und dann obiges Confiig-File nehmen,
    ,dann einfach make.


    Umschaltzeiten liegen bei ca. 2s mit vdr-sxfe > xineliboutput @ vdr-client -> streamdev @ vdr-server.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • So, nach langem rumprobieren hab ich media_build direkt auf der iConnect installieren können.
    Ich habe dazu den kernel nochmals direkt auf der iConnect kompiliert und dann mit /lib/modules/kernelversion/build verknüpft, dann funktionierte es komischerweise.


    Jetzt muss ich noch schauen, ob ich das mit den umschaltzeiten hinbekomm. Dazu werd ich aber, wenn ichs net alleine schaffe, nen neuen Thread eröffnen. Passt hier nicht zum Thema.


    LG rofldmao

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!