Boot to Gecko Introduction
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,001
On Slideshare
2,001
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
59
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Mozilla Boot to Gecko 平台技術概況陳鵬宇 (float)<a13524000@gmail.com> May 19, 2012/MOSUT
  • 2. 什麼是 Boot to Gecko(B2G)● Mozillas open source mobile operating system based on Linux and Mozillas Gecko technology.MOSUT 2
  • 3. 概念● The idea is essentially to have all user- accessible software running on the phone be a Web app that uses advanced HTML5 techniques and device APIs to access the phones hardware directly via JavaScript.MOSUT 3
  • 4. 系統介紹● Gaia● Gecko● GonkMOSUT 4
  • 5. Gaia● The user interface of b2g. Everything drawn to screen after b2g starts up is some part of Gaia. Gaia implements a lock screen, home screen, telephone dialer, text-messaging application, camera app, ... and many more.MOSUT 5
  • 6. Gaia● Gaia is written entirely in HTML, CSS, and JavaScript. Its only interface to the underlying operating system is through Open Web APIs, which are implemented by Gecko. Gaia works well when run on top of b2g; however, since it only uses standard web APIs, it works on other OSes and in other web browsers.MOSUT 6
  • 7. GaiaMOSUT 7
  • 8. 可能會有人想問MOSUT 8
  • 9. 可能會有人想問 為什麼只有一張圖?MOSUT 9
  • 10. 因為 ... 改版了MOSUT 10
  • 11. MOSUT 11
  • 12. Gecko● The "application runtime" of b2g. At a high level, Gecko implements the open standards for HTML, CSS, and JS and makes those interfaces run well on all the OSes that Gecko supports.MOSUT 12
  • 13. Gonk● The lower-level "operating system" of b2g. Gonk consists of a linux kernel and userspace hardware abstraction layer (HAL).MOSUT 13
  • 14. …...... Gaia Web app Gecko b2g Gonk kernelMOSUT 14
  • 15. 比較MOSUT 15
  • 16. Boot Boot Loader Kernel initMOSUT 16
  • 17. Userspace process architectureMOSUT 17
  • 18. Gecko: Processing input events● input-device drivers● Gonk app shell● EventHub● DOMMOSUT 18
  • 19. Gecko: Graphics● At the very lowest level, Gecko uses OpenGL ES 2.0 to draw to a glcontext that wraps the hardware framebuffers.● Gecko draws directly to VRAM.MOSUT 19
  • 20. MOSUT 20
  • 21. Web app● Web apps are apps built using standard Web technologies.● manifest.jsonMOSUT 21
  • 22. manifest.json https://developer.mozilla.org/en/Apps/ManifestMOSUT 22
  • 23. Intsall app● navigator.mozApps.install(manifestURL) or● Put app in gaia/apps/● make install-gaiaMOSUT 23
  • 24. Marketplace https://marketplace.mozilla.org/MOSUT 24
  • 25. DemoMOSUT 25
  • 26. MOSUT 26
  • 27. Run B2GMOSUT 27
  • 28. Firefox Nightly + gaia http://alivedise.github.com/blog/2012/05/05/gaia/MOSUT 28
  • 29. Emulator ● QEMU Emulatorhttp://www.figuiere.net/hub/blog/?2012/03/13/818-building-b2g-on-fedora-field-notes MOSUT 29
  • 30. Device● Samsung Galaxy S2● Samsung Nexus SMOSUT 30
  • 31. Reference● https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko● https://wiki.mozilla.org/B2G/Architecture● http://pydoing.blogspot.com/2010/12/javascript-example.html● http://mozlinks-zh.blogspot.com/2012/05/gaia-mozilla-b2g.html● http://www.slideshare.net/robhawkes/mdn-hackday-london-boot- to-gecko-the-future-of-mobileMOSUT 31
  • 32. Thank you Question?MOSUT 32