FreeCalypso > hg > freecalypso-tools
annotate doc/TIFFS-IVA-usage @ 922:3152e23399a2
document SE K2x0 FFS quirks and our support for them
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 02 Jan 2023 00:50:19 +0000 |
parents | d89b72f2181b |
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. |