Linux-Kernel für AVR32

OP #2049468
Lesenswert?

Hi Leute,

Was ich gerade versuche ist ein System für meinen Grasshopper selbst zu 
bauen.
Hardware:
http://www.embedded-projects.net/index.php?page_id=237";

Ich habe mir einen crosscompiler gebaut und damit dann einen Kernel 
kompiliert. Der stirbt allerdings recht schnell.

Ich erhalte diese Ausgabe:
http://pastie.org/private/one6wjlcuognt6dxzzwioq";

Das Problem ist, dass ich zu dumm bin, die Kernel-Meldungen zu 
interpretieren. MMU - ist klar, aber wüsste jetzt nicht, an welcher 
Schraube ich stellen müsste.
Auch verstehe ich den Entry Point nicht. Mein RAM liegt bei 10 00 00 00 
und ist 64mB groß. Sprich 0x 4 00 00 00, müsste also bei 14 00 00 00 
zuende sein. Das heißt ein Entry Point bei 90 00 00 00 existiert ja gar 
nicht. Aber der Kernel setzt das automatisch in die Kconfig rein und 
mkimage übernimmt das dann und auch im ursprünglichen (oben verlinkten) 
System war der EP 90 00 00 00.

Wär echt cool, wenn mir jemand zumindest eine Schubs in die richtige 
Richtung geben kann, weil ich drehe mich gerade im Kreis.
Persönliche Seite #2049698
Lesenswert?

Markus K. schrieb:

> Mir fehlt gerade irgendwie der Ansatz, wie ich weitermachen könnte.

Ich würde versuchen, den Originalkernel zu laden. Dann zu verstehen, wie 
sich das Image des Origialkernels vom Image des Selbstbaukernels 
unterscheiden. Dazu wenn nötig versuchen den Originalkernel selbst 
zusammen zu bauen. Dazu wenn nötig mit der Originaltoolchain arbeiten. 
Im Prinzip also häppchenweise Änderungen machen statt alles (Bootloader, 
Toolchain, Kernel) auf einmal zu ändern.
OP #2049711
Lesenswert?

U-Boot> printenv
bootcmd=mtdparts default;chpart nor0,2;fsload /boot/uImage;bootm
${fileaddr}
bootdelay=3
baudrate=115200
ethact=macb0
ethaddr=00:1F:E5:00:0B:AB
bootargs=root=1F02 rootfstype=jffs2
mtdparts=physmap-flash.0:128k(boot)ro,64k(env)ro,-(root)
serverip=192.168.2.4
ipaddr=192.168.2.10
stdin=serial
stdout=serial
stderr=serial

Environment size: 319/65532 bytes

Da sind noch die Daten des alten Systems drin, sollte aber keine Rolle 
spielen.

Die Config vom neuen und orginalen Kernel zu vergleichen habe ich schon 
versucht, aber das brachte mir nicht wirklich etwas. Die Änderungen sind 
nicht allzu groß und mir fehlt der Ansatzpunkt in den Einstellungen, an 
denen ich drehen müsste.
Gast #2049727
Lesenswert?

Markus K. schrieb:
> bootcmd=mtdparts default;chpart nor0,2;fsload /boot/uImage;bootm

Du sagst ihm er soll /boot/uImage laden....

Dein Image scheint aber:

21   Filename '/uImage2'.

zu heißen.

Dann kann er uImage auch nicht finden. Das sagt er dir hier auch:

33   Wrong Image Format for bootm command
OP #2049738
Lesenswert?

Da hatte ich mich nur verschrieben.
Schau mal 2 Zeilen weiter. Ich gebe ihm ja direkt die Stelle, an der er 
mit dem boot einsetzen soll im Speicher. Dann beginnt er ja auch den 
Kernel direkt (imho korrekt) zu booten und stirbt mit einer Exception, 
von der ich glaube, dass sie auf eine falsche Konfig im Kernel 
zurückzuführen ist.

Unabhängig davon: Den Entry Point hätte ich einfach gern verstanden.
OP #2049756
Lesenswert?

ich hab 10000000 statt 10400000 geschrieben!
klar, dass er mir das um die Ohren schmeißt.

U-Boot> bootm 10000000
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot> bootm 10400000

Deswegen dannach dann noch den richtigen Befehl ausgeführt. Und dann 
beginnt er zu booten. (siehe weiterer Quelltext)!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren