B2G/Architecture: Difference between revisions

From MozillaWiki
< B2G
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:


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.
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.
== Terminology ==


== Booting ==
== Booting ==

Revision as of 08:34, 13 February 2012

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.

Terminology

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.

Kernel (Linux)