FreeCalypso > hg > freecalypso-reveng
comparison mysteryffs/README @ 21:d41c555d7f1d
beginning to explore MysteryFFS
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sat, 18 May 2013 08:22:15 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
20:a52e76c12e6b | 21:d41c555d7f1d |
---|---|
1 MysteryFFS is my (Michael Spacefalcon's) arbitrarily-chosen nickname for the | |
2 flash file system found in at least two Calypso/Riviera-based GSM phone or | |
3 modem SW designs: Pirelli DP-L10 and Closedmoko GTA0x. | |
4 | |
5 The FFS implementation which I have nicknamed MysteryFFS is identifiable by the | |
6 following magic at the beginning of every flash erase unit used by this FFS: | |
7 | |
8 00000000: 46 66 73 23 10 02 FF FF AB FF FF FF FF FF FF FF Ffs#............ | |
9 | |
10 The byte at offset 8 into the erase unit (AB in the illustration above) | |
11 has been observed to be one of 3 possibilities: | |
12 | |
13 AB: this erase unit appears to be the active index block | |
14 BD: regular data block | |
15 BF: last block of the flash "partition" used for the FFS | |
16 | |
17 On the Pirelli this MysteryFFS takes up the first 4.5 MiB (18 erase units | |
18 of 256 KiB each) of the 2nd flash chip select (nCS3). On the Closedmoko | |
19 it lives in the second half of the last megabyte of the 4 MiB flash chip, | |
20 taking up 7 erase units of 64 KiB each, i.e., spanning absolute flash chip | |
21 offsets from 0x380000 through 0x3EFFFF. | |
22 | |
23 (The 4 MiB NOR flash chip used by Closedmoko has an independent R/W bank | |
24 division between the first 3 MiB and the last 1 MiB. The first 3 MiB are used | |
25 to hold the field-flashable closed firmware images distributed as *.m0 files; | |
26 the independent last megabyte holds the FFS, and thus the FW could be | |
27 implemented to do FFS writes while running from flash in the main bank. | |
28 Less than half of that last megabyte appears to be used for the FFS though; | |
29 the rest appears to be unused - blank flash observed.) | |
30 | |
31 I have nicknamed this flash file system MysteryFFS because I haven't been able | |
32 to identify it as any known FFS design. The FFS implemented in the liberated | |
33 TSM30 code appears to be different, hence that source is not of much help. | |
34 Therefore, I am reverse-engineering this MysteryFFS in order to extract the | |
35 file system content from my Pirelli phones and from my GTA02. |