很久没写东西,来这里除草。

搞过几个android手机,一只HTC Desire,一只Sumsung Galaxy S2 Skyrocket,今天终于把老婆的联通版MB525给烧成了CM9(的某个RC版本)。记录一下,以免以后忘了,也给有意理解如何hack MB525的同学做个参考。

首先,所有的信息的最权威版本来自xda,这个xda的beginner guide很有效。另外有一个中文版的yeeyan网的翻译,在这里

综述如下:

  • 第一步是下载moto的驱动。很容易找到,不多废话。小心32和64位的区别。
  • 第二步就是获取手机的root权限。下载super oneclick root就可以解决这个问题。搞完之后,用adb shell(adb是android sdk的一个程序,不过super one click里有一个最小的版本)就可以进入手机的shell,并且经过su就可以是root了。
  • Moto手机的bootloader是锁死的,无法更新,有好处也有坏处——好处是几乎永远不会把手机变成砖(HTC就有这个可能性)。坏处是,它对签名什么的检查比较严格,搞一个custom的ROM有点困难,不像HTC/Samsung那么简单。
  • 第三步:不过还是有聪明人的。有人发明了2nd init,这个东西具体怎么工作我还没仔细搞明白,不过它可以在bootloader启动原装的kernel之后,装载这个2nd init,这样就可以启动custom的recovery,或者启动一个custom ROM. 2nd init是一个apk文件,在root之后装上,运行,就好了。
  • moto还有一个诡异的东西,叫efuse,让系统一旦升级后无法降级。这个麻烦的地方是有时候如果你还想返回原厂rom去保修的话,可能有点困难,所以要小心。不过对于我这样完全放弃保修的人,也无所谓——而且我根本没用moto的刷机包。
  • 第四步:搞到需要装的ROM。网上很多人说要刷底包什么的,其实不是必须的。底包就是为一个新的baseband的,其他的东西没什么用处。我搞了最新的CM9的RC0版本,外加一个CM9需要的kernel,外加一个google app的包(版权问题)。把他们放在SD卡上
  • 第五步:重启,自动进入2nd init,引导进入一个叫bootmenu的小程序,然后可以进入recovery,刷那些zip file,就好了。它刷system区的方法只是格式化,并且把文件拷过去,所以不会触发efuse。
  • wipe data, wipe cache, reboot,yeah~~~android ICS for defy。。不过似乎稍微有点不稳定,死机一次,自动重启一次。也许要downgrade到CM7.1去。不过,我总是不太信任国内的同志们做的东西,怕里面有什么malware。

重申:刷底包的那些SBF似乎不是必须的,我的baseband还是联通自带的那个版本。

PS,我的手机是红镜头,刷完之后变成了MB526 defy+。