Project

General

Profile

BootloaderInterfaces » History » Revision 42

Revision 41 (Denis 'GNUtoo' Carikli, 07/09/2020 09:19 PM) → Revision 42/50 (Denis 'GNUtoo' Carikli, 10/29/2020 09:51 PM)

h1. Bootloader interfaces 

 |_. Device                         |_. Bootloader | cmdline from boot.img | cmdline from bootloader environment | Compatible with upstream Linux | Flashing protocols | Image formats | filesystems | 
 | N/A                              | upstream u-boot | ? | Yes | Yes | * DFU 
                                           * Fastboot 
                                           * Thor[1] 
                                           * Other? | * Android Boot.img files 
                                                      * U-boot uImages 
                                                      * RAW / zImage 
                                                      * Other | Yes, various | 
 | N/A                               | upstream Barebox | ? | Yes | Yes | * DFU 
                                            * FAstboot 
                                            * Other? |    * Android Boot.img files ?  
                                                        * U-boot uImages 
                                                        * RAW / zImage 
                                                        * Other | Yes, various | 
 | Galaxy S (GT-I9000)               | [[GTI9000Bootloader]] | | | ? | * Thor[1] | * RAW / zImage | RAW, KERNEL partition only | 
 | Galaxy SII (GT-I9100)             | [[GTI9100Bootloader]] | | | [[BootloadersIncompatibleWithLinux#Devices-with-the-Exynos-4412-2|Probably not]] | * Thor[1] | * RAW / zImage | RAW, ? partition only | 
 | Galaxy SII (GT-I9100G_CHN_CHN)    | [[GTI9100GBootloader]] | | | ? | * Very unreliable[2] Thor[1] | ? | RAW, KERNEL partition only | 
 | Galaxy Nexus (GT-I9250) | [[I9250Bootloader]] | used | ignored | ? | * Reliable[3] Thor[1] 
                                                                        * Fastboot | * boot.img | boot and recovery partitions only | 
 | Galaxy SIII (GT-I9300) 
   Galaxy SIII 4G (GT-I9305) 
   Galaxy Note II (GT-N7100) 
   Galaxy Note II 4G (GT-N7105)      | [[MidasBootloader]]      | ignored | used | [[BootloadersIncompatibleWithLinux#Devices-with-the-Exynos-4412|No]] | * Somewhat reliable[4] Thor[1] | * boot.img | RAW, BOOT and RECOVERY partitions only | 
 | | [[GT-N5100Bootloader]] | | | | | | | 
 | Galaxy Note (GT-N7000)            | [[GTIN7000Bootloader]] |           |        | ? | * Thor[1] | * RAW / zImage | RAW, KERNEL partition only | 
 | Galaxy Tab 2 7.0 GSM (GT-P3100) |                          | ignored |        |     | * Thor[1] | * boot.img       | RAW, KERNEL partition only | 
 | PinePhone v1.1 Braveheart (stock?[5]) u-boot | [[PinePhoneBraveheartBootloader]] | ? | Yes |    Yes (u-boot) | ? | ? | ? | 

 fn1. Thor is the protocol used by Heimdall, Odin, "u-boot":https://gitlab.denx.de/u-boot/u-boot/-/raw/master/drivers/usb/gadget/f_thor.c and several nonfree bootloaders. u-boot has a free software  

 fn2. It didn't work on GNUtoo desktop computer at all, while it worked fine on his laptop. With the stock Android 2.6.3 bootloader you could also end up stuck on the PC screen without a computer where heimdall works fine. 

 fn3. Under IO (disk or SSD) load, a computer can easily flash SYSTEM or even DATA partitions with heimdall. 

 fn4. Under IO (disk or SSD) load, a computer typically fails at flashing SYSTEM or big DATA partitions with heimdall. Boot and recovery partitions are typically fine though. 

 fn5. Someone lent me a Pinephone Braveheart and beside testing many distributions, nothing low level was attempted when I got it. 

 h2. See also 

 * [[UART]]: How to get the serial console. Very useful to interact with the bootloader and see boot logs. 
 * [[IsorecRecoveryIssue]]: An issue affecting the bootloaders of the Galaxy SII (GT-I9100), Galaxy Note (GT-N7000), Galaxy S II (GT-I9100G)