Nicely Pointed Mandibles

    fxosbuilds

    0.0.1 • Public • Published

    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.

    NPM version Dependency Status

    What does it do?

    1. Downloads build, matched by device, channel and date, from http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/
    2. 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?

    Dependencies

    Installation

    Use the fxosbuilds command as global NPM command:

    > npm install -g fxosbuilds

    How 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 flatfish

    Usage

    > 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 help

    Settings 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': false Enable debugging for certified apps
    • 'devtools.debugger.prompt-connection': false Disable prompt for remote debugging
    • 'b2g.adb.timeout': 0 Disable remote debugging timeout, (bug 874484)
    • 'layout.css.report_errors': false Disable CSS errors in logcat

    Settings:

    • 'developer.menu.enabled': true
    • 'ftu.manifestURL': null Disable First-Time-User experience
    • 'debugger.remote-mode': 'adb-devtools' Enable full remote debugging
    • 'screen.timeout': 600 10min screen timeout
    • 'lockscreen.locked': false Unlock screen on launch
    • 'lockscreen.enabled': false Disable lockscreen

    Thanks

    This cli was inspired on the digitarald work. Many thanks to him and his idea to wrap scripts with nodejs.

    Install

    npm i fxosbuilds

    DownloadsWeekly Downloads

    7

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • gioyik