FreeCalypso > hg > fc-am-toolkit
comparison doc/C1xx-boot-utils @ 28:58824cef4601
doc/C1xx-boot-utils: new article
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 12 Jun 2023 06:00:57 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
27:9e7ca43275eb | 28:58824cef4601 |
---|---|
1 The present fc-am-toolkit package is mostly shell scripts, automating the | |
2 convoluted workflows for running FreeCalypso firmware on alien targets in | |
3 aftermarket configurations, but it also contains some C programs for working | |
4 with flash images read out of C1xx phones, particularly the bootloader part | |
5 which is absolutely critical on these brickable phones. The following 3 | |
6 utilities are provided - all 3 are used by c1xx-analyze-image script, but they | |
7 may also be useful on their own. | |
8 | |
9 c139-analyze-boot | |
10 ================= | |
11 | |
12 This program takes a binary file containing either the complete flash dump from | |
13 a lower-submodel C1xx phone (C139/140 or C11x/12x) or the beginning of one (must | |
14 be at least 0x2064 bytes) and checks it for presence of lower-submodel-C1xx | |
15 bootloader code that must be present in the boot sector on these phones. The | |
16 program prints a single keyword on stdout, indicating its findings, and exits | |
17 successfully. The following 4 classifications are emitted by this program: | |
18 | |
19 fc | |
20 | |
21 compal-flash-boot-for-fc.bin bootloader has been identified, the patched | |
22 bootloader version we put in sector 0 on these Compal phones when we run | |
23 FC firmware on these phones. | |
24 | |
25 unlocked | |
26 | |
27 Found one of the lock-free bootloader versions (either C11x or C139), | |
28 or found a lockable bootloader version, but the lock word at 0x2060 is | |
29 set to 0xDDDDDDDD, meaning unlocked. | |
30 | |
31 locked | |
32 | |
33 Found one of the lockable, but otherwise good bootloader versions | |
34 (either C11x or C139), and the lock word at 0x2060 contains 0 or some | |
35 other value than the needed magic. This status indicates that the flash | |
36 image in its given state is boot-locked (bad), but it can be transformed | |
37 into a boot-unlocked image with c139-patch-dmagic - see below. | |
38 | |
39 unknown | |
40 | |
41 None of the known-good bootloader versions have been identified. The | |
42 bootloader you got may be one of the later versions that have been | |
43 locked down more heavily, and these flash images are EXTREMELY UNSAFE. | |
44 You should NEVER flash any such images back into a phone: our defenses | |
45 against bricking don't work with such maliciously modified bootloader | |
46 versions, and if you try to flash one (even if you are only seeking to | |
47 restore what you originally read out of the flash) and the process gets | |
48 interrupted in any way (meaning the full, long process), your phone may | |
49 be bricked beyond all recovery! | |
50 | |
51 If you are able to somehow break into a phone with one of these ultra- | |
52 malicious bootloader versions (and you must have been able to break in | |
53 somehow, if you got a flash image you are analyzing), the generally | |
54 recommended course of action is to make a one-way transition to a | |
55 better, non-malicious official Motorola firmware version. | |
56 | |
57 c139-patch-dmagic | |
58 ================= | |
59 | |
60 This program needs to be run if c139-analyze-boot returned "locked" on your | |
61 flash image. This program opens the given binary file in writable mode and | |
62 patches the unlocking magic word 0xDDDDDDDD at offset 0x2060, thereby turning | |
63 the locked flash image into an unlocked one. If the image you've read out of | |
64 flash is a locked one, as determined by c139-analyze-boot, and you wish to | |
65 reflash that same fw version back into your phone (or into a different phone), | |
66 you MUST unlock the image with c139-patch-dmagic before flashing it with | |
67 fc-loadtool - if you proceed with flashing a locked image, you will have a very | |
68 high chance of bricking your phone (beyond all recovery!), as our regular | |
69 defenses against bricking don't work with locked bootloaders. | |
70 | |
71 c155-analyze-boot | |
72 ================= | |
73 | |
74 This program is a very simplified logical equivalent of c139-analyze-image for | |
75 C155/156 subfamily. Perhaps it is because these phones are less common, but I | |
76 (Mother Mychaela) have not yet encountered any locked or otherwise modified | |
77 versions of C155/156 bootloader beyond the one known classic version. | |
78 c155-analyze-boot currently checks for this one known bootloader version, and | |
79 prints "ok" if the image matches or "unknown" otherwise. |