This is an archived page. It's not actively maintained.

B2G OS

Develop apps for Firefox OS

Firefox OS is the mobile operating system developed by Mozilla, based on Linux and Firefox's powerful Gecko rendering engine.

Firefox OS is open source software that allows developers to harness the power and flexibility of the Web to create advanced end-user applications. The entire user interface is a web app, which can display and launch other apps. A Firefox OS web app is made with HTML, CSS, and JavaScript. In addition, Firefox OS web apps have access to the device hardware and services via an Application Programing Interface (API).

From a product perspective, Firefox OS is Mozilla's (and our OEM partners') branding and support services applied on top of Boot to Gecko (B2G), which is the operating system's engineering codename. Boot to Gecko is developed by a team of engineers inside Mozilla plus many external contributors from the wider Mozilla/open source community.

Head over to our App Center for all the information you could possibly need on building open web apps that can be installed on Firefox OS !

Platform guides

Guides for platform developers on how the different components of the Firefox OS platform fit together and work.

Build & install

Guides covering building and installing Firefox OS on an emulator, compatible device, or desktop simulator.

Developer phones

Information on specific developer phones, such as tweaking, updating, recovering, and  buying.

Get started with Firefox OS add-ons

Firefox OS add-ons are new in Firefox OS 2.5! To start developing add-ons and getting involved in the add-ons community, read Getting started with Firefox OS add-ons.

Note: We are keeping track of ongoing work on Firefox OS documentation on our Firefox OS documentation status page. If you want to help contribute to Firefox OS documentation, please have a look at this page to see what work needs tweaking!

  1. Introduction
  2. Platform guide
    1. Platform guide overview
    2. Architecture overview
    3. Apps architecture
    4. Gonk
    5. Gecko
    6. Gaia
    7. Gaia apps guide
    8. Security
      1. The Firefox OS security model
      2. System security
      3. Application security in Firefox OS
      4. Securely installing and updating applications
    9. Out of memory management on Firefox OS
    10. Feature support chart
    11. Settings list
  3. Build and install
    1. Build and install overview
    2. Firefox OS build process summary
    3. Build prerequisites
    4. Preparing for your first build
    5. Building Firefox OS
    6. Building Firefox OS for flame on OSX
    7. Choosing how to run Gaia or Firefox OS
    8. Building the Firefox OS simulator
    9. Using the Firefox OS emulators
    10. Installing Firefox OS on a mobile device
    11. Creating and applying Firefox OS update packages
    12. Building and installing FOTA community builds
    13. B2G build variables reference sheet
  4. Developing Firefox OS
    1. Developing Firefox OS overview
    2. Filing bugs against Firefox OS
    3. Modifying the hosts file
    4. Customization with the .userconfig file
    5. Customizing the b2g.sh script
    6. Porting Firefox OS
  5. Developing Gaia
    1. Developing Gaia overview
    2. Running the Gaia codebase
    3. Understanding the Gaia codebase
    4. Making Gaia code changes
    5. Testing Gaia code changes
    6. Submitting a Gaia patch
    7. Gaia build system primer
    8. Customizing build-time apps
    9. Market customizations guide
    10. Customizing the keyboard in Firefox OS apps
    11. Localizing Firefox OS
    12. L10n Best Practices
    13. Make options reference
    14. Gaia tools reference
  6. Firefox OS add-ons
  7. Firefox OS phone guide
    1. Firefox OS phone guide overview
    2. Phone and device specs
    3. Geeksphone
    4. ZTE OPEN
    5. ZTE OPEN C
    6. Flame
    7. General device features
    8. Troubleshooting
    9. Best practices for open reference devices
  8. Firefox OS on TVs and connected devices
    1. TVs and connected devices overview
    2. How to get started with TV apps development
    3. How to connect WebIDE to TV (VIERA CX/CR series)
    4. TV broadcast streams on Firefox OS products
    5. Web animations on large screens
    6. Implementing TV remote control navigation
    7. Firefox OS for TV UX Overview
  9. Firefox OS release notes
    1. Firefox OS release notes overview
    2. Firefox OS 2.2 for developers
    3. Firefox OS 2.1 for developers
    4. Firefox OS 2.0 for developers
    5. Firefox OS 1.4 for developers
    6. Firefox OS 1.3 for developers
    7. Firefox OS 1.2 for developers
    8. Firefox OS 1.1 for developers
    9. Firefox OS 1.0.1 for developers
  10. Automated testing
    1. Firefox OS automated testing overview
    2. Running tests on Firefox OS: A guide for developers
    3. Gaia UI tests
    4. Gaia integration tests
    5. Gaia unit tests
    6. Gaia performance tests
    7. Mochitests
    8. Reftests
    9. WebAPI tests
    10. xpcshell tests
    11. MTBF test
    12. Marionette
    13. Treeherder
  11. Debugging
    1. Firefox OS debugging overview
    2. Developer settings for Firefox OS
    3. Connecting a Firefox OS device to the desktop
    4. Setting up to debug Firefox OS using Firefox developer tools
    5. On-device console logging
    6. Installing and using ADB
    7. Taking screenshots
    8. Using the WebIDE
    9. Firefox OS crash reporting
    10. Debugging out of memory errors on Firefox OS
    11. Debugging and security testing with Firefox OS
    12. Debugging B2G using gdb
    13. Debugging B2G using Valgrind