GT-I9100G Bootloader Interface


On the devices we looked at, the first stage is a signed xloader, and there is some source code for it, so we might manage to find full and corresponding source code for some versions of the xloader having been shipped on the devices.

It most probably go fetch the second stages from the SBL1 partition.

Here's the output of the bootloader on UART at boot:

Texas Instruments X-Loader 1.41 (Mar 20 2012 - 11:20:26)
Uboot-loading from Emmc
Starting OS Bootloader from EMMC ...

Note that all the strings here are from xloader, and that we didn't find any traces of u-boot anywhere yet.
As xloader is typically used to boot u-boot, Samsung probably didn't bother to change the "Uboot-loading from Emmc" string when using it with another second stage.

We didn't manage to find how to get a shell in this bootloader yet.

Issues with heimdall with the Android 2.3.6 bootloader on I9100G_CNH_CHN

On some laptops or desktops, heimdall works fine, while on some other it doesn't. The issue is that if heimdall doesn't work, your device could be stuck in "pc screen" mode, and you might not be able to recover from it.

On the following laptop it worked fine:
  • Thinkpad X200 which has USB2
  • Coreboot 4.9 without any nonfree firmware or microcode
  • Parabola i686 with linux-x86_64 kernel
On the following desktop heimdall didn't work, which made the device stuck in "pc screen" mode:
  • Asus F2A85M PRO
  • That mainboard has USB3 but is seen as USB2 due to not using nonfree firmwares for it in Coreboot.
  • Coreboot 4.10 without nonfree firmwares or microcode beside the builtin SMU firmware or the GPU video BIOS that comes from the GPU.
  • Parabola x86_64
It might be related to
  • USB timings
  • The fact that the coreboot port is unfinished on the F2A85M-PRO
  • The fact that the nonfree firmware/fpga binary for the USB3 on the F2A85M-PRO weren't used.

Updated by Denis 'GNUtoo' Carikli 7 months ago · 8 revisions