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

Kernel-Config 7170

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von Takhpah, 15 Jan. 2009.

  1. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    Grüße, allerseits.


    Ich habe mir die develper(sic!)-GPL-Sourcen von AVM heruntergeladen (fritzbox-source-files.04.67.tar.gz), die schienen mir am besten zu meiner 7170 mit Firmware-Version 29.04.67 zu passen.
    Nun, putzigerweise ist im tar.gz ein Kernel 2.6.19.2 und auf der Box ein 2.6.13.1, aber das hielt mich primär nicht ab. (Einen Vanilla-Kernel 2.6.13.1 bekomme ich garnicht zum kompilieren)

    Ich habe mir also eine Toolchain gebaut, mit der ich Userlandprogramme problemlos bauen kann;, die werden auf der Fritzbox auch ausgeführt.
    Anders bei Kernelmodulen. Da ich kein richtiges Logging hinbekomme (syslogd: bind: readonly filesystem...), hat es mich ein bischen Zeit gekostet herauszufinden, warum insmod mit ein "Invalid module format" meldet.

    Code:
    # ./depmod -n  -e mods/x_tables.ko  -F /proc/kallsyms
    WARNING: mods/x_tables.ko needs unknown symbol vmalloc_node
    WARNING: mods/x_tables.ko needs unknown symbol seq_release
    WARNING: mods/x_tables.ko needs unknown symbol kfree
    WARNING: mods/x_tables.ko needs unknown symbol seq_lseek
    WARNING: mods/x_tables.ko needs unknown symbol kmem_cache_zalloc
    WARNING: mods/x_tables.ko needs unknown symbol create_proc_entry
    ...
    Ich habe also beim Kernelmodulebauen irgendwas falsch gemacht.

    Daher die Frage: kann mir zufällig jemand bitte ein .config für den Original-AVM-Kernel zukommen lassen (ich hätte das .ko nämlich gern in der Originalumgebung zum Laufen gebracht), oder mir erklären, welche Architektur ich genau einstellen muss im Menuconfig?

    Bisher habe ich als Einstellungen:
    AVM Board family with ohio CPU
    Little Endian MIPS32 Release 1
    32-bit-Kernel, 4k stacksize, kein 64-bit-support eingestellt.

    Und damit erzeuge ich mir in den Modulen einen Haufen Symbolreferenzen, die der Kernel nicht kennt.

    Bin für jeden Tipp dankbar.

    Takhpah aka Stephan
     
  2. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    814
    Zustimmungen:
    4
    Punkte für Erfolge:
    18
    Klar kannst Du das Rad neu erfinden, aber warum nimmst du nicht freetz? Da ist alles drin.
     
  3. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    Nun...
    1. hatte ich meine Toolchain fertig, bevor ich freetz entdeckt hatte,
    2. freetz steigt bei mir im 1. Paket aus: ld meldet multiple definitions
    3. will ich nicht die Firmware neu bauen, sondern nur ein Kernelmodul (-satz) in die Originalfirmware integrieren.
    4. Bin ich der geborene Radneuerfinder ; ) (ich gehe gerne etwas tiefer als nötig in die Dinge. Dann weiß ich, wenn was fehlschlägt meist genauer, wodran es lag)

    Und nachdem es nur um ein paar Configparameter ging, war ich der Überzeugung, dass DAS der einfachste Weg sei.

    Und ob in Freetz "alles drin" ist, was ich brauche, weiß ich nicht. Ich habe alles hier, was ich brauche, als Source. Was mir fehlt, sind die richtigen Einstellungen, glaube ich.


    Vielen Dank trotzdem


    Takhpah aka Stephan

    Edith fragt sich, warum sie keine gif-smilies deaktivieren kann...
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Du hast die falschen Kernelsourcen runtergeladen. Da gibts 2x 04.67. Du musst die mit 2.6.13.1 nehmen. (Link)
    Als Compiler für den Kernel solltest du einen gcc-3.4.6 nehmen.

    MfG Oliver
     
  5. Takhpah

    Takhpah Neuer User

    Registriert seit:
    13 Jan. 2009
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Coder.
    Arrrrgh!

    Jupp. Danke, DAS war der Tipp.

    Jetzt lädt der Kernel brav meine Module und "alles ist gut".

    Vielen Dank.