Coder Social home page Coder Social logo

b2g-flash-tool's Introduction

Script tools for B2G project

flash_pvt.py

The flash_pvt.py is a flash tool for B2G PVT builds which is written by Python.

Usage helper:

$ ./flash_pvt.py --help

PREREQUISITE

Linux or MAC You will need adb and fastboot installed on your machine.

Android-SDK can be downloaded from http://developer.android.com/sdk/index.html

Require git installed. Require Python installed. Optional, Python Tkinter installed for interactive mode. In ubuntu:

sudo apt-get install python-tk

In fedora:

sudo yum install tkinter

GUI Mode

$ ./flash_pvt.py -w

Flash in Command Line

Usage: flash_pvt.py [-h] [-v VERSION] [-d DEVICE] [-s SERIAL] [-f] [-g] [-G]
                    [--usr] [--eng] [-b BUILD_ID] [-w] [-u USERNAME]
                    [-p PASSWORD] [--dl_home DL_HOME]

B2G Flash Tool by TWQA

optional arguments:
  -h, --help            show this help message and exit
  -v VERSION, --version VERSION
                        target build version
  -d DEVICE, --device DEVICE
                        target device codename
  -s SERIAL, --serial SERIAL
                        directs command to device with the given serial number
  -f, --full_flash      flash full image of device
  -g, --gaia            shallow flash gaia into device
  -G, --gecko           shallow flash gaia into device
  --usr                 specify user build
  --eng                 specify engineer build
  -b BUILD_ID, --build_id BUILD_ID
                        specify target build YYYYMMDDhhmmss
  -w, --window          interaction GUI mode
  -u USERNAME, --username USERNAME
                        LDAP account (will load from .flash_pvt file if
                        exists)
  -p PASSWORD, --password PASSWORD
                        LDAP password (will load from .flash_pvt file if
                        exists)
  --dl_home DL_HOME     specify download forlder
  --keep_profile        keep the user profile (BETA)

For example, flash the Gaia and Gecko of mozilla-central Flame latest Engineer build:

 $ ./flash_pvt.py -d flame -v central --eng -g -G

Keep User Profile

If you want to keep your profile on the phone, you can enable this feature by command line or by GUI.

 $ ./flash_pvt.py {YOUR_OPTIONS} --keep_profile

Flash without downloading again

If you want to flash other phones without download again, the screen will show you the commands to help you flash again.

ex:
 ### INFO: !!NOTE!! Following commands can help you to flash packages into other device WITHOUT download again.
 ./shallow_flash.sh -y -gpvt/mozilla-central-flame-eng/latest/gaia.zip -Gpvt/mozilla-central-flame-eng/latest/b2g-33.0a1.en-US.android-arm.tar.gz

LDAP

If you want to skip the step of enter LDAP account, please executing flash_pvt.py once, then filling your LDAP account information into .flash_pvt file.

$ {YOUR_EDITOR} .flash_pvt
{
  "account": "",
  "password": "",
  "download_home": "pvt",
  "base_url": "https://pvtbuilds.mozilla.org/pvt/mozilla.org/b2gotoro/nightly/"
}

Details in mozilla intrawiki

auto_flash_from_pvt.sh (deprecated)

This script was written for download builds from PVT server.

You'll need an LDAP account and accessibility to the folder to access it.

Usage:

Usage: ./auto_flash_from_pvt.sh [parameters]
  -v|--version  the target build version.
  -d|--device   the target device.
  -s <serial number>    directs command to device with the given serial number.
  -f|--full     flash full image into device.
  -g|--gaia     shallow flash gaia into device.
  -G|--gecko    shallow flash gecko into device.
  --usr specify User(USR) build.
  --eng specify Engineer(ENG) build.
  -b|--buildid  specify target build YYYYMMDDhhmmss
  -w            interaction GUI mode.
  -y            Assume "yes" to all questions
  -h|--help     display help.
Environment:
  HTTP_USER={username}  set LDAP account. (you can fill it into .ldap file)
  HTTP_PWD={password}   set LDAP password. (you can fill it into .ldap file)
  UNINSTALL_COMRIL=true         uninstall the com-ril when shallow flash gecko. (Keep com-ril by default)
  DL_HOME={download_dir_home}   specify download folder. Default=./pvt
  USE_LOCAL=false       force download target builds (with Build ID) from PVT server. Default=true
  USE_LOCAL_LATEST=true do not download Latest builds from PVT server. Default=false
Example:
  Flash by interaction GUI mode                         ./auto_flash_from_pvt.sh -w
  (Linux) Flash inari v1.2.0 ENG image                          ./auto_flash_from_pvt.sh --version=v1.2.0 --device=inari --full --eng
  (Mac)   Flash inari v1.2.0 ENG image                          ./auto_flash_from_pvt.sh --version v1.2.0 --device inari --full --eng
  (Linux) Flash buri master USR build 20131116040201 gaia/gecko ./auto_flash_from_pvt.sh -vmaster -dburi -b20131116040201 -g -G --usr
  (Mac)   Flash buri master USR build 20131116040201 gaia/gecko ./auto_flash_from_pvt.sh -v master -d buri -b 20131116040201 -g -G --usr

Note:

If you are MAC OS X User, and got the error while trying to get the build from server.

Connecting to path.to.server|xxx.xxx.xxx.xxx|:443... connected.
ERROR: The certificate of 'path.to.server' is not trusted.
ERROR: The certificate of 'path.to.server' hasn't got a known issuer.
Download https://path.to.server/xxx/xxx/xxx.zip failed.

