B2G/Architecture
< B2G
Jump to navigation
Jump to search
This document describes at a high level how Gaia and B2G work in the port of Gecko to Gonk. If you don't know what these things are yet, don't worry, they'll be introduced below.
Gaia/B2G/Gecko are under heavy development, so some items below discuss how the code will work, instead of how it currently works. This will be noted.
Booting
After turning on a b2g phone, execution starts in the primary bootloader. From there, the process of loading the main OS kernel happens in the usual way: a succession of higher-level bootloaders bootstrap the next loader in the chain. At the end of the process, execution is handed off to the linux kernel.
There's not a lot to say about the boot process, but there are a few things worth knowing
- The bootloaders usually show the first "splash screen" seen during device boot, which usually displays a vendor logo.
- The bootloaders implement flashing an image onto the device. Different devices use different protocols. Most phones use the fastboot protocol, but the Galaxy S II uses the "odin" protocol.
- By the end of the bootstrapping process, the modem image is usually loaded and running on the modem firmware. How this happens is highly device-specific and possibly proprietary.