NeutrinoHD auf der Dream???

Antworten
azureus
Interessierter
Interessierter
Beiträge: 50
Registriert: Freitag 14. Mai 2004, 17:34
Image: Rudream DM500

NeutrinoHD auf der Dream???

Beitrag von azureus »

So mal eine frage an die experten hier, was muss man alles anpassen(damit ich weis welchen lesestoff ich suchen muss) damit NeutrinoHD auf der Dreambox z.B. dm800 läuft...

Falls jemand noch ein paar andere Tipps hat die mir dabei helfen könnten wrde ich mich über ein paar links sehr freuen


gruß azu



p.s.: kann man images auch auf PPC Rechnern erstellen??? Hab einen PPC mac mit Ubuntu???
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Du musst eigentlich nur die libcoolstream für die DVB-API der dream nachimplementieren. Du kannst ja bei meinem Tripledragon-Port nachschaun, da habe ich das "libtriple" genannt. Siehe http://gitorious.org/neutrino-hd/neutri ... ipledragon hier.

Carjay hat es auch auf den PC portiert, und hat dazu eine rudimentäre libdvbapi gemacht, siehe hier: http://gitorious.org/neutrino-hd/neutrino-hd-dvbapi

Allerdings hat Carjay auch gleich noch softwaredecoding und openGL - Ausgabe eingebaut, damit es mit budget-Karten geht.

Für die dream ist die libtriple also vermutlich der schneller erfolg versprechende Ansatz. Die API der Tripledragon ist ja auch der DVB-API ziemlich ähnlich. Die ioctls heissen zwar anders, aber machen im grossen und ganzen dasselbe.

Ich denke es ist so ca. 5 Manntage Arbeit, das auf einer Dream halbwegs ordentlich ans laufen zu bekommen. Die Feinheiten (Movieplayer etc) dauern vielleicht etwas länger, aber prinzipiell sollte man da kurzfristig Erfolgreich sein können.
azureus
Interessierter
Interessierter
Beiträge: 50
Registriert: Freitag 14. Mai 2004, 17:34
Image: Rudream DM500

Re: NeutrinoHD auf der Dream???

Beitrag von azureus »

Danke erstmal für den ansatz werde mich jetzt mal 2 - 3 Tage mit der dream DVB-API beschäfftigen und dann wahrscheinlich noch so 2-200 Fragen stellen :D :D :D

Hier schonmal die erste was ist mit dieeser "Linux TV API" die von der dm800 verwendet wird bekommt man daraus wichttige infos??


Dann noch zur frage zwei kann ich das ganze auch unter einer PPC maschiene machen oder muss ich mir meinen alten PC fit machen???
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Dream benutzt(e zumindest früher) immer eine API, die sehr nahe an der Standard Linux Kernel API ist. Da musst du also nichts dazulernen erstmal.
Für die HD Boxen verwenden sie bestimmt die neuere S2-API, die ist aber auch harmlos.

Insbesondere, da das neutrino-HD für die Sachen, die sich in der DVB-API und der S2-API unterscheiden (tuning), sowieso die S2-API verwendet.

Schau dir mal meine libtriple-Implementierung an. Für's erste kommst du mit der cDemux, cVideo und cAudio Implementation hin, den rest kannst du mit stubs ausfüllen. Dann geht erstmal Aufnehmen und Abspielen noch nicht, das kannst du ja aber dann am 2. Tag nachrüsten.

Auf powerpc geht das bauen für ppc boxen noch leichter, wenn man weiss, was man tut. Da du nachfragen musst, würde ich dir das allerdings nicht empfehlen.

Wenn du cross-bauen musst (die 800 ist glaube ich MIPS Little Endian?), dann sollte das egal sein, welche Architektur dein Rechner hat. Allerdings wird es halt auch von nicht vielen Leuten wirklich getestet...
azureus
Interessierter
Interessierter
Beiträge: 50
Registriert: Freitag 14. Mai 2004, 17:34
Image: Rudream DM500

Re: NeutrinoHD auf der Dream???

Beitrag von azureus »

Ja die DM800 ist mips und dann werde ich es mal unter meinem ppc testen
Kermit21
Interessierter
Interessierter
Beiträge: 98
Registriert: Mittwoch 12. März 2003, 12:40
Image: Kabel - diverse

Re: NeutrinoHD auf der Dream???

Beitrag von Kermit21 »

Ist abzusehen, dass Neutrino HD in absehbarer Zeit (1-2 Jahre) auch auf die DM500HD portiert wird?

