BootloadersFreedom » History » Version 50
Denis 'GNUtoo' Carikli, 03/28/2020 10:42 PM
| 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 | 48 | Denis 'GNUtoo' Carikli | | [[NexusSI902xBootloader| Samsung Nexus S (GT-I902x)]] | Proprietary, Signed on the tested devices | ?->USB->?->eMMC->? | |
| 18 | | [[I9100Bootloader| Samsung Galaxy S2 (GT-I9100)]] | Proprietary, probably Signed | ? | |
||
| 19 | 49 | Denis 'GNUtoo' Carikli | | [[I9100GBootloader| Samsung Galaxy S2 (GT-I9100G)]] | * Unsigned on some devices |
| 20 | * Signed on some devices | ? | |
||
| 21 | 30 | Denis 'GNUtoo' Carikli | | [[GalaxyTab2Bootloader| Samsung Galaxy Tab 2]] | Proprietary, signed | ?->USB->?->eMMC->? | |
| 22 | | [[OptimusBlackBootloader| LG Optimus black (p970)]] | unsigned, can be replaced with upstream u-boot | eMMC(MMC2)->USB | |
||
| 23 | 39 | Denis 'GNUtoo' Carikli | | Galaxy SIII (I9300) |
| 24 | 10 | Denis 'GNUtoo' Carikli | Galaxy SIII 4G (I9305) |
| 25 | Galaxy Note II (N7100) |
||
| 26 | 39 | Denis 'GNUtoo' Carikli | Galaxy Note II 4G (N7105) | * Proprietary, Signed |
| 27 | 30 | Denis 'GNUtoo' Carikli | * There is work in progress to understand if we can avoid the signature | ?->eMMC->?->USB->? | |
| 28 | 31 | Denis 'GNUtoo' Carikli | | Golden Delicous GTA04 | unsigned, free software | * Aux not pressed during boot: ? |
| 29 | * Aux pressed during boot: ?->SD->?->NAND |
||
| 30 | SYS_BOOT0 = 1 |
||
| 31 | SYS_BOOT1 = 1 |
||
| 32 | SYS_BOOT2 = 1 |
||
| 33 | SYS_BOOT3 = 1 |
||
| 34 | SYS_BOOT4 = 1 |
||
| 35 | SYS_BOOT5 = AUX button |
||
| 36 | SYS_BOOT6 = 1 |
||
| 37 | But cannot find Reference manual for the DM370 | |
||
| 38 | 36 | Denis 'GNUtoo' Carikli | |
| 39 | 50 | Denis 'GNUtoo' Carikli | * [[FindDevicesWithUnsignedBootloaedrs]] |
| 40 | |||
| 41 | 36 | Denis 'GNUtoo' Carikli | h2. System on a chip |
| 42 | 8 | Denis 'GNUtoo' Carikli | |
| 43 | 33 | Denis 'GNUtoo' Carikli | |_. SOC and documentation |_. Freedom situation | |
| 44 | 47 | Denis 'GNUtoo' Carikli | | [[OMAPBootrom|OMAP]] | * No known bug |
| 45 | * Some devices are not signed | |
||
| 46 | 38 | Denis 'GNUtoo' Carikli | | [[Exynos4Bootrom|Exynos 4]] | * Some or all devices are signed |
| 47 | 1 | Denis 'GNUtoo' Carikli | * work in progress to understand if it's possible to bypass the signature | |
| 48 | | [[BroadcomVideoCore]] | The SOCs have the ability to check signatures | |
||
| 49 | 42 | Denis 'GNUtoo' Carikli | | [[TegraBootrom]] | * Not all devices use code signature |
| 50 | * Boot from USB is possible thanks to "fusee_gelee":https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md |
||
| 51 | 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 ? | |
| 52 | 39 | Denis 'GNUtoo' Carikli | | IMX 5 and 6 | * Not all devices are signed |
| 53 | * 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 | |
||
| 54 | 33 | Denis 'GNUtoo' Carikli | |
| 55 | 41 | Denis 'GNUtoo' Carikli | h2. Links to cathegorize: |
| 56 | 15 | Denis 'GNUtoo' Carikli | |
| 57 | 25 | Denis 'GNUtoo' Carikli | * https://www.theiphonewiki.com/ has a list of "Bootrom security issues":https://www.theiphonewiki.com/wiki/Bootrom for apple devices. |
| 58 | 26 | Denis 'GNUtoo' Carikli | * "Ti Nspire":https://hackspire.org ? RSA exponent issues? |
| 59 | 10 | Denis 'GNUtoo' Carikli | |
| 60 | 9 | Denis 'GNUtoo' Carikli | == See also == |
| 61 | 8 | Denis 'GNUtoo' Carikli | |
| 62 | * [[Upstream]] |