GTI9100GBootloaderFreedom » History » Revision 17
Revision 16 (Denis 'GNUtoo' Carikli, 03/07/2020 08:00 PM) → Revision 17/56 (Denis 'GNUtoo' Carikli, 03/17/2020 04:43 PM)
h1. I9100GBootloader {{toc}} h2. How to check if you have a signed bootloader h3. How to check from the bootloader interface to install the recovery. To do that you need to get into the ODIN MODE that is typically used to install the Replicant recovery: # Start the device by holding the following key combination: *Volume down, Select, Power*, # Hold the key combination until the device shows a *Warning* message. # Confirm that you want to download a custom OS using volume up # Make sure the device is in *Downloading* mode When this is done, it should show some text: <pre> ODIN MODE PRODUCT NAME: GT-I9100G_CHN_CHN </pre> Here CHN_CHN probably refers to the Chinese version. And it looks like that version has a signed bootloader: According to "a thread on the XDA developers forum":https://forum.xda-developers.com/galaxy-s2/development/guide-repair-totally-sleep-dead-boot-t1701471 "Means that you own a chinese bootloader locked I9100G. You can't flash any other bootloader than the chinese one." h3. How to check with command line utilities To get the bootrom to try to boot on USB, you need to do the following: * Connect the USB cable to the device but make sure it's not connected on the computer. * Power off the device * Connect the USB cable If we do that, we get the following in the kernel log of your laptop: <pre> usb 1-1: new high-speed USB device number 24 using ehci-pci usb 1-1: unable to get BOS descriptor or descriptor too short usb 1-1: New USB device found, idVendor=0451, idProduct=d00f, bcdDevice= 0.00 usb 1-1: New USB device strings: Mfr=33, Product=37, SerialNumber=0 usb 1-1: Product: OMAP4430 usb 1-1: Manufacturer: Texas Instruments </pre> We can also try to get a bit more infos with omap-usb-boot: <pre> $ sudo omap-usb-boot -v -w boot invalidbootmedia Finding and opening USB device Found and opened omap4 USB device: OMAP4430 ASIC device id: 4430, HS device Booting from device invalidbootmedia... Booting device invalidbootmedia not found Booting from device failed </pre> Here we know the device is signed because it's a "HS device". If it was not signed it would print "GP device" instead. h3. Using the Android version or other devices properties? "hpagseddy/i9100g_xloader":https://github.com/hpagseddy/i9100g_xloader is based on "ths-backup/i9100g_xloader":https://github.com/ths-backup/i9100g_xloader which has an ics (Icecream Sandwitch, an Android version) branch only. According to hpagseddy, that branch is also used for Android Jelly brean. It's still unclear if there is some correlation between Android version and signed bootloaders. The device that was given to [[People#Denis-GNUtoo-Carikli|GNUtoo]] that has a signed bootloader also has the following characteristics: *Software state*: Running the stock OS, unmodified *Android version*: Android 2.3.6 *Baseband version*: IG9100GZCLC2 *Build number*: GINGERBREAD.ZCLC2 *Kernel version*: 2.6.35.7 se.infra@SEI-30#2 According to "a thread on XDA":https://forum.xda-developers.com/galaxy-s2/development/bootloader-t1754158 there is a corelation between the @Baseband version@ and the geographic zone that is targeted. While the list of baseband versions is incomplete, we can still use it to avoid the Chinese version (CHN_CHN) which has a signed bootloader. At this point it's also still unclear if any of the other characteristics above correlate to signed or unsigned bootloaders. h2. Source code * https://github.com/hpagseddy/i9100g_xloader This got rebuilt and flashed, and it worked on the device it was tested on. * https://blog.the-leviathan.ch/?p=408 h2. TODO * Document the various firmware version mentioned here: https://www.sammobile.com/samsung/galaxy-s2/firmware/#GT-I9100G * Understand how to get unsigned versions (Android version, serial number, etc) * Get a device with an unsigned bootloader and u-boot and ask samsung for source code * Check the boot order on unsigned devices (is it possible to boot from USB easily?) * Try to boot the xloader nevertheless, as the device could be in some "verify but not enforce mode" for signatures