Flash-RAM

Aus M740 WikiWeb

(Weitergeleitet von /dev/mtd2)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Hardware

Bei dem Flash-Ram der M740AV handelt es sich um einen 16 MiB Baustein mit der Bezeichnung: PL127J70BAI00 // 0439ABC // THAILAND // FASL LLC. (siehe auch Übersicht M740 AV Hardware)

Der Chip wird von Spansion hergestellt und von AMD vertrieben. Dort gibt es auch die Produktbeschreibung als PDF.

Nach der PDF-Beschreibung behält der Flash seine Infos für 20 Jahre ("Data Retention: 20 years typical") und schafft 1 Million Lösch-Schreib-Zyklen ("Cycling Endurance: 1 million cycles per sector").

Organisation

Innerhalb der Firmware kann das Flash-RAM über die Zeichen-Geräte /dev/mtd* und über die Block-Geräte /dev/mtdblock* angesprochen werden.

Der Flash-RAM ist wie folgt auf die mtd-Blocke aufgeteilt:

 -------------------------------------------------------------------------------
  Device     Adresse/Hex    Größe/Hex+MB  mount Anmerkung
 -------------------------------------------------------------------------------
 
 /dev/mtd0 00:0000-ff:ffff 100:0000 16  M       gesamter Bereich (mtd1 bis mtd5)
 
 /dev/mtd1 00:0000-5f:ffff  60:0000 6   M /     [[cramfs]], [[root file system]]
 /dev/mtd2 60:0000-bb:ffff  5c:0000 5.75M /data [[jffs2]], playlists, [[timer]], [[EPG]], ...
 /dev/mtd3 bc:0000-bf:ffff  04:0000 0.25M       speicher mit settings, [[/var/etc]]
 /dev/mtd4 c0:0000-d7:ffff  18:0000 1.5 M       [[boot sector]] (64K) + 2x [[vmlinux]]
 /dev/mtd5 d8:0000-ff:ffff  28:0000 2.5 M       [[cramfs]], [[rescue system]]
 
 /dev/mtd6   ungültig

cat /proc/mtd liefert passend die folgende Ausgabe:

 dev:    size   erasesize  name
 mtd0: 01000000 00010000 "Physically mapped flash"
 mtd1: 00600000 00010000 "root"
 mtd2: 005c0000 00010000 "app"
 mtd3: 00040000 00010000 "prod"
 mtd4: 00180000 00010000 "boot"
 mtd5: 00280000 00010000 "rescue"

Anmerkungen:

  • /dev/mtd[0-5] sind 'character devices'. /dev/mtdblock[0-5] sind die dazugehörigen 'block devices'.
  • /dev/mtd6 und /dev/mtdblock6 existieren zwar, sind jedoch ungültig.
  • Die Aufteilung der Blöcke wird mutmaßlich durch den boot sector bestimmt.
  • Der Flash-RAM hat eine Größe von 128 MBit, also 16 MiB. /dev/mtd0 stellt den gesamten Speicherbereich da und /dev/mtd1 bis /dev/mtd5 disjunkte Teilbereiche hiervon.
  • Die Adressen ergeben sich logisch aus der Anordnung der mtd-devices und können durch den Vergleich mit /dev/mtd0 bestätigt werden.
  • In den bereits bekannten Siemens GPL Sourcen befindet sich auch ein Verzeichnis mit dem Namen mtd/, welches neben den Quellen weitere Infos enthält. U.a. befindet sich dort die Datei 'mtd-jffs-HOWTO.txt', die nach dem ersten Überfliegen sehr interessant für uns sein kann.

mtd4 alias boot

/dev/mtd4 besteht aus vier Unterbereichen:

 -------------------------------------------------------------------------------
  Adresse/Hex        Größe/Hex+KB  Anmerkung
 -------------------------------------------------------------------------------
  00:0000 - 00:ffff  01:0000  64K  [[boot sector]]
  01:0000 - 0B:ffff  0B:0000 704K  [[vmlinux]] für [[standard system]]
  0C:0000 - 0C:ffff  01:0000  64K  ?? Datenmüll ??
  0D:0000 - 17:ffff  0B:0000 704K  [[vmlinux]] für [[rescue system]] ?
 -------------------------------------------------------------------------------

Anmerkungen:

  1. Der erste Bereich enhält den boot sector.
  2. Der zweite Bereich enhält das vmlinux für das standard system. Dieser Rückschluss ergibt sich u.a. daraus, dass bei den Standard Firmware Updates die WSW Datei nur diesen Teil von /dev/mtd4 überschreibt.
  3. Der dritte Bereich scheint Datenmüll zu sein. Er beginnt wie die beiden anderen vmlinux-Bereiche, sit aber hierfür zu klein. Die anderen beiden vmlinux-Bereiche sind am Ende aber mit Füllbytes (0xFF) aufgefüllt. Auch dieses merkmal fehlt hier. Und außerdem sieht dieser Bereich so aus, als ob er durch den vierten Bereich einfach überschrieben wurde.
    Vielleicht war hier mal ein boot sector für das rescue system geplant?
  4. Der vierte Bereich enhält das vmlinux für das rescue system. Dieses ist eine Mutmaßung, die sich wie folgt ergibt:
    • Der Bereich wurde nur mit FW 1.12.1 überschrieben, die einzig auch das rescue system überschrieben hat.
    • Im FW 1.12.1-Update haben Bereich #2 und #4 den identischen Inhalt.
    • Es wäre logisch sinnvoll.

Firmware Links

Persönliche Werkzeuge