Given the huge number of devices out there, buying each device and checking it doesn't scale. Especially as there are multiple variants and even multiple versions of the variants.
For instance for the Galaxy SII we have the GT-I9100 that has an Exynos4 and GT-I9100G that has an OMAP4. And for the GT-I9100G, there are multiple versions.
The first step would be to document what tools already exist to do that and the ones that are lacking.
Tool | Uses | supported hardware | Pakckages | Howto |
---|---|---|---|---|
omap-usb-boot | * checking if the device is has restricted boot * Loading bootloaders from USB * booting on a different boot media |
OMAP3, OMAP4, OMAP5 | Parabola , Archlinux through AUR | * check if the device has restricted boot through USB |
omap-u-boot-utils | * Loading bootloaders from USB * Loading bootloaders from the UART |
OMAP3, OMAP4 | Parabola , Archlinux through AUR | ? |
crucible | * checking fuses settings | i.MX53, i.MX6DL, i.MX6DQ, i.MX6SL, i.MX6SLL, i.MX6SX, i.MX6UL, i.MX6ULL, i.MX6ULZ, i.MX7D, i.MX7ULP | TODO | TODO |
cbootimage | * Generate images * Dump images (including signatures?) |
Tegra ? | Parabola , Archlinux through AUR | |
tegrarcm | * Load bootloaders from USB | Tegra ? | TODO | TODO |
0xFFFF | * Load signed bootloaders (-c) from USB | OMAP3430 and OMAP3630 Might be easy to add more OMAP3 by just commenting code in cold-flash.c |
TODO, patch for libusb1 | TODO |
sunxi-tools | ? | Allwinner SOCs? | Parabola, archlinux | TODO |
The idea would be to find a way to get a very large number of stock images for Android devices make tests on the images and automatically check if the bootloaders are signed.
If the bootloaders are under a free software license and are unsigned, once we get and identify the corresponding source code we could publish them.
For the signed bootloaders under a free software license we'd better check with the FSF what is best to do as we need not to redistribute any software that is practically nonfree.
Constraints: