IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Moto g 救砖升级刷CM小记

    Liu Yutao发表于 2014-07-19 20:57:00
    love 0

    今天感觉自己爽爽哒,完成了我Motorola Moto g的“救砖”之行,还升了级,刷了CyanogenMod,以及现在还在编译CM的android源码,准备自己定制一番。

    一切还得从昨天说起。

    在那个无比蛋疼的昨天,我为了做一个实验,想把我的moto g手机里面系统自带的openssl库给换掉,没想到刚换完一重启,整个手机就灰屏了,怎么都起不来,变成了传说中的“砖头”手机。那把我给郁闷的啊,因为刚开机就挂,adb也连不上,ssl库也恢复不了,只能想办法重新刷机了。

    其实刷机并不难,但是我走了很多弯路,一开始想在sbf.droid-developers.org/phone.php?device=14下载一个官方底包,但是打开一看有好多版本,毫无头绪地乱点下载了一个,发现验证失败。于是又开始了万能但是漫长的google之行,然后发现一个:

    fastboot getvar all
    

    就能得到你手机的固件信息,然后我发现其实我应该下载Blur_Version.14.85.4.falcon_umtsds.AsiaRetail.en.03,然后就等了好久好久下下来了(这里说一下,falcon其实就是Moto g XT1033的代号)。

    然后我按照这里的步骤(传说中的“MOTO G 官方救砖升级教程”哦),但是发现还是他妈的验证不过。。。

    我想死的心都有了,但是哥的日子还长着呢,哥当然不能现在死啊,于是继续google,我发现如果要手动一步一步刷机的话,第一步就是:

    fastboot flash partition gpt.bin
    

    然后我发现这个包解压出来的这一步就不通过。。。突然我想起来我之前在胡乱下包的时候从这里下了一个Android 4.4.2 KitKat的固件包Blur_Version.14.85.4.falcon_umtsds.AsiaRetail.en.03,记得当时执行这条命令好像是可以通过的。

    于是抱着活马当作死马医的念头,我就把这里的gpt.bin换到了之前的官方底包里面,运行:

    ./flashall.sh
    

    竟然成功了,而且成功启动起来了!!!!

    但是,总有一个但是,系统起来后发现wifi连接的时候不懂为什么,密码框一直没法激活,我也不管那么多了,现在的这个官方底包好像是4.3的系统,而那个Blur_Version.14.85.4.falcon_umtsds.AsiaRetail.en.03是4.4.2 KitKat系统,于是我就直接再按照这里的做法把系统升级了,然后,就一切都迎刃而解了!


    之后我还是希望能自己编译源码安装(现在有一种控制欲,总是希望自己能控制源码!),于是就选择了CyanogenMod,至于什么是CyanogenMod,可以看我之前写的一篇博客。

    说句题外话,我发现CM的官方文档写得真是认真,很多地方都试图把概念解释的很清楚,希望没有太多背景的人也能看懂,太佩服他们了!

    在编译源码之前,我先尝试了下直接安装Nightly包,方法特别简单,可以参照这里,如果熟悉的人可以直接操作下面的步骤:

    • 解锁Unlock(这个就不说了,直接参照这里的步骤吧)

    • 刷Recovery包:先在这里下载CWM-swipe-6.0.4.7-falcon.img,然后将手机重启到bootloader模式,把recovery包刷进去:

      adb reboot bootloader fastboot flash recovery CWM-swipe-6.0.4.7-falcon.img

    再进入Recovery选项(怎么进这里就不说了,直接看文档吧)

    • 在这里下CM的包,我下的是cm-11-20140719-NIGHTLY-falcon.zip.

    • 继续进入ClockworkMod Recovery模式,先wipe data/factory reset,然后install zip > install zip from sideload,在电脑上运行:

      adb sideload cm-11-20140719-NIGHTLY-falcon.zip

    然后就搞定了。

    my cm

    编译源码:

    具体可以看这个文档,讲的特别详细。不过中间有一个地方需要提一下,我在按照这里讲的方法操作的时候会遇到一个问题,就是它一直找不到vendor/motorola/falcon/falcon-vendor.mk这个文件,于是我在这个github上下了个falcon文件夹,然后复制到vendor/motorola目录下,就可以了,简单来说,流程是这样的:

    • 安装环境(这个不讲了,直接安装文档上装sdk,adb,fastboot,以及一系列apt-get就可以了。

    • 下载CyanogenMod-android源码:

      mkdir -p ~/bin
      PATH=~/bin:$PATH
      curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
      chmod a+x ~/bin/repo
      mkdir -p ~/android/system
      cd ~/android/system/
      repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
      repo sync
      

    等了好几个小时才下好,下了10多G吧。

    • 继续前期准备:

      cd ~/android/system/vendor/cm
      ./get-prebuilts
      cd ~/android/system/
      source build/envsetup.sh
      breakfast falcon
      

    在这里就会遇到我之前说的找不到falcon-vendor.mk的错误,按照之前的做法把这个文件夹补上去就好了。

    • 然后插上手机:

      cd ~/android/system/device/motorola/falcon
      ./extract-files.sh
      
    • 最后开始编译:

      cd ~/android/system
      brunch falcon
      

    然后就坐等编译结束啦!

    • 编译结束之后,会在out/target/product/falcon目录下生成一个recovery.img和一个cm-11-20140719-UNOFFICIAL-falcon.zip文件,只需要和之前安装步骤一样进行安装就好了:先关机,进入bootloader模式,然后刷入recovery.img

      cd ~/android/system/out/target/product/falcon
      fastboot flash recovery recovery.img
      

    然后进入ClockworkMod Recovery,选择install zip > install zip from sideload,在电脑上运行:

      adb sideload cm-11-20140719-UNOFFICIAL-falcon.zip
    

    重启,搞定!

    my cm 2



沪ICP备19023445号-2号
友情链接