Kernel-Config 7170

Takhpah

Neuer User
Mitglied seit
13 Jan 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
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
 
Klar kannst Du das Rad neu erfinden, aber warum nimmst du nicht freetz? Da ist alles drin.
 
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...
 
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
 
Arrrrgh!

Jupp. Danke, DAS war der Tipp.

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

Vielen Dank.
 

Statistik des Forums

Themen
246,301
Beiträge
2,249,722
Mitglieder
373,906
Neuestes Mitglied
chrishapunkt
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.