Seite 1 von 4 1234 LetzteLetzte
Ergebnis 1 bis 15 von 48

Thema: monitor auf Mipsel Router OpenWRT

  1. #1
    Registriert seit
    15.04.2005
    Beiträge
    33

    monitor auf Mipsel Router OpenWRT

    Hallo,

    ich habe vor monitor auf einem OpenWRT Router laufen zu lassen, genauer auf dem Asus WL-500G Deluxe, wie auch die Idee im monitor wiki ist. http://monitor.08k.de/index.php/Projekt03

    Leider komme ich nun seit unzähligen Stunden von wikis und How to's lesen nicht weiter.

    Zuerst habe ich mich nach der Anleitung für die Linkstation gerichtet.
    Ein einfaches "make" scheiterte natürlich, da das Makefile für i386 optimiert war. Somit passte ich das Makefile auf meine Zwecke (im Grund reicht es einfach die i386-spezifischen Parameter zu entfernen und als Compiler den "mipsel-gnu-gcc" zu ersetzen) an und das System kompilierte durch.
    Bei dem makefile fangen die Probleme an. Mir ist nicht ganz klar, welche CPU flags für den Prozessor gesetzt werden müssen.

    Also habe ich angefangen einiges im Internet zu suchen und lesen. Hier sind mal ein paar Links:

    http://forum.openwrt.org/viewtopic.php?id=8410
    http://www.linuxselfhelp.com/HOWTO/MIPS-HOWTO-9.html
    http://www.denx.de/wiki/view/DULG/ELDKUsage
    http://wiki.openwrt.org/BuildingPack...7867768db6ae8c
    http://www.linux-mips.org/wiki/Toolchains
    ... und etliche mehr.

    Leider ist mir es auf aufgesetzten cross compiler system nicht gelungen den monitor zu compilieren. Vielleicht habe ich auch bereits Fehler beim aufsetzen der Systeme gemacht.

    Mein aktueller Stand ist der, dass ich unter Suse 10.2 mit Qemu ein mipsel System aufgesetzt habe. Nun brauche ich noch einen Compiler für das System und das Makefile muss ich immer noch anpassen.

    --> wie setzte ich ein cross compile System korrekt auf und welche Änderungen muss ich im Makefile vornehmen?

    Ich wäre dankbar, wenn mir jemand auf die Sprünge helfen würde!

  2. #2
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von lovert
    Hallo,

    --> wie setzte ich ein cross compile System korrekt auf und welche Änderungen muss ich im Makefile vornehmen?

    Ich wäre dankbar, wenn mir jemand auf die Sprünge helfen würde!
    Ob das unter SuSE Problematisch ist, weiss ich nicht. Aber grundsätzlich solltest Du gemäss dieser Anleitung die Toolchain (compiler, ulib, etc.) für den MIPS Prozessor bauen können:

    http://downloads.openwrt.org/docs/bu...mentation.html

    Das verwirrende ist immer, daß man so viele Ordner am Ende hat. Im Grunde solltest Du vor allen Dingen folgende Ordner finden:

    1. Die Sourcecode Ordner für die Tools (compiler, etc) die für den MIPS Prozessor gedacht sind (Diese sind später nicht interessant)
    2. Die aus diesen Quellen erstellen Executables. Diese sind nun so gebaut, daß sie keinen x86 Code erzeugen, sondern für den MIPS Prozessor.
    3. Die Quellordner für den Programme für OpenWRT

    Danach solltest Du mal ein Makefile für ein Tool raussuchen und analysieren. Viele Einstellungen kannst Du dann sicherlich abschreiben.

    Der Wiki Eintrag stammt übrigens von mir :-) Ich hatte damals einige Kernelmodule neu gebaut. Aber die ToolChain habe ich schon lange wieder gelöscht :-(. Hat damals aber überraschend gut geklappt (FC3 oder 4 in einer vmware).

  3. #3
    Registriert seit
    15.04.2005
    Beiträge
    33
    Vielen Dank schon mal für die Antwort, bei nächster Gelegenheit werde ich mal alles nach der Anleitung installieren und eine Makefile suchen. Werd mich dann melden, wie es verlaufen ist bzw. wie weit ich gekommen bin.

  4. #4
    Registriert seit
    15.04.2005
    Beiträge
    33
    Nun gut, nach ca. 50min wurde nun das buildroot/toolchain.... erfolgreich gebaut. :-)

    Testweise habe ich mal den monitor für x86 gebaut, dies ging ohne Probleme.

    In der Makefile habe ich die entsprechenden compiler etc für mipsel angepasst, (gcc -> mipsel-linux-gcc).
    Ebenfalls habe ich -march=mips32 gesetzt.

    nach einam versuch mit make bekomme ich folgende Meldung:

    Code:
    In file included from monitor.h:26,
                                 from hdlc.h:27
    cursor.h:34:21: ncurses.h: No such file or directory
    In file included from hdlc.c:27:
    monitor.h:138: error: syntax error before "WINDOW"
    monitor.h:138: warning: no semicolon at end of struct or union
    monitor.h:141: error: syntax error before '}' token
    ....

  5. #5
    Registriert seit
    07.09.2003
    Beiträge
    694
    Hallo lovert,

    erst einmal herzlichsten Dank, dass Du Dich in diese Geschichte so reinkniest. Ich interessiere mich auch brennend für diese Sache, habe aber nicht die Zeit (und momentan auch nicht die Hardware), da selbst etwas auszuprobieren. Generell finde ich die Idee interessant, monitor auch auf embedded-Hardware laufen zu lassen. Ich hatte auch schon einmal recherchiert, den "Urvater" vom monitor, den multimon soll es sogar in einer Version für den Sharp Zaurus (Linux-PDA) geben.
    Bei Deinem konkreten Problem deuten meiner Meinung nach die Fehlermeldungen u.a. darauf hin, dass die ncurses nicht installiert sind bzw. gefunden werden können.
    Hoffentlich kann Dir hier einer der "Linux-Gurus" ein wenig weiterhelfen. Es wäre klasse, wenn das Projekt ans Laufen käme.

    Gruß,
    Funkwart

  6. #6
    Registriert seit
    15.04.2005
    Beiträge
    33
    Zitat Zitat von funkwart
    Bei Deinem konkreten Problem deuten meiner Meinung nach die Fehlermeldungen u.a. darauf hin, dass die ncurses nicht installiert sind bzw. gefunden werden können.
    Also die ncurses devels sind installier, monitor baut ja auch in der x86 config durch. Die Datei ncurses.h befindet sich auch auf dem system. Ich werde mir mal bei zeiten die suchpfade anschauen....
    Zitat Zitat von funkwart
    habe aber nicht die Zeit (und momentan auch nicht die Hardware), da selbst etwas auszuprobieren.
    Die Hardware habe ich mir halt gegönnt, und zeit, na ja die nehme ich mir halt irgendwie. Ich will eben nun endlich meinen, seit fast 2,5 Jahren, laufenden PC erlösen. ;-)

  7. #7
    Registriert seit
    07.09.2003
    Beiträge
    694
    Ja, das kann ich gut nachvollziehen. Nur für den Monitor einen PC laufen zu lassen ist nich wirklich rentabel. Da lohnt sich so ein Router schon. Zum einen hat er ja noch eine andere Aufgabe, das Routen, und zum anderen braucht er wohl wesentlich weniger Energie als ein PC. Da hat man die Hardwarekosten über kurz oder lang wieder drin.

    Gruß,
    Funkwart

  8. #8
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Ist ncurses im Wirt oder auch in der mips-Buildumgebung installiert ? Prüfe mal die Include-Pfade, ob da wirklich auch für den mips-gcc ein passendes include drin ist.

  9. #9
    Registriert seit
    15.04.2005
    Beiträge
    33
    Das ist mir vorhin beim lesen auch noch eingefallen, dass ich ja versucht habe außerhalb der bulidumgebung zu compilieren. Also ich habe in der Umgebung keine richtigen suchphade für ncurses feststllen könne. Wie gebe ich diese nun an?

  10. #10
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    mit -I '' beim Aufruf des gcc. Ist für ihn erstmal nur ein include. Später dann als Library noch beim Aufruf des linkers hinzufügen.

    Wenn Du dazu keine includes findest musst Du ncurses noch zur mips Build-Umgebung hinzufügen.

    ncurses in den verschiedensten Version finest Du hier: ftp://ftp.gnu.org/pub/gnu/ncurses

  11. #11
    Registriert seit
    15.04.2005
    Beiträge
    33
    Zitat Zitat von Buebchen
    mit -I '' beim Aufruf des gcc. Ist für ihn erstmal nur ein include. Später dann als Library noch beim Aufruf des linkers hinzufügen.
    Also zu compilieren scheint es nun, aber nun gibt es Probleme beim einbinden der ncurses lib. Als include pfad habe ich den des wirtsystems angegeben "/usr/include" den Suchpfad für ncurses habe ich auf "/usr/lib" gesetz, wo auch die libs liegen sollten. Nun bekomme ich die Meldung, dass "-lncurses" nicht gefunden werden kann. Ich habe hier auch scon probiert, den kompletten pfad anzugeben, "/usr/lib/libncures.a" ....

    Wie gehe ich den am besten vor, um ncurses zu der mips buildumgebung hinzuzufügen?

    Danke schon mal für den Hinweis.

    Linux ist nicht ganz wie Windows, bzw VS2005 ;-)

  12. #12
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Tja. Das kann ich aus dem Kopf heraus nicht so ganz genau sagen. Ist zu lange her.

    Da ein configure Script dabei ist muss man dem beibringen, daß man auch in einer cross-compiler Umgebug arbeitet. Muss ich mal nachschauen, wie ich das das letzte Mal gemacht habe.

    Ganz wichtig ist halt, daß Du nichts vom Wirtssystem benutzten kannst. Die Binaries sind für den x86 Prozessor erstellt. Selbst wenn der Linker so mutig wäre, daß zu verbinden ist der nächste Absturz des MIPS Prozessors vorprogrammiert. Deshalb muss ncurses für den MIPS neu gebaut werden.

  13. #13
    Registriert seit
    15.04.2005
    Beiträge
    33
    ok, dafür gibts bei openwrt.org auch sourcen, dann lade ich da mal das Paket für ncurses runter und schau, dass ich es in die bulidumgebung eingebunden bekomme.
    Das Wochenende ist ja nahe.. ;-) somit auch die Zeit !!!

  14. #14
    Registriert seit
    07.09.2003
    Beiträge
    694
    so langsam interessiert mich das Ganze massiv ;-)
    Gibt es schon Fortschritte? Das Wochenende war ja wettertechnisch für solche Aktionen hervorragend. Zumindest bei uns in S-H hat es so einige Kübel Wasser über den Kopf gegeben.
    Wäre klasse, wenn Du uns hier auf dem Laufenden halten würdest.

    Danke und Gruß,
    Funkwart

  15. #15
    Registriert seit
    15.04.2005
    Beiträge
    33
    also momentan bin ich noch dabei die ncurses libs zu bauen, das scheint nun auch teilweise zu klappen, nur sind galube ich diese momentan doch für das falsche system gebaut worden, da es beim bauen des demo Projekts zu Fehlern kommt. Ich muss nun nochmals schauen, was dort in den configuration nicht stimmt.

    Ich hab mich mal ein bisschen nach folgenden Regeln gerichtet:

    http://www.ailis.de/~k/docs/crosscompiling/#ncurses

    Nur gibt es in der version 5.2 Probleme mit der Datei strstream.h, deshalb probiere ich es momentan mit der version 5.6.

    Weiß denn jemand, wie ich ein fertiges Paket in meine Bulit Umgebung einbinden kann, dann könnte ich mir das sparen, da es schon ein fertiges ncurses Paket für mips gibt.

    http://www.dd-wrt.com/dd-wrtv2/down....2-8_mipsel.ipk

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •