FreeCalypso > hg > freecalypso-tools
comparison doc/TIFFS-Overview @ 734:23f41a61ff7a
doc/TIFFS-Overview: update for new developments
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 28 Aug 2020 18:23:36 +0000 |
parents | 3100f534340b |
children | 0306449ba467 |
comparison
equal
deleted
inserted
replaced
733:bed7981ac8ca | 734:23f41a61ff7a |
---|---|
53 black box from one of their many proprietary software partners. (I was unable | 53 black box from one of their many proprietary software partners. (I was unable |
54 to identify it as any well-known, industry-standard FFS format, but absence of | 54 to identify it as any well-known, industry-standard FFS format, but absence of |
55 evidence is not evidence of absence.) But now that we have TI's original source | 55 evidence is not evidence of absence.) But now that we have TI's original source |
56 code which implements this FFS (first the MV100-0.1.rar source, then the full | 56 code which implements this FFS (first the MV100-0.1.rar source, then the full |
57 Leonardo one), complete with comments and a HISTORY file, we know that our FFS | 57 Leonardo one), complete with comments and a HISTORY file, we know that our FFS |
58 was invented and implemented by someone named Mads Meisner-Jensen at TI - I'm | 58 was invented and implemented by someone named Mads Meisner-Jensen at TI-DK, |
59 guessing in the SSA group in Nice, France. | 59 apparently their flash chip expert who also wrote FLUID. |
60 | 60 |
61 I am now making a naming transition from MPFFS to TIFFS: there is really no | 61 I am now making a naming transition from MPFFS to TIFFS: there is really no |
62 link between this FFS format and the Openmoko+Pirelli duo, other than the | 62 link between this FFS format and the Openmoko+Pirelli duo, other than the |
63 happenstance of me having first encountered this FFS on these two GSM device | 63 happenstance of me having first encountered this FFS on these two GSM device |
64 brands, and the name TIFFS is more neutrally-descriptive. | 64 brands, and the name TIFFS is more neutrally-descriptive. |
243 (This section is only relevant to you if you plan on physically producing your | 243 (This section is only relevant to you if you plan on physically producing your |
244 own GSM phones or modems on your own factory production line, like we currently | 244 own GSM phones or modems on your own factory production line, like we currently |
245 do at our family company, or if you simply enjoy knowing how it is done.) | 245 do at our family company, or if you simply enjoy knowing how it is done.) |
246 | 246 |
247 To my knowledge, TI never used or produced a tool akin to mkfs.jffs2 in the | 247 To my knowledge, TI never used or produced a tool akin to mkfs.jffs2 in the |
248 embedded Linux world, which would produce a TIFFS image complete with some | 248 embedded Linux world, or akin to our recently developed tiffs-mkfs, which would |
249 initial directory and file content "in vitro". Instead it appears that the FFS | 249 produce a TIFFS image complete with some initial directory and file content |
250 instances found in shipped products such as Openmoko phones have been created | 250 "in vitro". Instead it appears that the FFS instances found in shipped products |
251 "in vivo" by TI's firmware running on the device itself during the "production | 251 such as Openmoko phones have been created "in vivo" by TI's firmware running on |
252 test" phase. | 252 the device itself during the "production test" phase. |
253 | 253 |
254 We never got a copy of the original factory production line software that was | 254 We never got a copy of the original factory production line software that was |
255 used by Openmoko, but we have successfully replicated the process using our own | 255 used by Openmoko, but we have successfully replicated the process using our own |
256 Unix/Linux-based FreeCalypso host tools, the very same tools that are contained | 256 Unix/Linux-based FreeCalypso host tools, the very same tools that are contained |
257 in the present source package you are looking at. The process goes like this: | 257 in the present source package you are looking at. The process goes like this: |
419 * Mot C1xx phones present a lot more hassle: our current official procedure is | 419 * Mot C1xx phones present a lot more hassle: our current official procedure is |
420 to make a dump of the flash prior to the xenotransplantation procedure (also | 420 to make a dump of the flash prior to the xenotransplantation procedure (also |
421 serves as a backup), extract the RF calibration values with our c1xx-calextr | 421 serves as a backup), extract the RF calibration values with our c1xx-calextr |
422 tool, and then later in the procedure when you initialize your aftermarket FFS | 422 tool, and then later in the procedure when you initialize your aftermarket FFS |
423 with fc-fsio, upload these extracted and format-converted RF calibration files | 423 with fc-fsio, upload these extracted and format-converted RF calibration files |
424 as one of the several steps involved. You will need to enter your IMEI | 424 as one of the several steps involved. You will also need to enter your IMEI |
425 manually: we never figured out where Mot/SE/Compal have it stored and how it | 425 manually: fc-loadtool flash compal-imei command can extract the factory IMEI |
426 is obfuscated. | 426 record from the flash chip's protection register and save it into a text file, |
427 but you still need to feed it manually to the new firmware with fc-fsio | |
428 set-imeisv command. | |
427 | 429 |
428 FreeCalypso host tools for TIFFS | 430 FreeCalypso host tools for TIFFS |
429 ================================ | 431 ================================ |
430 | 432 |
431 Our FC host tools package supports TIFFS in two ways: | 433 Our FC host tools package supports TIFFS in two ways: |
432 | 434 |
433 1) Our primary tool for working with GSM device file systems is fc-fsio. When | 435 1) Our primary tool for working with GSM device file systems is fc-fsio. When |
434 run against a compatible firmware version (primarily our own, but Pirelli's | 436 run against a compatible firmware version (primarily our own, but Pirelli's |
435 proprietary fw is also compatible), fc-fsio allows various read and write | 437 proprietary fw is also compatible), fc-fsio allows various read and write |
436 operations to be performed on the target device FFS. | 438 operations to be performed on the target device FFS. fc-fsio can also be used |
439 together with our fc-xram based FFS editing agent described below. | |
437 | 440 |
438 2) We have a TIFFS In Vitro Analyzer (IVA) tool for "in vitro" examination of | 441 2) We have a TIFFS In Vitro Analyzer (IVA) tool for "in vitro" examination of |
439 FFS images that have been read out of raw flash with fc-loadtool. See the | 442 FFS images that have been read out of raw flash with fc-loadtool. See the |
440 TIFFS-IVA-usage article for more information. | 443 TIFFS-IVA-usage article for more information. As a very recent addition, we |
444 also have another "in vitro" tool (tiffs-mkfs) that goes the other way, creating | |
445 new complete TIFFS images from a tree of directories and files. | |
441 | 446 |
442 In addition to the above, back in the days of Openmoko (back when the Openmoko | 447 In addition to the above, back in the days of Openmoko (back when the Openmoko |
443 community was still active and we considered ourselves a part of it) we had | 448 community was still active and we considered ourselves a part of it) we had |
444 produced a kit for editing the modem FFS on Openmoko GTA01/02 devices, giving | 449 produced a kit for editing the modem FFS on Openmoko GTA01/02 devices, giving |
445 users an easy way to change their /pcm/IMEI file. Changing IMEIs for no good | 450 users an easy way to change their /pcm/IMEI file. Changing IMEIs for no good |
450 other reason - hence the popular demand for IMEI changing tools. | 455 other reason - hence the popular demand for IMEI changing tools. |
451 | 456 |
452 Our Openmoko FFS editing kit from early 2014 consisted of a very early version | 457 Our Openmoko FFS editing kit from early 2014 consisted of a very early version |
453 of what much later became the present FC host tools package (more specifically, | 458 of what much later became the present FC host tools package (more specifically, |
454 it was before fc-fsio, and the set-imeisv command had been hacked into fc-tmsh | 459 it was before fc-fsio, and the set-imeisv command had been hacked into fc-tmsh |
455 instead) plus a pair of "in vivo" FFS editing agent target binaries. Our | 460 instead) plus a pair of "in vivo" FFS editing agent target binaries that run on |
456 current FC host tools fully supplant the ancient version in that 2014 kit, but | 461 the target by way of fc-xram. Our current FC host tools fully supplant the |
457 we do not currently have a non-deprecated replacement for the old "in vivo" FFS | 462 ancient version in that 2014 kit, and our current replacement for the ancient |
458 editing agent: those FFS editing agent binaries were built from our old gsm-fw | 463 FFS editing agent is this new version: |
459 framework which was deemed to be a dead end in 2016 and fully retired in 2018. | 464 |
460 | 465 https://www.freecalypso.org/hg/ffs-editor/ |
461 We have not produced a new and actively maintained replacement for the "in vivo" | 466 |
462 FFS editing function which was previously provided as a side product of the old | 467 The new FFS editing agent linked above is run via fc-xram, while it is running |
463 gsm-fw framework because we have no real need for it: the *only* use case we | 468 you communicate with it via rvinterf (launched directly from fc-xram as the 2nd |
464 have for it involves Openmoko devices, and even then only two special use cases: | 469 program), and you can run fc-fsio against it to perform whatever actual FFS |
465 | 470 manipulations are needed. |
466 1) If someone wishes to change their IMEI from within the FreeRunner (without | |
467 using an external serial cable) *or* while keeping an old firmware version | |
468 (without updating to moko13 or later), or | |
469 | |
470 2) If someone has updated the modem fw on their FR to one of our current | |
471 releases, wishes to fix the /gsm/com/rfcap file to reflect the true tri900 or | |
472 tri850 band configuration of their device, but wishes to do it from within the | |
473 FR, without using an external serial cable. | |
474 | |
475 If anyone does need to exercise one of the two special use cases listed above, | |
476 they can use the "in vivo" FFS editing agent binaries from the ancient | |
477 ffs-edit-kit-r1.tar.bz2 package - they are ancient, but will do the job just | |
478 fine for both use cases in question. |