Ich bin schon länger mit einer Coolstream HD1 und seit Erscheinen mit einer Coolstream Neo am liebäugeln. Der einzige, entscheidende Grund, warum ich davon Abstand nehme ist, dass die Coolstream wohl niemals divx abspielen kann! Und ich habe schon meine ganzen Aufnahmen-Archive aus ~10 Jahren dbox2 nach xvid transcodiert, da es relativ klein ist und es auf vielen Abspielgeräten (insbesondere nahezu allen halbwegs modernen DVD-Player mit USB-Eingang) abspielbar ist.
Wenn es absehbar ist, dann würde ich mir lieber eine DM500HD holen und vorübergehend mit Enigma *hust* leben - auch wenn meine Frau mich lynchen wird.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Es muss halt jemand machen. *Ich* werde mir sicher keine Dreambox *kaufen*.
Kermit21
Interessierter
Interessierter
Beiträge: 98
Registriert: Mittwoch 12. März 2003, 12:40
Image: Kabel - diverse

Re: NeutrinoHD auf der Dream???

Beitrag von Kermit21 »

seife hat geschrieben:*Ich* werde mir sicher keine Dreambox *kaufen*.
Das habe ich auch nicht erwartet ;)

Ich werde wohl lieber weiter abwarten und Tee trinken, bzw. die gute alte Dbox2 weiter nutzen, bis ich irgendwann mal in das HD und Timeshift Zeitalter einsteige. Ich habe noch rund 10 D-Box2 hier (Philips, Nokia, Sagem für Sat+Kabel, Nokia mit Avia500 und Avia600), für die ich allesamt mal relativ viel Geld gezahlt habe. Jetzt kriegt man für eine Box keine 30EUR mehr :(. So schnell kann es gehen. Aber mit den Boxen kann ich immerhin noch eine lange Zeit überbrücken ;)
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

seife hat geschrieben:Du musst eigentlich nur die libcoolstream für die DVB-API der dream nachimplementieren. Du kannst ja bei meinem Tripledragon-Port nachschaun, da habe ich das "libtriple" genannt. Siehe http://gitorious.org/neutrino-hd/neutri ... ipledragon hier.

...

Für die dream ist die libtriple also vermutlich der schneller erfolg versprechende Ansatz. Die API der Tripledragon ist ja auch der DVB-API ziemlich ähnlich. Die ioctls heissen zwar anders, aber machen im grossen und ganzen dasselbe.
Sorry für meine Anfängerfrage!

Was muss ich ausser deinem libtriple repository pullen um mit einer Mipsel-Portierung (DM800) anzufangen, die README ist leider leer?!

Ich hab zwar C/C++,Java,CVS,SVN,Mercurial (und etwas Assembler) Kenntnisse aber 0-Ahnung was Cross-Compile und Neutrino Imagebau anbelangt!
tomworld
Einsteiger
Einsteiger
Beiträge: 247
Registriert: Sonntag 24. August 2008, 03:44

Re: NeutrinoHD auf der Dream???

Beitrag von tomworld »

Kermit21 hat geschrieben: Das habe ich auch nicht erwartet ;)

Ich werde wohl lieber weiter abwarten und Tee trinken, bzw. die gute alte Dbox2 weiter nutzen, bis ich irgendwann mal in das HD und Timeshift Zeitalter einsteige. Ich habe noch rund 10 D-Box2 hier (Philips, Nokia, Sagem für Sat+Kabel, Nokia mit Avia500 und Avia600), für die ich allesamt mal relativ viel Geld gezahlt habe. Jetzt kriegt man für eine Box keine 30EUR mehr :(. So schnell kann es gehen. Aber mit den Boxen kann ich immerhin noch eine lange Zeit überbrücken ;)
hi,

das must du nicht, die Frage ist: "Wo Verkaufst du?" und "Wie Verkaufst du, wenn überhaupt?"

8 Boxen (Kabel) x 50€ für Kable-Boxen sind schon 400€
2 Boxen (Sat) x 100€ für Sat-Boxen sind schon 200€ (ohne Multicam und HDD-IF)

du kannst mir ja deine Dboxen in einen grossen Karton zuschicken, ich schau sie mir an und verkaufe sie dann in meinen Namen,
was raus kommt, weiss ich nicht, aber sicherlich eine Neutrino HD-Box, bei 10 Boxen die Funktionieren

überdenke deine Meinung :dash:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

mik hat geschrieben:Was muss ich ausser deinem libtriple repository pullen um mit einer Mipsel-Portierung (DM800) anzufangen, die README ist leider leer?!
IMHO nichts. Einen Cross-compiler und die zugehörigen libs (die meckert configure dann schon an) solltest du natürlich schon gebaut haben. Für die dreams nimmt man wohl auch gern openembedded, aber das war mir damals zu kompliziert um mal schnell einzusteigen.

git://gitorious.org/tripledragon-buildscripts/mainline.git ist das, was ich für die Tripledragon nehme, und im prinzip dasselbe ist auch das coolstream-Buildsystem hier: git://gitorious.org/neutrino-hd/buildsystem-cs.git

