[Frage] Allgemeine Kernel Frage

fusel

Neuer User
Mitglied seit
13 Jan 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,
ich habe eine FritzMedia 8020 und möchte dort einen eigenen Kernel verwenden. Zuerst möchte ich den Kernel manuell erstellen und probieren ob ich diesen überhaupt zum booten bekomme, im zweiten Schritt würde ich das gerne in Freetz einbinden. Auf der Box läuft ein EVA Bootloader.

Ich habe schon den Kernel aus den AVM Sourcen erstellt und nach der Reihenfolge den EVA kernel erstellt:

1. Nach dem Kernel bauen habe ich verscheidene Kernel Binärformate:
vmlinux (elf ungepackt?)
vmlinuz (elf mit z comp.?)
Image (raw ?)
zImage (raw mit z comp.?)
welches benutzt man sinnvollerweise ?
bisher habe ich das vmlinux benutzt.

2. Komprimierung des Kernel mit lzma

3. Erstellung des EVA Kernels mit lzma2eva wobei ich die loadadresse aus dem eva enviroment (firstfreeadress) nehme und die Enteryadresse aus dem Kernelssymbolen extrariere (lzma2eva 0x806AF2A0 0xc0008000 vmlinux vmlinux.eva)

4. Kopieren des vmlinux.eva auf MTD1

Leider startet der Kernel dort nicht. Jetzt weiß ich nicht ob der EVA Kernel richtig erstellt habe oder ob es an dem EVA Bootloader liegt.
Das Ursprüngliche Dateisystem auf der Box ist verschlüsselt, aber ich hoffe das der Bootloader auch unverschlüsselte Images liest. Wenn nicht werde ich wohl die EVA gegen ein U-Boot ersetzen müssen was aber wohl sehr aufwendig sein wird.
Wichtig währe deshalb für mich zu wissen ob ich etwas Grundlegenes falsch gemacht habe.

Gruß fusel
 

fusel

Neuer User
Mitglied seit
13 Jan 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
1
Danke, echt super ! Das ist genau die Information die ich gesucht habe. So wie ich das sehe habe ich ein paar wesentliche Dinge verkehrt gemacht:
1. Ich habe das vmlinux nicht in das vmlinux.bin umgewandelt (objcopy -S -O binary $(TOPDIR)/vmlinux vmlinux.bin )
2. Beim Komprimieren mit LZMA habe ich keine weitern switches verwendet (lzma e -lc1 -lp2 -pb2). ich glaube zwar nicht das diese erforderlich sind aber man weiß ja nie :)
3.Die Loadadresse wird aus den Kernel Symbolen ermittelt und nicht wie ich es gemacht habe aus dem EVA-Enviroment der Box.

Ich werde das Morgen mal ausprobieren und hoffen das das dann funktioniert. Logs gibt es leider nicht weil bei der bisherigen Kernelerstellung kein Fehler aufgetreten ist und bei der seriellen Konsole ist direkt nach dem EVA-Bootloader schluß. Vielen dank für deine Hilfe.

Gruß fusel
 

olistudent

IPPF-Urgestein
Mitglied seit
19 Okt 2004
Beiträge
14,779
Punkte für Reaktionen
10
Punkte
38
Da kommt doch aber bestimmt eine Meldung warum er den Kernel nicht laden kann!?

Gruß
Oliver
 

fusel

Neuer User
Mitglied seit
13 Jan 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
1
Leider ist nach dem Bootloader direkt schluss:
Code:
(AVM) EVA Revision: 1.271 Version: 1256
(C) Copyright 2005 AVM Date: May 14 2007 Time: 10:31:02 (0) 2 0-111101

[FLASH:] SPANSION Uniform-MirrorBit-Flash 32MB 32 Bytes WriteBuffer
[FLASH:](Eraseregion [0] 256 sectors a 128kB)
[SYSTEM:] DaVinci on 297MHz

Eva_AVM >
Das header des Kernels scheint zu stimmen (Identisch mit dem Original Memory Dump). Wogegen die Stelle wo der LMZA Header bei der Original Firmware schon komplett unterschiedliche ist (warscheinlich verschlüsselt). Ich gehe deshalb davon aus das der Bootloader ein Verschlüsseltes LZMA erwartet. Warscheinlich bleibt nur der Bootloadertausch.

Gruß fusel