ODROID-GO Launcher
The ODROID-GO Launcher is meant to be a frontend for running and installing apps on the ODROID-GO hardware. Not only is this project firmware, but it also is a web service for publishing and hosting apps.
Git Repository: https://gitlab.jkent.net/odroid-go/golauncher.git
Some notes about apps
Apps can fit in 2 MiB and 4 MiB slots. If a 4 MiB slot is taken, both 2 MiB slots are reserved.
Apps are registered with a UUID. Slot to app UUIDs mappings are stored in non-volatile storage (nvs). Apps also get a folder on microsd using the UUID as a name.
Flash partition layout | ||
---|---|---|
Name | Offset | Length |
bootldr | 0x1000 | 60 KiB |
parttable | 0x10000 | 4 KiB |
nvs | 0x11000 | 48 KiB |
otadata | 0x1D000 | 8 KiB |
phy_init | 0x1F000 | 4 KiB |
launcher | 0x20000 | 2 MiB |
app_a | 0x220000 | 2 MiB |
app_b | 0x420000 | 2 MiB |
app_c | 0x620000 | 2 MiB |
app_d | 0x820000 | 2 MiB |
app_e | 0xA20000 | 2 MiB |
app_f | 0xC20000 | 2 MiB |
app_ab | 0x220000 | 4 MiB |
app_cd | 0x620000 | 4 MiB |
app_ef | 0xA20000 | 4 MiB |
coredump | 0xE20000 | 64 KiB |
storage | 0xE30000 | 1856 KiB |
Note there is a special slot for the launcher. Launcher upgrades happen in two steps: first the new launcher is OTA one of the 2 MiB slots. Then the new launcher is booted and it then copies itself to the launcher slot.