ZET Open firefox OS 1.2 刷机

最近实验室购买了一个中兴的设备: ZTE Open ,可是我的ZTE Open的系统版本是firefox 1.0。 但是firefox 26app manager支持的系统版本至少是firefox OS 1.2以上的版本。Firefox OS 1.1死活链接不上。 因此,迫于无奈,只能想办法升级我的设备系统了。

首先想到的便是寻找现成的ROM 进行刷机。从网上找了很多ROM, 可是刷机都不成功。没办法,无奈之下只能自己编译firefox OS 代码进行刷机了。


为避免刷机失败,或者把手机刷成砖头。 刷机之前的前序工作还是要做的。

第一便是要把手机root 掉。 root手机的方法很多,网上的一些安卓的root工具貌似有的可以直接用,我当时好像是用一个叫root大师的软件搞定的。

看论坛上还有一个方法,这个方法好像也可以用:

下载root-zte-open.zip文件包,解压缩后就执行 ./run.sh。(网址:http://pan.baidu.com/s/1MaoV


当然,要打开手机的开发者模式,adb可以链接得上才行:

settings → Screen lock → Lock Screen → disable

settings → Device information → More Information → Developer → Remote debugging (选择)

settings → Device information → More Information → Developer → Console enabled (选择)


接着要给手机安装一个recovery,备份手机当前系统,以避免刷机失败后可以进行恢复:


下载recovery-clockwork-6.0.3.3-roamer2.img,然后放到SD卡的根目录后执行下列命令

(http://pan.baidu.com/s/11QvLI

运行:adb shell flash_image recovery /sdcard/cwm.img

如果上述指令运行失败,则可以进入adb shell 之后再su 使用root权限执行:

flash_image recovery /sdcard/cwm.img

运行成功之后,此时recovery边安装好了。

接着进入Recovery的方式是在关机状态下按着音量键上 + 电源键 不放直到进入系统为止
备份系统:
都知道刷机或多或少是有风险的,所以建议用CWM自带的备份功能备份一下系统,以防变砖时可以还原
进入CWM后选择Backup&Restore,然后选择Backup就可以了


接着进行编译系统,然后刷机:

安装编译firefox OS 系统所需要的库文件:

  1. sudo apt-get install –no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip

安装java环境

  1. sudo add-apt-repository ppa:webupd8team/java

  2. sudo apt-get update

  3. sudo apt-get install oracle-java6-installer

  4. sudo apt-get install oracle-java6-set-default

安装adb(也可以下载androidsdk,使用里面的adb):

  1. sudo apt-get install android-tools-adb

USB 串口的一些设置:

  1. sudo echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"' > /etc/udev/rules.d/android.rules

  2. sudo echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/android.rules

上面的 “19d2” 代表中兴手机的usb端口, “18d1” 代表googleusb接口,具体信息可以自己从网上查询。

  1. sudo chmod a+r /etc/udev/rules.d/android.rules

  2. sudo service udev restart

编译环境的设置:

  1. export CC=gcc-4.6

  2. export CXX=g++-4.6

  3. ccache –max-size 3GB

下载firefox OS 源码,此处非常耗时间,大概需要四五个小时以上(可以晚上下载,第二天早上编译)

  1. git config –global user.email xxxx

  2. git config –global user.name "yyyy"

  3. git clone git://github.com/mozilla-b2g/B2G.git

下载完毕,以下进行编译:

  1. cd B2G

指定编译系统的版本,如果不指定,则默认编译为firefox OS 1.3, 在之后的刷机过程中你会遇到很多困难,比如can't write userdata.img, system.img等问题。在此指定系统为1.2版本便可以行的通(本人已经实践过了)

注意:运行下一步骤(config.sh) 时一定要把你的手机链接电脑,因为他会自动帮你做一些备份之类的操作,否则有可能运行失败。

  1. BRANCH=v1.2 VARIANT=user ./config.sh inari

  2. BRANCH=v1.2 VARIANT=user ./build.sh             #注意在此指定编译系统版本, 我在此使用的是1.2版本。

如果上述操作运行完成,边证明你系统编译成功啦。下面就要进行刷机了。(在此提醒希望把手机进行提前备份)

由于自己编译的系统里面没有boot.img,所以需要下载一个boot.img放到刷机文件中, boot.img的下载地址为:http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html 下载boot_adapted_for_zte_open_commercial_editions.img之后 改名为boot.img 放在B2G/out/target/product/inari/boot.img中即可,如下操作:

  1. cp [location of that binary boot.img] out/target/product/inari/boot.img

下面开始真正的刷机,链接上手机,执行:

  1. ./flash.sh

稍等片刻手机边刷机成功。打开手机开机后查看 Device information 手机系统版本便是firefox 1.2系统。

settings → Screen lock → Lock Screen → disable

settings → Device information → More Information → Developer → Remote debugging (选择)

settings → Device information → More Information → Developer → Console enabled (选择)

之后链接firefoxapp manager 便可以链接上了。具体链接firefox 26(及以上版本) 的app manager的方法可以从网上参考其他文档。

如果编译firefox过程中出现错误,可以查看我的另一篇关于firefox OS 编译的文档。

你可能感兴趣的:(ZET Open firefox OS 1.2 刷机)