annotate doc/C1xx-updates @ 28:58824cef4601

doc/C1xx-boot-utils: new article
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 12 Jun 2023 06:00:57 +0000
parents afd760eb1f8d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 In C1xx-flashing article we have covered how to initially flash FreeCalypso
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 aftermarket firmware into a C1xx phone and how to restore that phone back to its
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 original state. However, what about updates? What if your C1xx phone is
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 currently flashed with FreeCalypso and you would like to load a new firmware
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 build? Or what if there is a new release of our FFS data bundle package with
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 updates that are relevant to C1xx targets? How do you update these components
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 in your FC-on-C1xx flash? There are two approaches, both described in this
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 article.
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 Full reflashing method
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 ======================
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 If your C1xx phone is currently flashed with a FreeCalypso fw version from ages
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 ago, or you just don't know its exact state and would rather not depend on it,
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 you can simply follow the regular flashing procedure described in the
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 C1xx-flashing article. If you run c1xx-analyze-image on a flashdump.bin image
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 that is FC aftermarket, the analysis script will detect this condition and
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 report it in its verbose output. Generation of restore-flash script will be
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 skipped in this scenario - you don't have an original Motorola flash image to
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 restore - but you can still always flash any of Mot fw images posted on our FTP
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 site, just not with these scripts.
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 If you already have a per-phone project directory in which you've already run
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 c1xx-analyze-image and you simply wish to rerun the
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 {c11x,c139,c155}-gen-fc-script step, please feel free to do so. The newly
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 generated fc-flash-script will refer to whichever firmware image you name on
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 the command line when you run the generator script anew, and fc-ffs.bin will be
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 regenerated based on your current state of /opt/freecalypso installation, which
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 is where all ffs-data-bundle updates go. You can then execute the new
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 fc-flash-script in fc-loadtool just like the first time, and the phone will be
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 brought to the new state.
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 Fine-grained reflashing
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 =======================
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 If you are actively iterating, flashing new fw images as you build them, it
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 makes the most sense to reflash just the fw component, without touching the
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 dangerous boot sector (FreeCalypso bootloader never changes) and without having
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 to blow away and reflash your FFS. In this scenario, make fc-loadtool entry as
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 usual and then execute a command of the following form:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 On C11x/12x and C139/140 subfamilies:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 loadtool> flash e-program-bin 0x10000 path/to/fwimage.bin
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 Or on C155/156 subfamily:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 loadtool> flash e-program-bin 0x20000 path/to/fwimage.bin
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 Updating and reflashing just the FFS part
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 =========================================
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 If you wish regenerate fc-ffs.bin only (presumably to pick up updates to FFS
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 data bundle bits under /opt/freecalypso) without flashing or even naming a new
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 FC firmware image, you can run one of these scripts:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 c11x-gen-fc-ffs-img rfbin IMEI 2m -- for C11x/12x with 2 MiB flash
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 c11x-gen-fc-ffs-img rfbin IMEI 4m -- for C11x/12x with 4 MiB flash
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 c139-gen-fc-ffs-img rfbin IMEI -- for C139/140 (always 4 MiB flash)
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 c155-gen-fc-ffs-img rfbin IMEI -- for C155/156 (always 8 MiB flash)
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 When you are ready to reflash fc-ffs.bin with fc-loadtool, whether it's because
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 you just regenerated it or because you simply wish to reset your FC FFS to its
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 pristine state, execute one of these commands:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 for 2 MiB flash:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 loadtool> flash e-program-bin 0x1C0000 fc-ffs.bin
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 for 4 MiB flash:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 loadtool> flash e-program-bin 0x300000 fc-ffs.bin
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 for 8 MiB flash:
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 loadtool> flash e-program-bin 0x700000 fc-ffs.bin
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 You can also make "organic" updates to your FFS with fc-fsio, without going in
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 "brute force" with fc-loadtool - but you understand the workings of FreeCalypso
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 to that level, you probably won't be reading this guide or using any of these
afd760eb1f8d doc/C1xx-updates: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 scripts.