2016年9月18日 星期日

Ubuntu Phone - install Ubuntu on Meizu Pro5 Android edition

最近看到 #phone-phone mailing list[1] 上面有人分享如何將 Meizu Pro5 Android Edition 刷成 Ubuntu Edition,因為手上沒有以 Android 版本出貨的 Meizu Pro5 所以無法實測其方法,但看來是可行的。

因為 Ubuntu Phone Edition 基本上是買不到了,就一定會有人想嘗試從 Android Edition 刷過去,此篇想用小弟的經驗嘗試分析在刷機的前後可能會遇到的問題,供想刷機的人作參考。

任何自行刷機的行為需自行負擔其風險,本人不保証任何保固上面的問題。

以下列出目前有出貨的手機:

  • BQ Krillin
    • 太舊了,不想討論
  • Meizu MX4 (Arale)
    • MTK solution
    • 刷 Factory images 需要用到MTK提供的 flash-tool
      • 本人經驗,不同的 SoC 對應的 flash-tool 版本可能不同,我之前用的是 v5.1452.00.100
  • BQ M10 (frieza)
    • MTK solution
      • 刷 Factory images 需要用到MTK提供的 flash-tool
        • 本人經驗,不同的 SoC 對應的 flash-tool 版本可能不同,我之前用的是 v5.1520.00.100
  • Meizu Pro5 (Turbo)
    • 2Samsung solution
      • 直接用 fastboot 刷 factory image 即可
factory images 就是每個 partition image file, 然後用工具刷進去,就可以出廠了。以上只有 Pro5 可以用 fastboot 直接刷每一個 partition,最方便而且他是最新的一支 Ubuntu phone 所以拿它來刷還滿合理。

上面的 Krillin, Arale and Turbo 是 device name,也就是在 image server 上面的 device 對應,ubuntu-device-flash 的 --device 要輸入的也就是它們。


目前來說,每支 Ubuntu Edition 的 partition size 都跟 Android Edition 不同,因為 Ubuntu 需要的 system partition(2.5G) 及 cache partition (700MB) 比較大。 為何? 因為在 recovery 中作 update 時,要拿 cache partition 來作 buffer。 那問題就來了~ 原本 Pro5 的 cache partition 只有 500mb,有點危險。 system partition Android Edition, AFAIK 原本就給 2.5G,所以沒有問題。

Cache partition 太小會怎樣? 你在 OTA 的時後, tarballs 會被放在 cache partition,然後 recovery mode 的時後拿來 update (請見 ubuntu-phone-recovery),cache 太小就無法 OTA ,聰明的看官應該已經想到應對的方式了..... 對,手動 update 可以解決這個問題,一樣請見 ubuntu-phone-recovery

BTW.... bootloader 就在 device tarball 裡面呀? 那是不是可以直接刷 bootloader 就好? 嗯.... 刷 bootloader 一不小心就變磚了,而且我也不知道 pro5 Android edition 的 bootloader partition 可不可以刷,所以... 科科

再來就是要把 partitions 一個一個刷進去,可以用 [1] 的方法,也可以用小弟的 repack-factory image tool [2] ,直接從 OTA server 上把 images 拉下來打包成 factory images ,然後用 fastboot 刷進去。

以上再次申明,因小弟沒有 Android Edition,所以只在 Ubuntu Edition 上測試過,如果有勇者嘗試了,再請分享結果吧 :)

[1] https://lists.launchpad.net/ubuntu-phone/msg22248.html
[2] https://github.com/alex-tu-cc/ubuntu_phone_tools

沒有留言:

張貼留言