And it gets even better...
It's a lot of things.
- a bootloader (duh?)
- a hardware testing playground
- a fastboot interface
- a learning experience :)
Sure, check the release tab and follow the instructions. Be careful when using the bootloader though, we are not responsible for your actions when you use the bootloader, if you brick cause of it, it is not our fault.
- the canvas family
- the hubble family
- r8s, has no family
We based lk3rd off of Linaro's source code for their Exynos 850 board, which contained code for Exynos 990 as well. Thus, the commit history is a mix of Linaro/Samsung/upstream.
Booting, display (with DECON), UFS and USB. Regulators seem to initialize, and the device is charging.
You may be wondering, how the hell are you booting this? We can't replace our bootloaders! Well, you're right, but we dont replace our bootloaders ;). This flowchart of what happens will show you how we actually boot lk3rd.
flowchart LR
A["Pre S-LK<br> (BootROM, BL1, BL2, etc)"] --> B["S-LK"]
B --> C["Initialise Peripherals, Display and UFS"]
C --> D["Boot from boot partition, which has had a boot image with a payload as kernel (lk3rd)"]
D --> E["lk3rd relocates itself, sets up Peripherals, DECON, USB and UFS, but doesn't use the display, instead using the framebuffer"]
E --> F["Framebuffer is cleared once again, logs and then the fastboot text appears, when fastboot is launched, ready to take commands from the user"]
- Samsung
Making the bootloader
- Linaro
Specifically the 96Boards group, thanks to them we had a base bootloader from Samsung to modify
- BotchedRPR
Did loads of work, rewrote the entire PIT library so we had UFS up and got the bootloader to initially boot
- ExtremeXT
Gave us info on ECT (Exynos Characteristics Table), which helped us boot android
- Get UFS Fully up
- Position independent code
- Booting Android
- Implement fastboot boot (80% done, just need to figure out why fastboot boot on android doesn't work)
Cheers from the Exynos990-Mainline team!