Speziell das CS-Buildsystem sollte, weil es schon ein recht aktuelles crosstool benutzt, auch für mips umbaubar sein.
aber 0-Ahnung was Cross-Compile und Neutrino Imagebau anbelangt!
Na dann solltest du schon mal einen cross-compile crashkurs machen. Mit neutrino und Images hat das erst mal wenig zu tun, aber du solltest schon mit crosstool-NG eine toolchain gebacken bekommen und in der Lage sein, die Abhängigkeiten (freetype, ffmpeg, libmad, ...) für dein Target zu bauen. C und C++ ist nicht ganz so wichtig, weil es ja gar nicht soviel zu programmieren gibt, es muss ja nur ein wenig angepasst werden.

Typischerweise ist es auch eine gute idee, eine getestete Version der Toolchain zu benutzen, ich würde also mal schauen was Dream im openembedded nutzt und das dann mit crosstool bauen.
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

seife hat geschrieben:Einen Cross-compiler und die zugehörigen libs (die meckert configure dann schon an) solltest du natürlich schon gebaut haben. Für die dreams nimmt man wohl auch gern openembedded, aber das war mir damals zu kompliziert um mal schnell einzusteigen.
...
git://gitorious.org/tripledragon-buildscripts/mainline.git ist das, was ich für die Tripledragon nehme, und im prinzip dasselbe ist auch das coolstream-Buildsystem hier: git://gitorious.org/neutrino-hd/buildsystem-cs.git

Speziell das CS-Buildsystem sollte, weil es schon ein recht aktuelles crosstool benutzt, auch für mips umbaubar sein.
...

