BootloadersFreedom » History » Version 45
Denis 'GNUtoo' Carikli, 02/24/2020 02:54 AM
fix link
1 | 1 | Denis 'GNUtoo' Carikli | h1. Bootloaders |
---|---|---|---|
2 | |||
3 | 40 | Denis 'GNUtoo' Carikli | h2. Introduction |
4 | |||
5 | In order to run free software bootloaders, we need the ability to run the code we want at boot. |
||
6 | |||
7 | However in most smartphones and many tablets use code signature at boot, which prevent us to run free software bootloader. |
||
8 | |||
9 | In practice: |
||
10 | * Some system on a chip either don't implement code signature or the implementation is not used or tested. |
||
11 | * For some other system on a chip, it's up to the device vendor to choose to implement code signature or not. |
||
12 | * For some system on a chip, we don't know any devices not enforcing code signature, but we don't know who decided to enforce the code signature. |
||
13 | |||
14 | 36 | Denis 'GNUtoo' Carikli | h2. Devices configurations |
15 | |||
16 | 30 | Denis 'GNUtoo' Carikli | |_. Device and documentation |_. Freedom situation |_. Boot order | |
17 | | [[NexusSI902xBootloader| Samsung Nexus S (i902x)]] | Proprietary, Signed on the tested devices | ?->USB->?->eMMC->? | |
||
18 | | [[I9100Bootloader| Samsung Galaxy S2 (i9100)]] | Proprietary, probably Signed | ? | |
||
19 | | [[GalaxyTab2Bootloader| Samsung Galaxy Tab 2]] | Proprietary, signed | ?->USB->?->eMMC->? | |
||
20 | | [[OptimusBlackBootloader| LG Optimus black (p970)]] | unsigned, can be replaced with upstream u-boot | eMMC(MMC2)->USB | |
||
21 | 39 | Denis 'GNUtoo' Carikli | | Galaxy SIII (I9300) |
22 | 10 | Denis 'GNUtoo' Carikli | Galaxy SIII 4G (I9305) |
23 | Galaxy Note II (N7100) |
||
24 | 39 | Denis 'GNUtoo' Carikli | Galaxy Note II 4G (N7105) | * Proprietary, Signed |
25 | 30 | Denis 'GNUtoo' Carikli | * There is work in progress to understand if we can avoid the signature | ?->eMMC->?->USB->? | |
26 | 31 | Denis 'GNUtoo' Carikli | | Golden Delicous GTA04 | unsigned, free software | * Aux not pressed during boot: ? |
27 | * Aux pressed during boot: ?->SD->?->NAND |
||
28 | SYS_BOOT0 = 1 |
||
29 | SYS_BOOT1 = 1 |
||
30 | SYS_BOOT2 = 1 |
||
31 | SYS_BOOT3 = 1 |
||
32 | SYS_BOOT4 = 1 |
||
33 | SYS_BOOT5 = AUX button |
||
34 | SYS_BOOT6 = 1 |
||
35 | But cannot find Reference manual for the DM370 | |
||
36 | 36 | Denis 'GNUtoo' Carikli | |
37 | h2. System on a chip |
||
38 | 8 | Denis 'GNUtoo' Carikli | |
39 | 33 | Denis 'GNUtoo' Carikli | |_. SOC and documentation |_. Freedom situation | |
40 | 44 | Denis 'GNUtoo' Carikli | | [[OMAPBootrom|OMAP]] | No known bug | |
41 | 38 | Denis 'GNUtoo' Carikli | | [[Exynos4Bootrom|Exynos 4]] | * Some or all devices are signed |
42 | 1 | Denis 'GNUtoo' Carikli | * work in progress to understand if it's possible to bypass the signature | |
43 | | [[BroadcomVideoCore]] | The SOCs have the ability to check signatures | |
||
44 | 42 | Denis 'GNUtoo' Carikli | | [[TegraBootrom]] | * Not all devices use code signature |
45 | * Boot from USB is possible thanks to "fusee_gelee":https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md |
||
46 | 43 | Denis 'GNUtoo' Carikli | * Code can be appended to the bootrom by writing in a fuse area. Could that be used to disable code signature ? | |
47 | 39 | Denis 'GNUtoo' Carikli | | IMX 5 and 6 | * Not all devices are signed |
48 | * Thanks to "Ref_QBVR2017-0001.txt":https://github.com/f-secure-foundry/usbarmory/blob/master/software/secure_boot/Security_Advisory-Ref_QBVR2017-0001.txt it's possible to bypass signatures anyway, and maybe load code through USB too | |
||
49 | 33 | Denis 'GNUtoo' Carikli | |
50 | 41 | Denis 'GNUtoo' Carikli | h2. Links to cathegorize: |
51 | 15 | Denis 'GNUtoo' Carikli | |
52 | 14 | Denis 'GNUtoo' Carikli | * http://www.droid-developers.org : This attempts to run user code on several Motorolla smartphones. It includes analysis of the boot chain: |
53 | 45 | Denis 'GNUtoo' Carikli | ** "Application_Processor_Boot_ROM":http://www.droid-developers.org/wiki/Application_Processor_Boot_ROM |
54 | 13 | Denis 'GNUtoo' Carikli | ** "Booting_chain":http://www.droid-developers.org/wiki/Booting_chain |
55 | 25 | Denis 'GNUtoo' Carikli | * https://www.theiphonewiki.com/ has a list of "Bootrom security issues":https://www.theiphonewiki.com/wiki/Bootrom for apple devices. |
56 | 26 | Denis 'GNUtoo' Carikli | * "Ti Nspire":https://hackspire.org ? RSA exponent issues? |
57 | 10 | Denis 'GNUtoo' Carikli | |
58 | 9 | Denis 'GNUtoo' Carikli | == See also == |
59 | 8 | Denis 'GNUtoo' Carikli | |
60 | * [[Upstream]] |