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

Eigene Binarys kompilieren, Freetz auf der Box nötig?

Dieses Thema im Forum "Freetz" wurde erstellt von TomTomNavigator, 8 Feb. 2009.

  1. TomTomNavigator

    TomTomNavigator Mitglied

    Registriert seit:
    24 Aug. 2007
    Beiträge:
    626
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Hallo!

    Nach und nach kommt bei mir der Wunsch auf, auch mal ein eigenes Binary für die Fritz!Box zu kompilieren, sei es auch nur die aktuelle Busybox.
    Nur wie genau gehe ich dazu vor? Habe schon reichlich im Netz gelesen, doch so eine richtige "Anleitung" hab ich bisher nicht gefunden.
    Was ich bis jetzt habe, ist ein Stinky Linux im VMWare Player mit dem ich auch schon erfolgreich die aktuelle Version von Freetz für meine 7170 "hergestellt" habe.
    Dazu bin ich nach dieser Anleitung vorgegangen: Klick!(Bereich FriBoLi/StinkyLinux)

    Nuja, jetzt habe ich über die Freetz-Toolchain gelesen, aber so richtig weiter bin ich nicht gekommen. Ich bin dabei auf diese Seite gestoßen: Klick! , doch dort wird die Erstellung einer solchen Cross-Compiling Umgebung nur so lapidar abgetan.

    Vielleicht findet sich ja jemand, der mir kurz erläutern könnte, wie ich denn zu meiner Cross-Compiling Umgebung komme und ob das Vorgehen, um z.B. die Busybox zu kompilieren, soweit noch stimmt, wie auf der Seite beschrieben.

    Danke schonmal.

    Gruß
    TomTom
     
  2. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Die Freetz-Toolchain enthält alles, was du braucht. Die BB übrigens wird bei Freetz auf eine der aktuellsten ausgetauscht, sollte also deinerseits nicht nötig sein. Cross-Compilen funktioniert auch hervorragend, logischerweise, denn wie käme sonst das Freetz auf die Box?
     
  3. cando

    cando Aktives Mitglied

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    1,080
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da Du ja freetz bereits erstellt hast, behaupte ich mal, dass du die nötigen Tools / Toolchain bereits erfolgreich benutzt hast.

    In der Wiki ist einiges beschrieben, die Make files geben auch gern Auskunft. In der Wiki steht auch drin wie man seine eigenen Module entwickeln und einhängen kann.

    Was die busybox angeht, wird die, glaube ich, auch von freetz übersetzt. Vielleicht kannst Du ja Deine Wunsch-Konfig damit bauen.... (Ich nehme mal an, du hast noch keine eigene "busibox" entwickelt ;) )
     
  4. TomTomNavigator

    TomTomNavigator Mitglied

    Registriert seit:
    24 Aug. 2007
    Beiträge:
    626
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Okay, dann wäre ja eigentlich schon alles eingerichtet.
    Nuja, ich dachte eben, ich fange mal mit ner Busybox an, man sollte sich ja erstmal "reinüben".
    Dabei tritt aber folgendes Problem auf:
    Code:
    slightly@StinkyLinux:~$ wget http://busybox.net/downloads/busybox-1.9.1.tar.bz2
    --13:35:09--  http://busybox.net/downloads/busybox-1.9.1.tar.bz2
               => `busybox-1.9.1.tar.bz2'
    Auflösen des Hostnamen »busybox.net«.... 140.211.167.224
    Verbindungsaufbau zu busybox.net|140.211.167.224|:80... verbunden.
    HTTP Anforderung gesendet, warte auf Antwort... 200 OK
    Länge: 1.795.971 (1.7M) [application/x-tar]
    
    100%[====================================>] 1.795.971    109.25K/s    ETA 00:00
    
    13:35:27 (108.94 KB/s) - »busybox-1.9.1.tar.bz2« gespeichert [1795971/1795971]
    
    slightly@StinkyLinux:~$ tar xjf busybox-1.9.1.tar.bz2 -C /tmp
    slightly@StinkyLinux:~$ cd /tmp/busybox-1.9.1
    slightly@StinkyLinux:/tmp/busybox-1.9.1$ . /tmp/export_s
    CC=/usr/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc
    LDFLAGS=-L/usr/mipsel-linux-uclibc/lib
    CPPFLAGS=-I/usr/mipsel-linux-uclibc/include
    CPP=/usr/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-cpp
    PATH=/usr/mipsel-linux-uclibc/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
    CROSS_COMPILE=mipsel-linux-uclibc-
    ARCH=mipsel-linux
    slightly@StinkyLinux:/tmp/busybox-1.9.1$ make menuconfig
    scripts/kconfig/mconf Config.in
    #
    # using defaults found in .config
    #
    
    
    *** End of busybox configuration.
    *** Execute 'make' to build busybox or try 'make help'.
    
    /tmp/busybox-1.9.1/scripts/gcc-version.sh: line 11: mipsel-linux-uclibc-gcc: command not found
    slightly@StinkyLinux:/tmp/busybox-1.9.1$ make
    /tmp/busybox-1.9.1/scripts/gcc-version.sh: line 11: mipsel-linux-uclibc-gcc: command not found
      SPLIT   include/autoconf.h -> include/config/*
      GEN     include/bbconfigopts.h
    /tmp/busybox-1.9.1/scripts/gcc-version.sh: line 11: mipsel-linux-uclibc-gcc: command not found
      HOSTCC  applets/usage
      GEN     include/usage_compressed.h
      HOSTCC  applets/applet_tables
      GEN     include/applet_tables.h
      CC      applets/applets.o
    /bin/sh: mipsel-linux-uclibc-gcc: command not found
    make[1]: *** [applets/applets.o] Fehler 127
    make: *** [applets] Fehler 2
    slightly@StinkyLinux:/tmp/busybox-1.9.1$
    
    mipsel-linux-uclibc-gcc: command not found, tja, keine Ahnung, muss man noch irgendwelche Eingaben machen, bevor man make eingibt?
     
  5. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Stimmen deine Pfade? Wohl eher kaum, sonst würde er das finden.
    Code:
    ls -al /usr/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc
    
    Was kommt? Nichts ausser "not found", oder?
     
  6. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn Du schon eine eigene Busybox erstellen willst, warum 1.9.1 und nicht die aktuelle?

    Die einfachste Möglichkeit, an eine aktuelle Busybox für Deine Box zu kommen ist:
    - Freetz herunterladen.
    - Deine Box in der Konfiguration auswählen.
    - make
    Die Busybox befindet sind in build/modified/filesystem/bin/busybox.

    Ansonsten erstellt Freetz das Programm mipsel-linux-uclibc-gcc oder lädt ein fertiges aus dem Internet.
    Je nach Version Deiner C-Library befindet es sich im Verzeichnis toolchain/build/gcc-4.2.1-uClibc-0.9.28/mipsel-linux-uclibc/bin oder toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/bin.
    Wenn Du also dieses Verzeichnis in den Pfad mit aufnimmst (oder irgendwo im Pfad Symlinks auf die Dateien erstellst), sollte es auch funktionieren, andere Programme von Hand zu übersetzen.
     
  7. TomTomNavigator

    TomTomNavigator Mitglied

    Registriert seit:
    24 Aug. 2007
    Beiträge:
    626
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Alles klar, ich werd mich einfach noch ein bisschen spielen, und melde mich bei Bedarf wieder.
    Danke soweit!