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

Bau eines Crosscompilers

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von laland, 14 Dez. 2008.

  1. laland

    laland Neuer User

    Registriert seit:
    9 Feb. 2008
    Beiträge:
    40
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Einen fröhlichen dritten Advent wünsche ich euch!

    Ich bin auf der Suche nach einer Möglichkeit, für das Linux meiner Fritzbox einen Crosscompiler zu erstellen, mit dem ich von meinem normalen i386 aus, Programme für die Fritzbox kompilieren kann.

    Meine Google-Suche ergab bisher leider nur halb-vollständige Anleitungen und mysteriöse Freizeit-Buildsysteme, die, abgesehen davon, dass sie meinen Kernel nicht unterstützen, schon beim kompilieren fehler erzeugen oder auf den webseiten, auf denen sie angespiesen nicht mit der korrekten Adresse verkinkt wurden.

    Deswegen frage ich nun hier: Was muss ich tun um aus den Sources von gcc, binutils und dem Kernel, den man auf dem AVM-Server bekommt, einen Funktionsfähigen Crosscompiler mit uClibc bekommt? Gibt es hier vielleicht irgendwelche sachkundigen Linux-experten?

    Habe zwar schon versucht, diese Sources auf das Ziel abgestimmt zu kompilieren, wurde jedoch immer wieder von Fehlern unterbrochen, die ich nicht zuordnen kann... :(

    lg, L.
     
  2. schmatke

    schmatke Mitglied

    Registriert seit:
    25 Juli 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Vogtland
  3. laland

    laland Neuer User

    Registriert seit:
    9 Feb. 2008
    Beiträge:
    40
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das hier ergab dieses Freetz. Es ist ja nicht so, als hätte ich das nicht schon vorhergesehen. Genau aus diesem Grund habe ich ja gefragt, wie ich es selbst mache, so dass ich mir eine minimalistische Toolchain zusammenstelle, ohne dinge die ich eigentlich nur dann bräuchte, wenn ich die gesamte Firmware neu backen wollte.

    lg, L
     
  4. schmatke

    schmatke Mitglied

    Registriert seit:
    25 Juli 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Vogtland
    Busybox 1.9.2???

    Meine: freetz-1.0.1-2803
    Code:
    BusyBox v1.11.3 (2008-12-07 14:31:10 CET) built-in shell (ash)
    
    Hier sollte aber vielleicht jemand helfen, der mehr Ahnung hat.:rolleyes:

    Einen einfacheren Weg ne Toolchain zu bauen, kenne ich auch nicht!
     
  5. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Busybox in busybox-tools wird sowieso für das Host-System erstellt.

    Du solltest also mal Dein Host-System näher untersuchen bzw. beschreiben.
     
  6. laland

    laland Neuer User

    Registriert seit:
    9 Feb. 2008
    Beiträge:
    40
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Was für Informationen über mein System wären denn erforderlich?
     
  7. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Nutzt du noch einen Kernel 2.4? Hab folgendes gefunden: http://www.busybox.net/lists/busybox/2008-February/030209.html

    Code:
    make dirclean
    tools/make/Config.busybox editieren
    make download-toolchain
    Code:
    Index: tools/make/Config.busybox
    ===================================================================
    --- tools/make/Config.busybox (revision 2874)
    +++ tools/make/Config.busybox (working copy)
    @@ -88,7 +88,7 @@
     # CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
     # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
     CONFIG_FEATURE_COPYBUF_KB=4
    -CONFIG_MONOTONIC_SYSCALL=y
    +# CONFIG_MONOTONIC_SYSCALL is not set
     CONFIG_IOCTL_HEX2STR_ERROR=y
     CONFIG_FEATURE_HWIB=y
    
    Evtl. könnten wir das auch standardmäßig so ändern, da wir dieses Feature nicht nutzen!?

    Ich hoffe ja, dass "Freizeit Buildsysteme" nicht auf Freetz gemüntzt war?

    MfG Oliver
     
  8. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wie wäre es für den Anfang mit Bezeichnung, Versionsnummer, Jahrhundert, in dem es erstellt wurde.
    Oder besser noch, alles, was daran irgendwie außergewöhnlich sein könnte.

    Handelt es sich um MacOS? Etwa gar Windows? CygWin?
    Ein ungewöhnlich altes Linux-System?
    Ein Linux-System, daß aus anderen Gründen den Systemaufruf clock_gettime nicht kennt?
     
  9. Wiedmann

    Wiedmann Neuer User

    Registriert seit:
    31 Mai 2010
    Beiträge:
    51
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    FritzBox 7170 -> Kernel 2.6.13.1

    Darüber bin ich auch gerade gestolpert. Benutzen wohl die meisten eine vorkompilierte Toolchain, anstatt die selber zu bauen.

    Als nächstes bin ich dann über ein "undefined reference to `bswap_64' in der "uClibc-0.9.29" gestolpert.

    Und nachdem er sich jetzt in squashfs3.4 über die BYTE_ORDER beschwert wollt ich doch mal nachfragen: Sollte das einfach so funktionieren, oder hat das schon länger keiner mehr versucht?

    Vorgehensweise war:
    - aktueller trunk
    - make menuconfig
    --> Hardware type "7170"
    --> Advanced options --> Toolchain options --> Toolchains -> [X] Build toolchain.
    - make toolchain