FreeCalypso > hg > freecalypso-tools
annotate doc/TIFFS-IVA-usage @ 995:74024eb17e04
fc-loadtool help: improve language regarding 16 MiB flash chips
In FC project history, 16 MiB flash originally meant Pirelli DP-L10.
Then we got FCDEV3B with the same flash (our own design), but now we are
discovering more Calypso devices that used such large flash, both late
Calypso era (Sony Ericsson K2x0) as well as much earlier ones (FIC FLUID
devices.txt file with 2004 dates, Leonardo+ rev 5). Hence we need to
migrate to more generic or neutral language in associated documentation,
without giving elevated status to specific examples that drove our
early project history.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 03 Dec 2023 21:11:12 +0000 |
parents | 3152e23399a2 |
children | 11391cb6bdc0 |
rev | line source |
---|---|
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 The generic tiffs utility needs to be invoked as follows: |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 tiffs [global-options] <imgfile> <org> <cmd> [command-args] |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 The first 3 non-optional arguments are the filename of the TIFFS image under |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 examination, the FFS organization being examined, and the operation to be |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 performed. The present utility is designed in the classic Unix manner in that |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 each invokation performs a single operation and exits, such that invokations of |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 tiffs (or one of the wrappers described below) may be plumbed into pipes and |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 the like. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 The 2nd argument to tiffs after the FFS image filename describes how the TIFFS |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 instance under study is organized in terms of flash sectors. The syntax of |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 this argument is KxN, where K is the flash sector size in KiB and N is the |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 number of sectors occupied by the FFS. For MokoFFS images the correct |
218
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
16 organization argument is 64x7 (7 sectors of 64 KiB each), for Pirelli's FFS |
729
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
17 images it is 256x18 (18 sectors of 256 KiB each), for TIFFS images read out of |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
18 Tango modules with S71PL064J flash it is 64x15 (15 sectors of 64 KiB each), and |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
19 for TIFFS images read out of FreeCalypso development boards with S71PL129N flash |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
20 it is 256x8 (8 sectors of 256 KiB each). |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 The following global options may be given before the image filename argument: |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 -a num |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 Use the specified flash block (sector) as the inode array block. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 -o offset |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 The FFS image begins at the specified offset within the file, rather |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 than at the beginning. This option is useful when working with complete |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 device flash dumps of which FFS is only a part, starting somewhere |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 other than at 0. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
218
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
35 -O |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
36 |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
37 The location field in the inode structure is 16 bits rather than 32, |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
38 stored in the upper two bytes out of the four. This old FFS format |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
39 (limited to 1 MiB total FFS size) was used by *very* old versions of |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
40 TI's firmware and is incompatible with our "current" fw versions; |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
41 so far the only encountered example of this old FFS format was found on |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
42 the D-Sample board which the Mother scored in 2015 - it came with a |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
43 firmware image dated 20020917. |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
44 |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 -r ino |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 |
218
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
47 Use the specified inode as the root. Per the Mother's convention, |
c44f31353f2f
doc/TIFFS-IVA-usage updated
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
48 TIFFS inode numbers are always given in hex, hence this argument is |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 interpreted as hex without needing a 0x prefix. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 The invokation syntax for mokoffs and pirffs wrappers is the same as for tiffs, |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 except that the FFS organization argument (64x7 or 256x18) is omitted; the |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 wrapper fills that argument in before passing the command to the main tiffs |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 program. The only other difference is that instead of the generic -o global |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 option, mokoffs takes a -f global option (no argument) which indicates that one |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 is working with a complete flash dump image, rather than just the FFS portion; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 mokoffs -f gets translated into tiffs -o0x380000. (pirffs has no such option |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 at all because Pirelli's FFS starts at offset 0 within its respective flash |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 chip select.) |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
729
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
61 tiffs-8m is another similar wrapper; it is a more recent addition for working |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
62 with TIFFS images from platforms like D-Sample and Tango that use TI's 8 MiB |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
63 flash configuration. tiffs-8m strictly parallels mokoffs except than it is |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
64 64x15 instead of 64x7, and -f turns into -o0x700000 instead of -o0x380000. |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
65 |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 The next argument after the FFS organization for tiffs (or after the image |
729
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
67 filename for mokoffs, pirffs or tiffs-8m) is the command (or operation) to be |
f917441aa8bc
doc/TIFFS-IVA-usage: update for tiffs-8m
Mychaela Falconia <falcon@freecalypso.org>
parents:
218
diff
changeset
|
68 performed. The following tiffs commands are currently available: |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 General information commands |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 ============================ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 These commands display general or summary information about the FFS image: |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 tiffs <...> blkhdr |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 This command displays the basic information contained in the header of each |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 flash erase block comprising the FFS image. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 tiffs <...> fsinfo |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 This command displays some general information about the file system. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 Standard listing/extraction commands |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 ==================================== |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 These commands list or extract the normally-visible content of the FFS, i.e., |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 the content which is visible when the FFS is "mounted" normally, and which the |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 FFS promises to preserve - as opposed to deleted or overwritten content. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 tiffs <...> ls [-v[v]] [pathname...] |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 Tiffs ls without additional arguments yields a listing of the complete FFS |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 directory tree, akin to tar tv. Example output fragment: |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 fr 4096 /.journal |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 d /gsm |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 d /gsm/rf |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 d /gsm/rf/tx |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 f 512 /gsm/rf/tx/ramps.900 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 f 128 /gsm/rf/tx/levels.900 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 f 128 /gsm/rf/tx/calchan.900 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 The first character is 'f' for files or 'd' for directories. An 'r' following |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 immediately afterward means that the object has the read-only attribute set. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 For files the listing includes the content size in bytes, and the last part is |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 the pathname of the object within the FFS. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 With a single -v option added after ls, the output will include verbose |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 information as to the segmentation structure of each file. With two -v options |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 or with -vv, this additional output will also include the byte offset of each |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 data chunk, relative to the beginning of the FFS image. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 Tiffs ls with a pathname argument yields information about the specified FFS |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 object; -v and -vv options act as already described, but are arguably more |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 useful when listing single files. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 tiffs <...> cat [-v|-h] pathname |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 Just like the standard Unix cat(1) command, but cat'ing files from the FFS image |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 under study. The non-standard -h option means hex dump - it is handy because |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 almost all files in TI's GSM device FFS are binary, rather than ASCII. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 tiffs <...> xtr dest-dir |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 This command extracts the complete content of the FFS into your ordinary Unix |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 file system. The sole argument is the local directory into which the root of |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 the GSM device FFS should be extracted. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 |
731
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
130 tiffs <...> decode file-keyword [band] |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
131 |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
132 For some files in TIFFS doing a hex dump with tiffs cat -h (see above) is |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
133 sufficient for easily understanding the content of the file, but for other files |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
134 such as RF parameter tables further developer-friendly decoding is greatly |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
135 desirable. The generic solution is to extract the complete FFS content with |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
136 tiffs xtr and then apply further tools for analysis, but this fully generic |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
137 solution involves a lot of clutter. For some TIFFS files which often need to be |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
138 looked at and for which tiffs cat -h is insufficient, tiffs decode offers a |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
139 shorthand. The following files can be decoded in this way: |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
140 |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
141 Command File being decoded |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
142 ---------------------------------------------------------- |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
143 tiffs <...> decode adccal /sys/adccal |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
144 tiffs <...> decode afcdac /gsm/rf/afcdac |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
145 tiffs <...> decode afcparams /gsm/rf/afcparams |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
146 tiffs <...> decode stdmap /gsm/rf/stdmap |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
147 tiffs <...> decode tx-ramps <band> /gsm/rf/tx/ramps.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
148 tiffs <...> decode tx-levels <band> /gsm/rf/tx/levels.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
149 tiffs <...> decode tx-calchan <band> /gsm/rf/tx/calchan.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
150 tiffs <...> decode tx-caltemp <band> /gsm/rf/tx/caltemp.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
151 tiffs <...> decode rx-calchan <band> /gsm/rf/rx/calchan.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
152 tiffs <...> decode rx-caltemp <band> /gsm/rf/rx/caltemp.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
153 tiffs <...> decode rx-agcparams <band> /gsm/rf/rx/agcparams.<band> |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
154 tiffs <...> decode pcm-IMEI /pcm/IMEI |
d89b72f2181b
doc/TIFFS-IVA-usage: new decode facility documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
729
diff
changeset
|
155 |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 Forensic analysis commands |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 ========================== |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 Unlike the "standard" listing/extraction commands which present TIFFS as a |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 "normal" Unix file system, using the "forensic" commands effectively requires |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 that the operator understands how TIFFS works, in particular, what an inode is |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 in TIFFS. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 tiffs <...> lsino [-v[v]] |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 This command lists the FFS inode array from first to last; this listing order |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 will normally correspond to the forward chronological order of object creation. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 -v and -vv options add verbosity. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 '.' in the object type column means segment, '~' means a deleted object. The |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 lsino command only lists the inode array, and does not try to recover the |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 original type of deleted/overwritten objects from the journal or other clues. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 The program attempts to recover the pathname of each inode, but because such |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 reverse mapping from inodes to pathnames is not an operation which TIFFS was |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 properly designed to support, and the pathname recovery algorithm in this TIFFS |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 IVA tool is made as generic as possible (doesn't look at the object types), the |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 lsino listing will occasionally include some bogus pathnames. Once again, it |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 is expected that the operator knows what s/he is doing when using these forensic |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 commands. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 tiffs <...> lsino [-v[v]] [-f] ino... |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 This command works just like ls with an explicit pathname argument, but takes |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 one or more inode numbers instead. The -f option matters only if the requested |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 inode is in the deleted/overwritten state; it tells the lsino command to assume |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 that the object is/was the head inode of a file; -vf and -vvf combinations are |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 particularly useful. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 tiffs <...> catino [-v|-h] ino |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 Just like regular cat, but takes an inode number instead of a pathname. Can be |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 used to cat the old content of deleted or overwritten files. |
922
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
193 |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
194 Support for SE K2x0 extended filenames |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
195 ====================================== |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
196 |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
197 As explained in the SE-K2x0-FFS article, Sony Ericsson K200/220 phones use |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
198 TIFFS as their flexible data storage mechanism, but they also made their own |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
199 non-standard extension to TIFFS in terms of extended UCS-2 filenames. |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
200 |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
201 In order to allow listing full FFS trees from SE K2x0 phones with tiffs ls and |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
202 possibly also extracting them with tiffs xtr, we have made the following hackish |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
203 extension to our TIFFS IVA: whenever either of these two commands encounters an |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
204 "extended" filename (one which fails standard TIFFS filename validity checks but |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
205 has a terminating NUL that allows the name and data portions of the chunk to be |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
206 separated) in the visible tree walk, our tool replaces it (for the purpose of |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
207 listed pathname generation or extraction into host file system) with a |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
208 synthesized pseudonym of the form "!bogo%04x", where %04x is the FFS inode |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
209 number in hex. In the case of tiffs ls, the actual extended filename is then |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
210 printed on a separate line (immediately following the synthesized listing), with |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
211 non-printable-ASCII characters escaped in \x hex form. We've also extended the |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
212 individual-inode form of lsino command to list these extended filenames when |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
213 encountering such, and we've extended catino (which needs to skip past the name |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
214 to get to the beginning of the data portion of the head chunk) to not reject |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
215 file head chunks with extended filenames in them as long as the needed |
3152e23399a2
document SE K2x0 FFS quirks and our support for them
Mychaela Falconia <falcon@freecalypso.org>
parents:
731
diff
changeset
|
216 separating NUL is found. |