embedded Linux startet nicht mit bad-blocks (NAND)

Gast #3660590
Lesenswert?

Hallo zusammen,

Ich sitze hier und zerberech mir den Kopf ab einem fremd-entwickelten 
Linux-Board (AT91 basiert). Leider ist der Entwickler dieses Boards 
nicht mehr in der Firma und wir haben somit null Unterstützung.

HW-Konfiguration:

1X AT45 Dataflash: U-Boot
1x AT45 Dataflash: Linux-Kernel (2.6.19)
1x 64MB NAND: RootFS

Das Board startet nicht (Kernel hängt) sobald das NAND fehlerhafte 
blöcke hat im verwendeten Bereich. (das NAND ist zur Hälfte gefüllt).

Die Flash's werden mit einem JTAG-Tool programmiert. In U-Boot ist das 
NAND so wie es aussieht eh falsch konfiguriert, habe auch keinen 
Zugriff!

Im Anhang habe ich 2 Bootlogs gepostet. Hat jemand eine Idee was da 
falsch läuft?

Herzlichen Dank an alle!

Gruss Matthias
Angehängte Dateien:
Gast #3661317
Lesenswert?

So etwas hatte ich auch mal: JFFS auf Flash.
Mein Problem war, dass beim Schreiben des JFFS nur der wirklich benutzte 
Teil geschrieben wurde, der Rest blieb unberührt. Das führte zu 
Filesystem-Fehlern.
Lösung: vor dem Schreiben der Filesystempartititon diese mit einem Tool 
komplett löschen. Ich habe flash_eraseall benutzt.

War zwar ein total anderer Prozessor und ein brandneuer Kernel. Aber die 
Symptome sahen genau so aus.
Gast #3661356
Lesenswert?

Es ist ein Standard Hynix-Flash (H27U518S2CTR-BC). Sobald dieses defekte 
Blöcke im verwendeten Bereich hat ist Schluss!

So wie ich anhand des Logs sehen kann, wurde ECC deaktiviert? Wäre das 
ein möglicher Grund?

Danke und Gruss
Matthias
Gast #3661430
Lesenswert?

Ist es möglich dass der Kernel seine Daten an einer bestimmten Adresse 
im NAND sucht und diese nicht findet da sie um den Betrag der defekten 
Blöcke verschoben ist? ....nur eine weit hergeholte Theorie von mir!

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