Cubieboard - was hat es mit diesem NANDx auf sich.

Gast #4006101
Lesenswert?

Hallo,

habe mir so ein Cubieboard A20 besorgt.
Nachdem ich ein Linux erfolgreich von SD gebootet und ein bisschen im 
System 'gestöbert' habe, ist mir folgendes aufgefallen:
1
[root@alarm ~]# cat /proc/partitions
2
major minor  #blocks  name
3
  93        0    3989504 nand
4
  93        8       1024 nanda
5
  93       16    3988472 nandb

Ok, wie üblich: Das device und 2 Partitionen...Denkste!
1
[root@alarm ~]# cfdisk /dev/nand
2
Unknown partition table type
3
Do you wish to start with a zero table [y/N] ?

Drücke ich an dieser Stelle y, erhalte ich ein leeres Device mit 4085MB.

cfdisk auf nanda bzw nandb ergibt je ein device mit 1 und 4084MB - beide 
ohne Partitionen. Allerdings lassen sich nanda und nandb mounten und 
beide enthalten auch Daten.

Wie und vor allem wo kann ich denn nun installieren? Und wo sollte ich 
den bootloader installieren?

I'm confused...
Gast #4006241
Lesenswert?

Auf dem NAND befindet sich keine MS-DOS Partitiontable sondern ein 
eigenes Format.  Partitionieren geht mit nand-part (nicht cfdisk - das 
erstellt ne MS-DOS Partitiontable).

Der Bootloader liegt im ersten MB des NANDs (vor der ersten Partition), 
das Kernel in einer der Partitionen.  Da der ROM-Bootloader trivial ist, 
unterstützt er kein Wear-Leveling/Bad-Block-Remapping etc, deswegen hast 
du unterschiedliche Datenformate auf dem NAND, die nicht mit dem 
gleichen Treiber angesprochen werden können.  Ein ziemliches 
Durcheinander.

Der OpenSource NAND-Support für Allwinner ist grottig.  Der binary-Blob 
von Allwinner (im Android Image) geht wohl, ist aber nicht kompatibel 
mit dem Mainline- und dem Sunxi-Kernel (simples booten reicht aus um den 
NAND-Inhalt zu killen) und die Performance ist mies - wenn's hoch kommt 
10MB/s.

Bei mir liegt das NAND nun brach - dem Teil trau ich kein Byte mehr an. 
Ich Boote von SD-Karte - die ist wesentlich schneller und problemlos 
handzuhaben.  Ne MSDOS-Partitiontable drauf (das erste MB frei lassen), 
nen boot/root-Filesystem anlegen (bei mir ein einzelnes großes ext2 für 
beides), uboot-with-spl per dd in das erste MB, Kernel, uEnv und fex 
nach /boot.  Fertig.

Weitere "Literatur":
http://linux-sunxi.org/NAND
http://linux-sunxi.org/Installing_to_NAND
http://linux-sunxi.org/Bootable_SD_card

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