Ich habe einen kleinen Testcomputerboard ( http://www.mikrocontroller.net/articles/AVR32_Grasshopper#Flashen_des_JFFS2-Dateisystems_unter_Linux ), auf dem früher alles gut lief. Jetzt kommt beim Starten diese Fehlermeldung: Bad Data CRC Ich weis momentan keinen Rat, wie ich das Problem lösen kann. Bedeutet das vielleicht, dass das filesystem kaputt ist oder der Kernel futsch und neu draufgespielt werden müsste?
crc falsch: datei beschädigt! das warum währe da ehr die frage( defektes speichermedium, defekter ram, defekter prozessor, ...)
Defektes Kernel Image! Beim Download etwas schiefgegangen? Grüsse, René
dummschwaetzer schrieb: > crc falsch: datei beschädigt! das warum währe da ehr die frage( defektes > speichermedium, defekter ram, defekter prozessor, ...) gibt es eine Möglichkeit, defektes ram/speichermedium festzustellen?
Hägar der Schreckliche schrieb: > dummschwaetzer schrieb: >> crc falsch: datei beschädigt! das warum währe da ehr die frage( defektes >> speichermedium, defekter ram, defekter prozessor, ...) > > gibt es eine Möglichkeit, defektes ram/speichermedium festzustellen? Klar, mit einem CRC.
Hallo Wird das Kernel Image aus einem NAND Flash gebootet? Wenn hier keine ordentliche Speicherverwaltung (Stichwort BadBlocks) stattfindet, können solche Probleme mit der Zeit auftreten (NAND altert). Eine mögliche Lösung wäre einen Kernel über Netzwerk oder USB zu booten, und dann mit den mtd-utils den Kernel wieder in die entsprechende Partition zu schreiben. Gruß Bean
So ein neues fertiges Image, dass muss ich mir erst selber neu compilieren, oder? Oder gibt es so eins auch fertig irgendwo zum Herunterladen?
Kommt auf die Hardware an. Normalerweise bekommt man die Images "precompiled" Zumindest bei den Produkten mit Marvell chip (PogoPlug etc.) Wenn Du den Kernel erst selber compilieren musst wird es etwas aufwändiger. Da brauchst dann auch noch die passende Toolchain. Außerdem kann es sein dass Dein Betriebssystem mit einem anderen Kernel nichtmehr läuft. Oder zumindest Kernelmodule deines Betriebssystems. Diese müssen nämlich zu dem passenden Kernel compiliert werden. Und je nach aktiviertem Kernelparameter müssen auch die Zeitstempel passen... Gruß Bean
Also, ich hab versucht, diese Anleitung hier zu verstehen: http://www.mikrocontroller.net/articles/AVR32_Grasshopper#Flashen_des_JFFS2-Dateisystems_unter_Linux Ich habe also auf meinem Board die Software uboot laufen, das scheint also eine Art Bootmanager zu sein. Nun muss ich mir ein neues Image besorgen und dass dann irgendwie auf das Board überspielen?
Laut der Anleitung kannst du auch über NFS booten. Also einfach den Kernel auf einem PC liegen haben, und dieser wird dann über Netzwerk geladen. Also braucht auch nichts auf das Board überspielt werden.
Wenn ich jetzt das Image habe, muss ich dann auf meinem PC extra einen NFS-Server einrichten oder reicht es aus, wenn ich ein Verzeichnis einfach freigegeben hab? Ich habe jetzt auf meinem Win7-Rechner ein Verzeichnis im Netz freigeben. Gehe ich in einen anderen DAteimanager von einem anderen Rechner, so kann ich mit der IP-Adresse auf das Verzeichnis zugreifen. Ich habe das Image in das freigegebene Verzeichnis kopiert und auf dem Board (mit dem kommuniziere ich zur Zeit mit putty) diese Befehe eingetippt: setenv ipaddr192.168.1.25 setenv serverip 192.168.1.31 nfs 11000000 192.168.1.31:/free/image.bin ich hatte so gehofft, dass sich das Board dann so über das Netzwerk von dem Computer das Image ziehen würde, aber es passiert nichts.
so sieht dass dan aus (siehe Bild) - das bleibt bei loading stehen und geht nicht weiter.
Du musst einen NFS-Server einrichten. Mit SMB/CIFS (der "normalen" Windows-Dateifreigabe) kann der Bootloader nix anfangen.
also unter win7 krieg ich es nicht hin, einen nfs-Server einzurichten, geht das nur unter Linux?
gibt es denn irgendwie eine Chance, mittels Win7-Rechner und Zugriff auf das AP7000-base mit putty das Board irgendwie wieder in Gang zu setzen, dass ich wie am Anfang einen Webserver hab, mit dem ich auf das Board zugreifen kann?
kopfkratz Hast Du die Möglichkeit an einen JTAG heranzukommen, dann wäre das wohl die sinnvollste Variante. Lies Dir auch mal z.B. das hier durch: http://elk.informatik.fh-augsburg.de/hhweb/elinux/ngw100/grasshopper-notes.html
Ich hab jetzt auf Win7 einen TFTP-Server installiert und kann nun mit putty von uboot aus über tftp von dem Windows-System Dateien auf das AP7000base übertragen. Ich habe mir ein Image aus dem Internet heruntergeladen. Das funktionierte auch am Anfang recht gut. Es war dann ein openWRT-System halt ohne Webserver, aber ich konnte mit telnet auch auf das System drauf zugreifen und es bekam automatisch eine IP-Adresse über den DHCP-Server im Netzwerk. Dann hab ich das Teil vom Rechner getrennt (Stromzufurh mit USB unterbrochen) und es am Netzteil angeschlossen. Plötzlich war das Image weg, es kam lauter blödsinn beim Booten, lauter lange Zahlenkolonnen. Dann hab ich das Image wieder neu draufgeladen, und zwar immer mit den Befehlen tftp 11000000 openwrt.img erase 30000 7fffff cp.b 11000000 7d0000 boot am Anfang funktionierte das auch ein paar mal, dann hat es 1-2 min gedauert, das Teil hat irgendwas gemacht und es klappte dann. Dann vom USB getrennt, dann war alles wieder weg. Nun funktioniert selbst das mit dem neuen draufladen nicht mehr Es kommt zum Schluss die Fehlermeldung: could not find kernel entry point. Heisst das jetzt, dass vielleicht der Speicher auf dem Board kaputt gegangen sein könnte?
Kann es sein, dass Du ein Live Image bootest? Dann kannst Du nicht kappen. Wenn der Kernel weg ist, geht nichts mehr.
Hier sind nochmal zwei Bilder. Eins mit den Zahlenkolonnen, ein anderes, wo es in der oberen Hälfte klappte, dann Reset gedrückt, dann klappte es nicht mehr.
Linux4Ever schrieb: > Kann es sein, dass Du ein Live Image bootest? > > Dann kannst Du nicht kappen. Wenn der Kernel weg ist, geht nichts mehr. eigentlich nicht, ich habe dies Image genommen (siehe Bild): openwrt-avr32-jffs2-64k-uimage.img (ich habs dann nur in openwrt.img umbenannt, damit der Name nicht mehr so lang ist).
das komische ist, mit diesem Kernel hat das ca. 10mal geklappt, aber beim Steckerrausziehen war das Image dann manchmal wieder weg, dann hab ich es wieder neu draufgeladen und dieses Erase-Dingen gemacht und binär mit cp.b umkopiert, aber nun klappt es garnicht mehr, jetzt kommt die Fehlermeldung, dass kein Kernel-Einhänge-Punkt vorhanden ist (could not found kernel entry point). Ist denn jetzt vielleicht hardwaremässig was kaputt, vielleicht ein Speicherbaustein oder sowas? Oder ist es einfach nur ein Softwareproblem? Könnte es z.B. sein, da dieses Image etwas kleiner ist als das frührere, dass es da Probleme geben könnte? Aber dann hätte es ja am Anfang nicht funktionieren dürfen.
Könnte es auch ein anderes Problem sein? Beim Booten steht: JFFS2 load complete: 886409 bytes loaded to 0x1040000000 ... Entry Point: 900000000 Könnte es sein, dass das Kernel-Image an die Stelle 10400000 geladen wird, das Uboot aber an der Speicherstelle 900000000 den Kernel sucht und da noch keiner ist, sondern erst ab der Stelle 104000?
ich hab mal den Befehl Printenv ausprobiert und das, was man auf dem Bild sieht, kam heraus
Wie kann man denn rauskriegen, ob an dem Board hardwareseitig etwas kaputt ist oder einfach nur ein Softwarefehler vorliegt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.