.titleBar { margin-bottom: 5px!important; }

[geloest]C-Files selbst Kompilieren für die Fritzbox?

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von chriwi, 15 Feb. 2007.

  1. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    #1 chriwi, 15 Feb. 2007
    Zuletzt bearbeitet: 16 Feb. 2007
    Hallo,

    ich würde gerne ein kleines C-File so kompilieren, das ich es in der Telnet-shell der FB7050 ausführen kann.
    Was brauche ich dafür und wie geht das, gibt es vielleicht ein Howto?

    Ich habe ein Ubuntu7.04 auf dem PC und habe schonmal einen DS-Mod selber gebaut, mehr leider bisher nicht.

    tschüs

    chriwi
     
  2. carlofbf

    carlofbf Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    251
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student
    Ort:
    Aachen
    du brauchst einen crosscompiler, bzw. ein toolchain.
    fritzbox ist andere cpu architektur als dein pc...sprich du kannst es nicht mit dem nomalen compiler von deinem pc übersetzen.
    desweiteren sind die biblotheken nicht dynamisch gelinkt sondern statisch weil auf der fritzbox nicht soviel platz ist.
    ich meine du findest im forum oder bei google ein toolchain..
    viel spaß
    gruß carlo
     
  3. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    Hallo carlofbf,

    das ist mir alles bekannt, ich kenne Crosscompiler und CDK-Toolchains von anderen Geräten (Dreambox und NSLU2), aber ich suche halt ein Howto für die Fritzbox und habe mit suchen halt nichts gefunden.
    Ich würder trotzdem lieber statisch linken um nicht Probleme wegen der Libs zu bekommen, ich habe auf meiner FB7050 den DS-Mod und habe über NFS ein Verzeichnis von meinem NAS(NSLU2) gemounted, Platz im Filesystem ist somit kein Problem.

    tschüs

    chriwi
     
  4. knox

    knox Mitglied

    Registriert seit:
    20 Mai 2006
    Beiträge:
    577
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  5. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    Hallo Knox,

    Danke für die Antwort.

    Also gut die Toolchain habe ich dann also schon, da ich ja schonmal eien DS-Mod gebaut habe.
    Im WIKI auf das dein Link zeigt sthet zwar das man damit eigenen C-Code kompilieren kann aber es steht nicht da wie man das macht (ich habe möglicherweise nur en code.c- und ein code.h-File, kein Makefile), gibts dazu vielleicht noch nen anderes Howto oder WIKI?
     
  6. knox

    knox Mitglied

    Registriert seit:
    20 Mai 2006
    Beiträge:
    577
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wer .c sagt muss auch Makefile sagen :p
     
  7. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    Hallo Knox,

    > wer .c sagt muss auch Makefile sagen.

    nicht immer, zuletzt hatte ich nen Sourcecode, der bstand nur aus nem C-File, nem H-File und nem Shellscript in dem gcc und die anderen Tools direkt aufgerufen wurden. Obwohl der sourcecode eigentlich für nen PC gedacht war liessen sie sich mit einer Toolchain, die allerdings nativ auf dem NSLU2 läuft problemlos übersetzen und die Binary funktioniert auch. Jetz möchte ich das selbe Projet (uptim-project) oder ein ähnliches Nachfolgeprojekt auch für die FB7050 kompilieren, vermutlich wieder ohne Makefile, oder ich brauche ne Howto wie ich selbst eins schreibe, das kann ja bei nur 2 Sourcefiles auch nicht so schwierig sein.

    tschüs

    chriwi
     
  8. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Knox hat da schon recht. Makefiles sind nichts anderes wie Shellskripte, wobei diese etwas anders interpretiert werden.

    Ohne Makefile gehts natürlich auch. Also direkt den 'mipsel-linux-gcc' aufrufen und die *.c Dateien als Parameter übergeben (schau einfach mal in das bereits vorhandene Compile-Skript und ändere es ab!).

    An die "PATH=" Variable hängst du dann noch '/home/???/ds-0.2.9/toolchain/target/bin' an, damit der Compiler auch gefunden wird.

    Statisch linken geht mit '-static' und '-static-libgcc'

    Das war's!
     
  9. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Genau.
    Pfad erweitern und dann "mipsel-linux-gcc -static -o bar foo.c".

    MfG Oliver
     
  10. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    Hallo bodega & olistudent,

    Danke für die Antwort,

    so etwa habe ich es mir vorgestell, nur all die Ratschläge wie schaus dir mal bei einem vorhandenen Beispiel an und mach es genauso sind bisher daran gescheitert das ich kein Beispiel gefunden habe, wo finde z.B. ein Sorcepaket von foo.c für die Fritzbox oder irgendwas anderes kleines wo ich abschreiben kann?

    tschüs

    chriwi
     
  11. chriwi

    chriwi Mitglied

    Registriert seit:
    14 Nov. 2005
    Beiträge:
    705
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    IT-Ingenieur
    Ort:
    Stuttgart Deutschland
    Hallo olistudent & bodega,

    Danke fuer eure Hilfe. :)

    Ich hatte den Compiler zwar doch noch nicht obwohl ich schonmal ein DS-Mod-Immage zusammengebaut habe, aber die sourcen fuer die Toolchain waren im DS-Mod-Paket enthalten, also habe ich mir die Toolchain gebaut.
    Dann konnte ich mein C-File ohne Probleme kompilieren und, oh Wunder, es laeuft auf der Fritzbox.

    Aber ohne eure Hilfe haette ich den Pfad und die Parameter fuer den GCC nie gefunden.

    tschues

    chriwi