Na dann solltest du schon mal einen cross-compile crashkurs machen. Mit neutrino und Images hat das erst mal wenig zu tun, aber du solltest schon mit crosstool-NG eine toolchain gebacken bekommen und in der Lage sein, die Abhängigkeiten (freetype, ffmpeg, libmad, ...) für dein Target zu bauen. C und C++ ist nicht ganz so wichtig, weil es ja gar nicht soviel zu programmieren gibt, es muss ja nur ein wenig angepasst werden.
Da ich wie schon gesagt keine Ahnung davon habe, weiß ich nicht genau welcher Ansatz der einfachste für mich wäre bzw. wie ich genau anfangen sollte!
seife hat geschrieben:Typischerweise ist es auch eine gute idee, eine getestete Version der Toolchain zu benutzen, ich würde also mal schauen was Dream im openembedded nutzt und das dann mit crosstool bauen.
Wann brauche ich crosstool-NG genau, bei Nutzung von OE, CS-Buildsystem oder generell?
Das einzige was ich mal für mehrere Plattformen angepasst und übersetzt habe war RXTX mit MINGW und make-File!
Ich hab leider vom Einrichten einer nutzbaren Basis zum Portieren von Neutrino Richtung "mipsel" soviel Ahnung, wie eine Jungfrau vom Kinder kriegen :( ... und das will ich aber ändern! :wink:

Könnte ich mit OE starten wie hier beschrieben und darin den Source von dir reinbringen und damit für Mipsel zum übersetzen bringen?
PS: Mir ist egal wieviel Aufwand ich reinstecken muss, ich will weg von E² und Neutrino auf meiner DM800
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Vermutlich kannst du mit OE anfangen und dir ein neutrino-"Paket" darin bauen. Ich habe aber keinerlei Ahnung von OE.
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

seife hat geschrieben:Vermutlich kannst du mit OE anfangen und dir ein neutrino-"Paket" darin bauen. Ich habe aber keinerlei Ahnung von OE.
Macht nix, ich hab noch viel weniger Ahnung davon, ich hoffe ich kann dich öfter "belästigen" wenn ich nicht weiterkomme! :roll:

Evtl. fang ich bereits heute nach der Arbeit an mich einzuarbeiten.

EDIT: 19.11.2010 - 08:13 :
Hab gestern bis spät in die Nacht mal ein VMWare Ubuntu 10.10 (Maverick) eingerichtet weil ich kein Umgebung für Entwicklung mehr hatte.

WICHTIG bei Ubuntu: statt dash bash als shell verwenden !!
Danach mittels install-script von adenin die Entwicklungsumgebung runter gezogen.

danach im ~/openembedded/1.6/dm800 make_dm800 ausgeführt um ein OE16 Dream Image und alle abhängigen Files zu erstellen.
Bin da auf ein Problem mit dem Makefile-opendreambox gestoßen.

Hab dann heute früh ungefähr bei Task 837 von über 2500 abgebrochen (werd wohl erst wieder nächste Woche dazu kommen fortzusetzen, da ich am WE nicht zuhause bin)!

Ich bin mir nicht ganz sicher ob ich das Erstellen des E² Image + abhängige Files für meine Zwecke überhaupt brauche!
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

Das ganze hat sich leider verzögert da ich die halbe Woche nicht zu hause bin und dadurch recht wenig zeit habe mich mit dem Thema zu beschäftigen. :cry: :(

Aktueller Status:

Ich hab mit oe1.6 (nach einigen Schwierigkeiten) mal einen kompletten Durchlauf gemacht und unter ~/openembedded/1.6/dm800/dm800/build/tmp/deploy/images ein nfi-Image erstellt.
Weiters habe ich (nach einigen Hürden) das Triple Dragon - NeutrinoHD Buildsystem und das Coolstream - NeutrinoHD Buildsystem durchlaufen lassen (vom "make prefs" bis "make neutrino-hd-system" bzw. "make neutrino").

Den Source von http://gitorious.org/neutrino-hd/neutri ... ipledragon und http://gitorious.org/neutrino-hd/neutri ... perimental hab ich mir auch gezogen und diesen etwas angesehen.

Ich habe jetzt keine Ahnung wie ich fortfahren muss um den code "neutrino-hd-experimental" für mipsel zu übersetzen.
Wäre für jede Hilfestellung sehr dankbar! :)
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Also. Ich würde mit dem Buildsystem für die Coolstream anfangen.
Anstelle dem neutrino-hd-experimental den neutrino-hd-tripledragon Source nach source/neutrino-hd auschecken.

Dann mit Crosstool-NG http://ymorin.is-a-geek.org/projects/crosstool eine toolchain bauen, die z.B. in /opt/cross installiert ist. Bevorzugt eine Toolchain mit etwa denselben Parametern, wie sie die Träumer im openembedded verwenden. Dann das File "config" editieren, und die Variablen CROSS_DIR und TARGET entsprechend anpassen. Dann mal ein "make neutrino" und schauen, wo's knallt. Das dann fixen. Dazu wirst du ein "--with-boxtype" für die dream ins automake-Geraffel einbauen müssen und die libtriple nach "libs2api" oder wie auch immer du das nennen willst duplizieren und dann entsprechend anpassen. 90% der Änderungen werden innerhalb dieser Lib zu machen sein, eigentlich ist es hauptsächlich die frontend.cpp die durch #ifdefs verschandelt werden muss. Aber dieses Leiden bist du ja vom tuxbox-neutrino her sicher gewohnt :-)
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

seife hat geschrieben:Also. Ich würde mit dem Buildsystem für die Coolstream anfangen.
Anstelle dem neutrino-hd-experimental den neutrino-hd-tripledragon Source nach source/neutrino-hd auschecken.

Dann mit Crosstool-NG http://ymorin.is-a-geek.org/projects/crosstool eine toolchain bauen, die z.B. in /opt/cross installiert ist. Bevorzugt eine Toolchain mit etwa denselben Parametern, wie sie die Träumer im openembedded verwenden. Dann das File "config" editieren, und die Variablen CROSS_DIR und TARGET entsprechend anpassen.
Da muss ich mich erst einlesen, davon hab ich noch keine Ahnung.
seife hat geschrieben:Dann mal ein "make neutrino" und schauen, wo's knallt. Das dann fixen. Dazu wirst du ein "--with-boxtype" für die dream ins automake-Geraffel einbauen müssen und die libtriple nach "libs2api" oder wie auch immer du das nennen willst duplizieren und dann entsprechend anpassen. 90% der Änderungen werden innerhalb dieser Lib zu machen sein, eigentlich ist es hauptsächlich die frontend.cpp die durch #ifdefs verschandelt werden muss. Aber dieses Leiden bist du ja vom tuxbox-neutrino her sicher gewohnt :-)
Hatte mir deinen Source vom "neutrino-hd-tripledragon" schon angesehen, da waren wirklich massig "HAVE_TRIPLEDRAGON" im Source.
Du meinst ich solle auf dem Tripledragon source (libtriple) aufsetzen, sind die Treiberanpassungen von dieser etwas näher an der DREAM als die Coolstream Sourcen (z.B.: vfd vs. lcdd)?

Ich hatte gestern angefangen die Dateien von "neutrino-hd-experimental" anzupassen, dort hatte ich einen neuen Schalter "BOXTYPE_DREAMBOX_MIPSEL" und einen "HAVE_DREAMBOX_MIPSEL_HARDWARE" eingefügt, oder sollte ich den bisherigen "BOXTYPE_DREAM" verwenden und dort um das "BOXMODEL_DM800" erweitern (nur dann müsste ich auf die Kombination von HAVE_DREAMBOX_HARDWARE und BOXMODEL_DM800 abfragen)?

Wenn ich in den nächsten Tagen mal wieder zuhause bin, werde ich "neutrino-hd-tripledragon" als Basis heranziehen, aber vorher muss ich das toolchain bauen gebacken bekommen!
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Die Architektur (MIPSEL) sollte dem Neutrino sowas von egal sein, das ist also der falsche Switch :-)

Soo massig finde ich die #ifdefs nicht - es sind unter 100 ;-)
Du wirst schon auch ein conditional für die dreambox_hd oder so brauchen, an den Stellen, wo es halt dreambox-spezifisch wird: vermutlich ist das der Framebuffer, und hardwarespezifische sachen wie halt SCART-Buchsen, MPEG-Filter, die Fernbedienung etc. Aber das sind details, wenn du dort angekommen bist, dann hast du nicht mehr viele Sorgen.
Die meisten Features werden aber eher generisch für alle Boxen, die die S2API verwenden sein, also auch für PCs z.B.
Carjay hat auch einen port auf die S2API gemacht, allerdings hat er auch gleich einen MPEG-Softwaredekoder auf openGL-Basis eingebaut und das Buildsystem von autoconf nach cmake portiert, da wirst du also vermutlich eher zusätzlich verwirrt werden :-)
Carjays port habe ich auch in ein git-repo auf gitorious gepushed.

Ich würde mit dem TD-Code anfangen, weil da halt *überhaupt eine* Beispielimplementierung deiner zukünftigen libs2api drin ist (in Form der libtriple), und zwar eine die nachgewiesenermassen funktioniert. Wenn du mit dem Coolstream-Source anfängst, dann hast du nur ein paar Header und musst dir alles selber zusammensuchen und die ganzen Sachen, die ich durch raten, schätzen und ausprobieren rausgefunden habe selbst in Erfahrung bringen.
mik
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 17. November 2010, 20:49

Re: NeutrinoHD auf der Dream???

Beitrag von mik »

Hallo, bin gerade dabei mir ein toolchain für die Erzeugung zu konfigurieren.

Hier einige Konfigurationsdateien (welche ich als solche erkannt habe) aus openembedded für die dm800:

~/openembedded/1.6/dm800/dm800/openembedded/conf/machine/dm800.conf

Code: Alles auswählen

#@TYPE: Machine
#@NAME: Dreambox DM 800 HD PVR
#@DESCRIPTION: Machine configuration for the Dreambox DM 800 HD PVR

#comment out the following three lines to use currently experimental kernel 2.6.3x
PREFERRED_VERSION_linux-dm800 = "2.6.18"
PREFERRED_VERSION_linux-libc-headers = "2.6.18"
PREFERRED_VERSION_wpa-supplicant = "0.5.10"

#needed for wpa-supplicant (0.6.9)
COMBINED_FEATURES_append = "${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '', 'nl80211', d)}"

#take care when you do changes on MACHINE_ESSENTIAL_EXTRA_RDEPENDS/RRECOMMENDS you have to increment the recipes/tasks/task-boot.bb PR

MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.18 = "\
    kernel-module-nls-iso8859-1 \
    kernel-module-nls-iso8859-15 \
    kernel-module-nls-cp437 \
    kernel-module-nls-cp850 \
    kernel-module-nls-utf8 \
    v4l-dvb-module-dvb-core \
    v4l-dvb-module-stv0299 \
"

MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.18 = "\
    kernel-module-cifs \
    kernel-module-exportfs \
    kernel-module-ext2 \
    kernel-module-reiserfs \
    kernel-module-xfs \
"

MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.3x = "\
    kernel-module-autofs4 \
    kernel-module-dvb-core \
    kernel-module-fb \
    kernel-module-sg \
    kernel-module-snd-pcm \
    kernel-module-snd \
    kernel-module-sr-mod \
    kernel-module-stv0299 \
    kernel-module-usbhid \
"

MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.3x = "\
    kernel-module-cdrom \
    kernel-module-cifs \
    kernel-module-exportfs \
    kernel-module-ext2 \
    kernel-module-reiserfs \
    kernel-module-xfs \
"

MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '${MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.18}', '${MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.3x}', d)}
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.18}', '${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.3x}', d)}

KERNEL_EXTRA_CMD = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '--disable-compressor=lzo ', '', d)}

EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
IMAGE_CMD_jffs2 = "\
    mkfs.jffs2 \
        --root=${IMAGE_ROOTFS}/boot \
        --faketime \
        --disable-compressor=lzo \
        --compression-mode=size \
        --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
        ${EXTRA_IMAGECMD}; \
    rm -rf ${IMAGE_ROOTFS}/boot/*; \
    mkfs.jffs2 \
        --root=${IMAGE_ROOTFS} \
        --faketime \
        ${KERNEL_EXTRA_CMD} \
        --compression-mode=size \
        --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
        ${EXTRA_IMAGECMD}; \
    buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
        ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
        ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
        ${MACHINE} 64 \
        > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"

MACHINE_FEATURES += "modem wifi"

require conf/machine/include/dreambox-mipsel.inc
dreambox-mipsel.inc

Code: Alles auswählen

# dreambox-mipsel.inc

MACHINE_FEATURES += "alsa pci"

OLDEST_KERNEL = "2.6.12"

PREFERRED_PROVIDER_task-opendreambox-dvbapi = "task-opendreambox-dvbapi3"
PREFERRED_PROVIDER_task-opendreambox-ui = "task-opendreambox-enigma2"

TARGET_ARCH = "mipsel"
TARGET_FPU ?= "soft"

DISTRO_FEATURES += " mplt"

require conf/machine/include/dreambox.inc
require conf/machine/include/tune-mips32.inc
dreambox.inc

Code: Alles auswählen

# dreambox.inc

EXTRA_IMAGEDEPENDS += "dreambox-secondstage dreambox-buildimage-native"

GLIBC_ADDONS ?= "ports,nptl,libidn"
GLIBC_EXTRA_OECONF ?= "--disable-profile --with-tls --without-fp --with-__thread"

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "dreambox-dvb-modules"
MACHINE_FEATURES += "kernel26"

PREFERRED_PROVIDER_virtual/kernel = "linux-${MACHINE}"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
tune-mips-32.inc

Code: Alles auswählen

TARGET_CC_ARCH = "-march=mips32"
Ich habe nicht wirklich gefunden wo/was bzw. wie ich die notwendigen Einstellungen aus dieser openembedded/bitbake Konfiguration in das crosstool-ng überführen kann!
Was von diesen Schaltern ist eigentlich wichtig bzw. wie heißen die Schalter in der .config des crosstool-ng?

Mein aktuelles .config

Code: Alles auswählen

#
# Automatically generated make config: don't edit
# crosstool-NG version: 1.9.0
# Tue Nov 30 02:29:59 2010
#
# CT_BACKEND is not set
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${CT_TOP_DIR}/targets"
CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
CT_REMOVE_DOCS=y
CT_INSTALL_DIR_RO=y
CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y

#
# Downloading
#
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_USE_MIRROR=y
# CT_PREFER_MIRROR is not set
CT_MIRROR_BASE_URL="http://ymorin.is-a-geek.org/mirrors/"
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_MAX_CHUNKS=1
# CT_ONLY_DOWNLOAD is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
# CT_PATCH_SINGLE is not set
# CT_PATCH_USE_LOCAL is not set

#
# Build behavior
#
CT_PARALLEL_JOBS=1
CT_LOAD=0
CT_USE_PIPES=y
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="bash"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y

#
# Target options
#
CT_ARCH="mips"
# CT_ARCH_SUPPORTS_BOTH_MMU is not set
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
CT_ARCH_SUPPORTS_32=y
# CT_ARCH_SUPPORTS_64 is not set
CT_ARCH_SUPPORT_ARCH=y
# CT_ARCH_SUPPORT_ABI is not set
# CT_ARCH_SUPPORT_CPU is not set
CT_ARCH_SUPPORT_TUNE=y
# CT_ARCH_SUPPORT_FPU is not set
# CT_ARCH_DEFAULT_HAS_MMU is not set
CT_ARCH_DEFAULT_BE=y
# CT_ARCH_DEFAULT_LE is not set
CT_ARCH_DEFAULT_32=y
# CT_ARCH_DEFAULT_64 is not set
CT_ARCH_ARCH="mips1"
CT_ARCH_TUNE="mips32"
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_BITNESS=32
# CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SW=y
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""

#
# General target options
#
# CT_ARCH_alpha is not set
# CT_ARCH_arm is not set
# CT_ARCH_avr32 is not set
# CT_ARCH_blackfin is not set
# CT_ARCH_ia64 is not set
# CT_ARCH_m68k is not set
CT_ARCH_mips=y
# CT_ARCH_powerpc is not set
# CT_ARCH_s390 is not set
# CT_ARCH_sh is not set
# CT_ARCH_x86 is not set
CT_ARCH_alpha_AVAILABLE=y
CT_ARCH_arm_AVAILABLE=y
CT_ARCH_avr32_AVAILABLE=y
CT_ARCH_blackfin_AVAILABLE=y
CT_ARCH_ia64_AVAILABLE=y
CT_ARCH_m68k_AVAILABLE=y
CT_ARCH_mips_AVAILABLE=y
CT_ARCH_powerpc_AVAILABLE=y
CT_ARCH_s390_AVAILABLE=y
CT_ARCH_sh_AVAILABLE=y
CT_ARCH_x86_AVAILABLE=y
CT_ARCH_USE_MMU=y

#
# mips other options
#
CT_ARCH_mips_o32=y
# CT_ARCH_mips_n32 is not set
# CT_ARCH_mips_n64 is not set
CT_ARCH_mips_ABI="32"

#
# Target optimisations
#

#
# Toolchain options
#

#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_DIR_PREFIX=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="unknown"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Operating System
#
# CT_BARE_METAL is not set
# CT_MINGW32 is not set
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
CT_KERNEL_VERSION="2.6.31.14"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
# CT_KERNEL_mingw32 is not set
CT_KERNEL_bare_metal_AVAILABLE=y
CT_KERNEL_linux_AVAILABLE=y
CT_KERNEL_LINUX_INSTALL=y
# CT_KERNEL_V_2_6_36 is not set
# CT_KERNEL_V_2_6_35_8 is not set
# CT_KERNEL_V_2_6_34_7 is not set
# CT_KERNEL_V_2_6_33_7 is not set
# CT_KERNEL_V_2_6_32_25 is not set
CT_KERNEL_V_2_6_31_14=y
# CT_KERNEL_V_2_6_27_55 is not set
# CT_KERNEL_LINUX_CUSTOM is not set
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
CT_KERNEL_LINUX_INSTALL_CHECK=y
# CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set
CT_KERNEL_mingw32_AVAILABLE=y

#
# Common kernel options
#
CT_SHARED_LIBS=y

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
# CT_ARCH_BINFMT_FLAT is not set
# CT_ARCH_BINFMT_FDPIC is not set

#
# GNU binutils
#
# CT_BINUTILS_V_2_20_1 is not set
# CT_BINUTILS_V_2_20 is not set
CT_BINUTILS_V_2_19_1=y
# CT_BINUTILS_V_2_19 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_16_1 is not set
CT_BINUTILS_VERSION="2.19.1"
CT_BINUTILS_EXTRA_CONFIG=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
CT_BINUTILS_FOR_TARGET_BFD=y

#
# C compiler
#
CT_CC="gcc"
CT_CC_VERSION="4.3.2"
CT_CC_gcc=y
# CT_CC_V_4_5_1 is not set
# CT_CC_V_4_5_0 is not set
# CT_CC_V_4_4_5 is not set
# CT_CC_V_4_4_4 is not set
# CT_CC_V_4_4_3 is not set
# CT_CC_V_4_4_2 is not set
# CT_CC_V_4_4_1 is not set
# CT_CC_V_4_4_0 is not set
# CT_CC_V_4_3_5 is not set
# CT_CC_V_4_3_4 is not set
# CT_CC_V_4_3_3 is not set
CT_CC_V_4_3_2=y
# CT_CC_V_4_3_1 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_3_4_6 is not set
CT_CC_GCC_4_2_or_later=y
CT_CC_GCC_4_3_or_later=y
# CT_CC_GCC_4_4_or_later is not set
# CT_CC_GCC_4_5_or_later is not set
# CT_CC_GCC_HAS_GRAPHITE is not set
# CT_CC_GCC_HAS_LTO is not set
CT_CC_GCC_USE_GMP_MPFR=y
# CT_CC_GCC_USE_PPL_CLOOG is not set
# CT_CC_GCC_USE_MPC is not set
# CT_CC_GCC_USE_LIBELF is not set
CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
CT_CC_BUGURL=""
CT_CC_ENABLE_CXX_FLAGS=""
CT_CC_CORE_EXTRA_CONFIG=""
CT_CC_EXTRA_CONFIG=""
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_JAVA=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# CT_CC_LANG_JAVA is not set

#
# gcc other options
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m

#
# C-library
#
CT_LIBC="glibc"
CT_LIBC_VERSION="2.9"
# CT_LIBC_eglibc is not set
CT_LIBC_glibc=y
# CT_LIBC_mingw is not set
# CT_LIBC_newlib is not set
# CT_LIBC_none is not set
# CT_LIBC_uClibc is not set
CT_LIBC_eglibc_AVAILABLE=y
CT_LIBC_glibc_AVAILABLE=y
CT_LIBC_GLIBC_TARBALL=y
# CT_LIBC_GLIBC_V_2_11_1 is not set
# CT_LIBC_GLIBC_V_2_11 is not set
# CT_LIBC_V_2_10_1 is not set
CT_LIBC_V_2_9=y
# CT_LIBC_V_2_8 is not set
# CT_LIBC_V_2_7 is not set
# CT_LIBC_V_2_6_1 is not set
# CT_LIBC_V_2_6 is not set
# CT_LIBC_V_2_5_1 is not set
# CT_LIBC_V_2_5 is not set
# CT_LIBC_V_2_3_6 is not set
CT_LIBC_mingw_AVAILABLE=y
CT_LIBC_newlib_AVAILABLE=y
CT_LIBC_none_AVAILABLE=y
CT_LIBC_uClibc_AVAILABLE=y

#
# glibc/eglibc common options
#
CT_LIBC_GLIBC_EXTRA_CONFIG=""
CT_LIBC_GLIBC_CONFIGPARMS=""
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
CT_LIBC_EXTRA_CC_ARGS=""
CT_LIBC_GLIBC_USE_PORTS=y
CT_LIBC_ADDONS_LIST=""

#
# WARNING !!!                                            
#

#
#   For glibc >= 2.8, it can happen that the tarballs    
#

#
#   for the addons are not available for download.       
#

#
#   If that happens, bad luck... Try a previous version  
#

#
#   or try again later... :-(                            
#
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
# CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set
CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y
CT_LIBC_GLIBC_MIN_KERNEL_VERSION="2.6.12"
CT_LIBC_GLIBC_MIN_KERNEL="2.6.12"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_NPTL=y
CT_LIBC_SUPPORT_LINUXTHREADS=y
# CT_LIBC_SUPPORT_WIN32THREADS is not set
CT_THREADS="nptl"

#
# Common C library options
#
CT_THREADS_NPTL=y
# CT_THREADS_LINUXTHREADS is not set
# CT_THREADS_WIN32THREADS is not set
# CT_THREADS_NONE is not set
CT_LIBC_XLDD=y

#
# Debug facilities
#
CT_DEBUG_dmalloc=y
CT_DMALLOC_V_5_5_2=y
CT_DMALLOC_VERSION="5.5.2"
CT_DEBUG_duma=y
CT_DUMA_A=y
CT_DUMA_SO=y
CT_DUMA_V_2_5_15=y
# CT_DUMA_V_2_5_14 is not set
# CT_DUMA_V_2_5_12 is not set
# CT_DUMA_V_2_5_8 is not set
# CT_DUMA_V_2_5_1 is not set
CT_DUMA_VERSION="2_5_15"
CT_DEBUG_gdb=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
CT_GDB_NATIVE=y
# CT_GDB_NATIVE_NO_STATIC is not set
# CT_GDB_NATIVE_STATIC is not set
CT_GDB_GDBSERVER=y
CT_GDB_GDBSERVER_STATIC=y
# CT_GDB_V_7_2 is not set
# CT_GDB_V_7_1 is not set
# CT_GDB_V_7_0_1 is not set
# CT_GDB_V_7_0 is not set
CT_GDB_V_6_8=y
CT_GDB_VERSION="6.8"
# CT_DEBUG_ltrace is not set
CT_DEBUG_strace=y
# CT_STRACE_V_4_5_20 is not set
CT_STRACE_V_4_5_19=y
# CT_STRACE_V_4_5_18 is not set
# CT_STRACE_V_4_5_17 is not set
# CT_STRACE_V_4_5_16 is not set
# CT_STRACE_V_4_5_15 is not set
CT_STRACE_VERSION="4.5.19"

#
# Companion libraries
#
CT_COMPLIBS_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
# CT_PPL_NEEDED is not set
# CT_CLOOG_NEEDED is not set
# CT_MPC_NEEDED is not set
# CT_LIBELF_NEEDED is not set
CT_COMPLIBS=y
# CT_WRAPPER_NEEDED is not set
CT_GMP=y
CT_MPFR=y
# CT_GMP_V_5_0_1 is not set
CT_GMP_V_4_3_2=y
# CT_GMP_V_4_3_1 is not set
# CT_GMP_V_4_3_0 is not set
# CT_GMP_V_4_2_4 is not set
# CT_GMP_V_4_2_2 is not set
CT_GMP_VERSION="4.3.2"
# CT_MPFR_V_3_0_0 is not set
CT_MPFR_V_2_4_2=y
# CT_MPFR_V_2_4_1 is not set
# CT_MPFR_V_2_4_0 is not set
# CT_MPFR_V_2_3_2 is not set
# CT_MPFR_V_2_3_1 is not set
CT_MPFR_VERSION="2.4.2"

#
# Companion libraries common options
#
CT_COMPLIBS_BACKUP=y
# CT_COMPLIBS_CHECK is not set
# CT_COMPLIBS_SHARED is not set
Ich habe während ich dies hier schreibe mal ct-ng build.4 angeworfen um zu sehen was passiert.

Ich würde mich sehr freuen wenn mir von den Profis hier jmd. bei der Verfollständigung der Parameter helfen könnte! :-)

Danke!
tomX
Interessierter
Interessierter
Beiträge: 75
Registriert: Sonntag 3. Dezember 2006, 18:01

Re: NeutrinoHD auf der Dream???

Beitrag von tomX »

gibt es etwas Neues zu dem Projekt? Neutrino HD auf der Dream wäre eine tolle Sache.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: NeutrinoHD auf der Dream???

Beitrag von seife »

Es ist noch keine Hardware bei mir eingetroffen ;)
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: NeutrinoHD auf der Dream???

Beitrag von -=HSKc=-Robby »

Man könnte ja darüber nachdenken Dir eine DM800 zu leihen... :gruebel:
AudioSlyer
Erleuchteter
Erleuchteter
Beiträge: 450
Registriert: Sonntag 28. Juli 2002, 01:18

Re: NeutrinoHD auf der Dream???

Beitrag von AudioSlyer »

Das Neutrino sollte sich auch in der Dev-Shell vom OE1.6 bauen lassen. Erspart die TC-Anpassungen. Passt die Parts an und danach baust du ein BB-File.
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Re: NeutrinoHD auf der Dream???

Beitrag von mohousch »

*push*

hier geht es weiter (DM500HD, DM800HD, DM800SE, DM8000HD) auch für weiteren mipsel Boxen wie die gigablue, xtrend reihe etc..., genauso für die neuen arm basierten Boxen mit dem Entropic Appollo Core wie die golden media hypercube.

Falls jemand das hier offiziell archivieren/dokumentieren will (ins wiki oder auch wie immer das gehen soll) stehe zu Hilfe bereit.
Antworten