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

[Frage] Allgemeine Kernel Frage

Dieses Thema im Forum "Freetz" wurde erstellt von fusel, 25 Feb. 2012.

  1. fusel

    fusel Neuer User

    Registriert seit:
    13 Jan. 2006
    Beiträge:
    23
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
  3. fusel

    fusel Neuer User

    Registriert seit:
    13 Jan. 2006
    Beiträge:
    23
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Da kommt doch aber bestimmt eine Meldung warum er den Kernel nicht laden kann!?

    Gruß
    Oliver
     
  5. fusel

    fusel Neuer User

    Registriert seit:
    13 Jan. 2006
    Beiträge:
    23
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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