1.0.0 • Published 10 years ago
flash-b2g v1.0.0
Flash B2G
Shallow-flash Gecko and Gaia on Firefox OS devices from Mozilla's public build server with just one command.
What does it do?
- Downloads build, matched by
device,channelanddate, from http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/ - Flash Gecko and Gaia, a so called shallow flash)
What is Shallow Flash?
+-------=---+
| Gaia | ] ]
| ------- | ]- Shallow flash ]
| Gecko | ] ]- Base image flash
| ------- | ]
| Gonk | ]
| |
|-----------|
| ⊙ |
+-----------+Firefox OS has three layers, where most development happens in the Gecko (browser engine) and Gaia (user interface) layers. Gonk and lower contain proprietary bits like hardware drivers and RIL and are therefor not build by Mozilla.
For a full base image flash check Flame software updates on MDN.
What are the alternatives?
- Download Gecko and Gaia from the Mozilla B2G Nightly FTP and use shallow_flash.sh to flash the packages on your phone.
- Build Gecko and Gaia from source and flash them on your phone.
Dependencies
- Node 10.x
- ADB from the Android SDK
Installation
Use the flash-b2g command as global NPM command:
> npm install -g flash-b2gUsage
> flash-b2g --help
Shallow-flash Gecko and Gaia on Firefox OS devices from Mozilla's public build server (http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/).
Usage: flash-b2g [device] [channel=central]
Examples:
flash-b2g flame-kk 2.0 Flash a flame with 2.0 build.
flash-b2g flame-kk --folder ~/ Flash a flame with a nightly build (downloaded to ~/)
flash-b2g flame-kk --folder ~/ --local Flash a Flame device with a previously downloaded build in ~/.
flash-b2g hamachi aurora --eng Flash an Hamachi device with an aurora engineering build.
Options:
--device, -i Device (flame-kk [kitkat base image], flame, helix, hamachi, …)
--channel, -c Channel (central, aurora, 1.4, …) [default: "central"]
--date, -t Build date (for regression window testing) [default: "latest"]
--eng, -e Engineering build (for marionette testing)
--dir, -d Directory to keep downloads (defaults to temp)
--local, -l Use local files, skipping FTP (requires --dir)
--profile, -p Keep profile (no promises)
--remotify, -r Set device into development mode
--only-remotify Skip flashing, only set development mode
--help, -h Show this helpSettings for --remotify
Making life easy for developers (read: not for consumers!). This does not only enable remote debugging but also all the little hidden preferences that make development easier, like disabling lockscreen (which would prevent remote debugging) and the annoying remote debugging prompt.
Preferences
'devtools.debugger.forbid-certified-apps': falseEnable debugging for certified apps'devtools.debugger.prompt-connection': falseDisable prompt for remote debugging'b2g.adb.timeout': 0Disable remote debugging timeout, (bug 874484)'layout.css.report_errors': falseDisable CSS errors in logcat
Settings
'developer.menu.enabled': true'ftu.manifestURL': nullDisable First-Time-User experience'debugger.remote-mode': 'adb-devtools'Enable full remote debugging'screen.timeout': 60010min screen timeout'lockscreen.locked': falseUnlock screen on launch'lockscreen.enabled': falseDisable lockscreen