Please do the following steps to fix the wget problem, and try again.

sudo port install curl-ca-bundle
echo CA_CERTIFICATE=/opt/local/share/curl/curl-ca-bundle.crt >> ~/.wgetrc

auto_flash_from_twci.sh

This script was written for download builds from TW-CI server.

Usage:

Usage: ./auto_flash_from_twci.sh [parameters]
  -v|--version  the target build version.
  -d|--device   the target device.
  -s <serial number>    directs command to device with the given serial number.
  -f|--full     flash full image into device.
  -g|--gaia     shallow flash gaia into device.
  -G|--gecko    shallow flash gecko into device.
  -w            interaction GUI mode.
  -y            Assume "yes" to all questions
  -h|--help     display help.
Environment:
  UNINSTALL_COMRIL=true         uninstall the com-ril when shallow flash gecko. (Keep com-ril by default)
Example:
  Flash by interaction GUI mode         ./auto_flash_from_twci.sh -w
  (Linux) Flash wasabi v1.2.0 image             ./auto_flash_from_twci.sh -vv1.2.0 -dwasabi -f
  (MAC)   Flash wasabi v1.2.0 image             ./auto_flash_from_twci.sh -v v1.2.0 -d wasabi -f
  (Linux) Flash nexus4 master gaia/gecko        ./auto_flash_from_TWCI.sh --version=master --device=nexus4 -g -G
  (MAC)   Flash nexus4 master gaia/gecko        ./auto_flash_from_TWCI.sh --version master --device nexus4 --gaia --gecko

backup_restore_profile.sh

This script was written for backup and restore user profile.

Usage:

Usage:
  -b|--backup   backup user profile.
  -r|--restore  restore user profile.
  -p|--profile-dir      specify the profile folder. Default=./mozilla-profile
  -h|--help     display help.

change_ota_channel_pref.sh

Setup a FxOS device for QA by forcing the 'nightly' update channel

Usage:

Help:
     -d <device>  : specify a device (leo, hamachi, helix, inari) to update
     -v <version> : version to update to ( 1.3.0, 1.2.0, 1.1.1)
     -h : this help menu

change_ota_url.sh

This script is used to change OTA update URL to a local or a specific URL.

Usage:

-h, --help      Show usage.
-p              Show prefs file of device.
-u, --url       The update.xml URL.

Example:

Change the OTA update URL to http://update.server/update.xml.

./change_OTA_URL.sh --url http://update.server/update.xml

check_versions.sh

Checking the version of B2G on devices.

Please make sure your devices can be detected by ADB tool.

Usage:

-s <serial number>            - directs command to the USB device or emulator with
                                 the given serial number. Overrides ANDROID_SERIAL
                                 environment variable.
-h | --help                   - print usage.

Example:

Check version with serial number parameter

./check_versions.sh -s serialnumber

Check version with environment variable

ANDROID_SERIAL=serialnumber ./check_versions.sh

download_desktop_client.sh

This script was written for download last desktop from server.

Visit MDN: Using the B2G desktop client for more detail information.

Parameters:

There are three os platform l32 (linux 32bit), l64 (linux 64bit) and mac.

And you can run ./download_desktop_client.sh -v to get the supported versions.

Usage: ./download_desktop_client.sh [parameters]
-o|--os         The target OS. Default: linux64
                show available OS if nothing specified.
-v|--version    The target build version. Default: master
                show available version if nothing specified.
-d|--decompress Decompress the downloaded build.
-h|--help       Display help.
Example:
  B2G v1.2.0 Linux 32bit build. ./download_desktop_client.sh --os=l32 --version=120
  B2G v1.1.0 Linux 64bit build. ./download_desktop_client.sh -ol64 -v110
  B2G master Mac build. ./download_desktop_client.sh -omac

get_crashreports.sh

This is to get the crash reports of submitted/pending.

It will get reports under /data/b2g/mozilla/Crash Reports/ on device.


install_comril.sh

This script was written for uninstall/install com-ril.

Usage:

Usage: ./install_comril.sh [parameters]
  -u|--uninstall        uninstall the com-ril.
  -r|--ril      install the com-ril from the file.
  -d|--ril-debug        turn on ril debugging.
  -s <serial number>    directs command to device with the given serial number.
  -y            Assume "yes" to all questions
  -h|--help     display help.


shallow_flash.sh

This script was written for shallow flash the gaia and/or gecko.

Usage:

Usage: ./shallow_flash.sh [parameters]
-g|--gaia       Flash the gaia (zip format) into your device.
-G|--gecko      Flash the gecko (tar.gz format) into your device.
--keep_profile  Keep the user profile on your device. (BETA)
-s <serial number>      directs command to device with the given serial number.
-y              flash the file without asking askeing (it's a joke...)
-h|--help       Display help.
Example:
  Flash gaia.           ./shallow_flash.sh --gaia=gaia.zip
  Flash gecko.          ./shallow_flash.sh --gecko=b2g-18.0.en-US.android-arm.tar.gz
  Flash gaia and gecko. ./shallow_flash.sh -ggaia.zip -Gb2g-18.0.en-US.android-arm.tar.gz

update_system_fonts.sh

Update the system fonts of B2G v2.1 (Bug 1032874).

Usage:

Usage: ./update_system_fonts.sh

b2g-flash-tool's People

Contributors

askeing avatar bkerensa avatar conjuror avatar davehunt avatar digitarald avatar jhford avatar johanlorenzo avatar justindarc avatar khuey avatar nbp avatar nhirata avatar stevealee avatar ypwalter avatar zapion avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.