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

uClibc buildroot für Fritz!Box angepasst

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von enrik, 6 Nov. 2004.

  1. enrik

    enrik Neuer User

    Registriert seit:
    26 Okt. 2004
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Moin,

    unter http://www.akk.org/~enrik/fbox/buildroot-fbox.tar.bz2 findet ihr eine angepasste Umgebung zum Erstellen eines Crosscompilers und angepasster Firmware. Sollte auf aktuellen Linuxsystemen mit Entwicklungstools und (wichtig zum Erstellen der Firmware!) Squashfs laufen.

    Viel Spass,
    Enrik
     
  2. haveaniceday

    haveaniceday Aktives Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    1,305
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wow, ist eine richtige komplette Umgebung !
    DANKE !

    Endlich hat mein Rechner mal wieder was zu tun.
    Ich sehe schon Platznot auf der Fritzbox. 3145728 Bytes für das Filesystem werden zu klein sein.

    haveaniceday.
     
  3. enrik

    enrik Neuer User

    Registriert seit:
    26 Okt. 2004
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Oops, hab gerade noch das fehlende include/linux/version.h ergänzt. Bitte die Kernel-Header nochmal aus dl/ löschen und neu ziehen, falls es nicht baut.

    Enrik
     
  4. haveaniceday

    haveaniceday Aktives Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    1,305
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Enrik,
    ich hatte ein Problem mit gdb. Habe mal auf die Version 6.2.1 geschwenkt.
    ( "make menuconfig" im buildrootverzeichnis.)

    Lets' continue..

    Edit 17:26 Uhr:

    Gerade gefunden: CPU 4KEc ist eine "Release 2" Implementation. Der Parameter kann beim Kompilieren genutzt werden.

    dhrystone Mips

    Haveaniceday

    Bitte von Christoph: "Edit beachten und nutzen.
     
  5. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Wenn ich -mips32r2 als Parameter beim Kompilieren benutze können die Dateien nicht ausgeführt werden!
    Muss man den Kernel zuerst mit dieser Option neu erstellen?
    Hat schon jemand ein eigenes kernel.image gemacht?

    MfG Oliver
     
  6. enrik

    enrik Neuer User

    Registriert seit:
    26 Okt. 2004
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Keine Ahnung, ich hab mips32r2 noch nicht probiert. Kommt denn einen Kernel-Meldung, dass er versucht, binfmt-XYZ zu laden? Das wäre ein Hinweis auf fehlende Kernelunterstützung.

    Ja, aus dem netgear source. Aber das ist relativ witzlos ohne TTFS, und das ist nicht das einzige, was fehlt ... müssen wir noch etwas Geduld haben ;-)

    Enrik
     
  7. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Fehlermeldung: ./dropbear: 1: Syntax error: "(" unexpected
    ???
     
  8. enrik

    enrik Neuer User

    Registriert seit:
    26 Okt. 2004
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ja, muss mal rausfinden, was man da noch alles optimieren kann. Im netgear Kernel-Source wird mit -march/tune=r4600 kompiliert.

    Und dann gibt es da noch das MIPS16-Feature für schlankeren Code. Aber damit habe ich noch nichts hinbekommen. Das wäre interessant, um Hauptspeicher zu sparen.

    Enrik

    vergesst MIPS16, kann die CPU wohl nicht, ist ja auch nur ein optionales 4KEc-Feature :(
     
  9. enrik

    enrik Neuer User

    Registriert seit:
    26 Okt. 2004
    Beiträge:
    127
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ähh, ja, hab gerad mal r2 probiert:

    Code:
    $ file build_mipsel/root/usr/sbin/dropbear
    build_mipsel/root/usr/sbin/dropbear: ELF 32-bit LSB MIPS64 executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
    Da ist wohl was faul im Compiler/Linker? MIPS64 ist definitiv falsch.

    Enrik
     
  10. haveaniceday

    haveaniceday Aktives Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    1,305
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,
    ich habe auch mal ein etwas mit der Option probiert.
    - Problem im gcc => Elf-Header wird falsch gesetzt. ( 64 bit statt 32r2 )
    - "ELF" load: Box lädt nur "Standart" MIPS Programme

    Mit folgendem "häßlichem Hack" nimmt die Fritzbox auch "-mips32r2" übersetzte Binaries.
    Editor, z.B. ghex2
    => Byte an Adresse 0x27 von "70" (heisst 64bit") auf "50" (nicht definiert zwischen MIPS-V und MIPS32) setzen.
    Eigentlich müsste es "80" (mips32r2) gemäß Erklärung in /usr/share/misc/magic ">>>>36 " sein.

    Die erzeugten Binaries sind unterschiedlich. Funktionieren aber, nach dem der Header
    geändert wurde.

    Aber das ganze ist wahrscheinlich eine "Spielerei" mit den Optionen und macht erst
    Sinn, wenn die FritzBox z.B. Performancemäßig am Ende ist.

    Haveaniceday.

    PS: Ich will machmal nur spielen... ;-)