h1. BootloaderStatus {{toc}} h2. Bootloader status |_. Formfactor |_. Vendor |_. Product |_. signatures |_. Source code |_. u-boot status |_. Verdict | |/6.Smartphone |/6.Samsung | Galaxy S - i9000 | The bootloader is probably signed | "downstream u-boot":https://github.com/xc-racer99/u-boot-galaxys4g/ | * u-boot mainline was placed in BL2, copying much of the bootloader work done on the i9300 and n7100 * That u-boot also supports being installed in place of the Linux kernel, leaving the stock bootloader in place | * Probably signed * The port to run instead of the Linux kernel seem interesting as it could be used on "midas" to disable the MMU and caches | | "Galaxy S 2 - I9100":https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 | Signed, see "emulating-exynos-4210-bootrom-in-qemu.html":https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html | downstream u-boot: * "Sekilsgs2/i9100-uboot":https://github.com/Sekilsgs2/i9100-uboot * "Talustus/i9100-uboot":https://github.com/Talustus/i9100-uboot * "onny/i9100-uboot":https://git.project-insanity.org/onny/uboot-i9100 * "TALUAtGitHub/i9100-uboot":https://github.com/TALUAtGitHub/i9100-uboot * "uboot-bootloader-true-multiboot-t1680898":https://forum.xda-developers.com/galaxy-s2/general/uboot-bootloader-true-multiboot-t1680898 upstream u-boot for devices with same SoC: "origen":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/origen_defconfig "smdkv310":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/smdkv310_defconfig "s5pc210":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/s5pc210_universal_defconfig "trats":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/trats_defconfig | * "xda post about i9100-uboot":https://forum.xda-developers.com/galaxy-s2/general/uboot-bootloader-true-multiboot-t1680898 * How do the downstream u-boot boot (After BL1? As kernel?) * Are there other u-boots? (look on common git hosting providers) | ? | | "Galaxy SIII - I9300":https://redmine.replicant.us/projects/replicant/wiki/GalaxyS3I9300 |/7. * The first stage is signed. * The stock first stage checks the second stage signatures. * A signed first stage that doesn't enforce subsequent signatures exists but it's nonfree and non-redistributable|/4. "downstream u-boot for the second stage":https://github.com/fourkbomb/u-boot. This was "submitted upstream":http://u-boot.10912.n7.nabble.com/PATCH-0-7-Exynos4412-SPL-support-td341181.html but it broke the "Odroid U3":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/odroid_defconfig, so the code was probably not merged because of that. * TODO: Make sure it works on the "Odroid U3":https://gitlab.denx.de/u-boot/u-boot/blob/master/configs/odroid_defconfig and resubmit upstream |/4. * That u-boot version is meant to be used in combination with a nonfree and non-redistributable first stage bootloader. * This combination doesn't load the nonfree TrustZone OS * Replicant 9 can run on devices with this bootloader, but the current Replicant 6 kernel expects a TrustZone OS to work. |/7. * We need to find a way to completely replace the first bootloader stage (BL1) as the one that is used to run u-boot is nonfree and non-redistributable. * More details on that issue can be found in the [[Exynos4_Bootrom]] wiki page. | | "Galaxy SIII 4G - I9305":https://redmine.replicant.us/projects/replicant/wiki/GalaxyS3I9305 | | "Galaxy Note 2 - N7100":https://redmine.replicant.us/projects/replicant/wiki/GalaxyNote2N7100 | | "Galaxy Note 2 4G - N7105":https://redmine.replicant.us/projects/replicant/wiki/GalaxyNote2N7105 | |/2.Tablet |/2.Samsung | "Galaxy Note 8.0 - N51XX":https://redmine.replicant.us/projects/replicant/wiki/GalaxyNote80N51xx | ? |/2. Has the same System On a Chip (SOC) as the Galaxy SIII and Note 2, the Exynos4412, but slightly modified u-boot might need to be written. Testing needed. | | "Galaxy Note 10.1 - N8000":https://redmine.replicant.us/issues/1946 | "SD Card Boot Touch Point":http://forum.gsmhosting.com/vbb/f609/need-sdc-boot-tp-n8000-1921507/ | | Camera | Samsung | "Galaxy Camera 2 - EK-GC200":https://en.wikipedia.org/wiki/Samsung_Galaxy_Camera_2 | ? | "First Exynos4412 Samsung device to get u-boot support":https://www.xda-developers.com/samsung-galaxy-camera-gets-open-source-bootloader/ in 2012 | | Smartphone | Google and Samsung | "Galaxy Nexus - I9250":https://redmine.replicant.us/projects/replicant/wiki/GalaxyNexusI9250 | | "downstream u-boot for the second stage":http://ksyslabs.org/ukernels/gnex_uboot/ | | | Smartphone | LG | "Optimus Black":https://redmine.replicant.us/projects/replicant/wiki/OptimusBlack |/5. unsigned | "upstream u-boot":https://git.denx.de/?p=u-boot.git;a=blob;f=configs/sniper_defconfig | no display(no driver), very few peripherals but enough to be usable | | | Tablet | Amazon | Kindle Fire (first generation) | "upstream u-boot":https://git.denx.de/?p=u-boot.git;a=blob;f=configs/kc1_defconfig | | | |/3. Smartphone |/3. | GTA04 A3 |/3. "downstream u-boot and xloader":http://projects.goldelico.com/p/gta04-uboot/ |/3. |/3. | | GTA04 A4 | | GTA04 A5 | | Smartphone | Nokia | N900 | The bootloader is signed | "Upstream u-boot":https://gitlab.denx.de/u-boot/u-boot/raw/master/configs/nokia_rx51_defconfig | * Xloader which is the first stage bootloader is signed and loads a nonfree second stage bootloader which is called NOLO. | * The upstream u-boot is to be installed in the kenrel partition and runs instead of Linux. A similar implementation could also be used on midas to disable caches and the MMU and have generic images |