fxosbuilds v0.0.1
FxOSBuilds cli installer
CLI installer to manage/install/update/download builds from FxOSBuilds site. 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)
Shallow flash?
+-----------+
| ⊙ |
-------------
| |
| Gaia | ] ]
| ------- | ]- Shallow flash ]
| Gecko | ] ]- Base image flash
| ------- | ]
| Gonk | ]
| |
|-----------|
| ⊙ |
+-----------+We just flash only Gaia and Gecko.
Why shallow updates and not full updates?
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, those proprietary bits (blobs) has copyright. So, thats why we cannot distribute full updates to be installed by CWM or Fastboot.
Thank you copyright :)
What are the alternatives?
- Build Gecko and Gaia from source and flash them on your phone.
Dependencies
Installation
Use the fxosbuilds command as global NPM command:
> npm install -g fxosbuildsHow my device is named?
Check the table and remplace with the codename of your device:
+---------------------------+-------------+ | Device | Codename | +-------------+-------------+-------------+ | ZTE Open | inari | | Alcatel One Touch Fire | hamachi | | LG Fireweb | leo | | Huawei Y300 | helix | | inFocus Tablet | flatfish | +---------------------------+-------------+
Usage:
- Ej: Your device is a ZTE Open
> fxosbuild inari- Ej: Your device is an Alcatel One Touch Fire
> fxosbuild hamachi- Ej: Your device is a inFocus Tablet
> fxosbuild flatfishUsage
> fxosbuilds --help
Flash/Update your Firefox OS devices from FxOSBuilds public build server (http://downloads.firefoxosbuilds.org/).
Usage: fxosbuilds [device] [channel]
Examples:
fxosbuilds inari stable Flash a inari with stable build.
fxosbuilds inari --folder ~/ Flash a inari with a nightly build (downloaded to ~/)
fxosbuilds inari --folder ~/ --local Flash a inari device with a previously downloaded build in ~/.
fxosbuilds hamachi aurora --eng Flash an hamachi device with an aurora engineering build.
Options:
--device, -i Device (flame, helix, hamachi, …) [default: "flame"]
--channel, -c Channel (central, aurora, 1.4, …) [default: "central"]
--date, -t Build date (regression window testing) [default: "latest"]
--eng, -e Engineering build (marionette testing)
--local, -l Use local files, skipping FTP
--profile, -p Keep profile (no promises)
--remotify, -r Set device into development mode
--help Show this helpSettings for --remotify
Making life easy for developers (read: not for consumers!). This does not enable remote debugging but also all the little hidden preferences that make development easier, like disabling lockscreen (which would prevent remote debugging) or the 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
Thanks
This cli was inspired on the digitarald work. Many thanks to him and his idea to wrap scripts with nodejs.
11 years ago