Problem beim Booten von einem Linux-System

Gast #3382954
Lesenswert?
• ▲
▼
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?
Angehängte Dateien:
Gast #3383187
Lesenswert?
• ▲
▼
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
Gast #3383475
Lesenswert?
• ▲
▼
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
Gast #3383626
Lesenswert?
• ▲
▼
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.
Gast #3383639
Lesenswert?
• ▲
▼
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.
Gast #3384128
Lesenswert?
• ▲
▼
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?
Gast #3384286
Lesenswert?
• ▲
▼
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?
Angehängte Dateien:
Gast #3384301
Lesenswert?
• ▲
▼
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).
Angehängte Dateien:
Gast #3384305
Lesenswert?
• ▲
▼
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.
Gast #3384318
Lesenswert?
• ▲
▼
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?

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