Android 台灣中文網

標題: 從2.10.709.1[ROOT] 到 3.36.709.3 一點小心得 [打印本頁]

作者: ekids1234    時間: 2016-2-21 23:05
標題: 從2.10.709.1[ROOT] 到 3.36.709.3 一點小心得

我就直接說方法了,如板上文章所敘,不過在多加點注意事項。

我的手機是8月買的,所以8月更新到最新就是2.10.709.1
如果跟我一樣的人,跟我做差不多的事情應該能高機率成功。
其他版本就是類似做法


1.把system分區還原回去 + read only


參考這篇

[ROM] [NANDroid] HTC One M9 | TWRP Backup | Asia TW | 2.10.709.6


值得注意的是,請對照當前版本下載。

我原本想說 : 我直接抓2.10.709.6版就好了  跳過一次OTA
但抓完想想不對,系統備份還原回去應該是建立在同個版本上


2.把官方recovery刷回去


這個部分---是我遇到的最大問題。

首先,我的版本是2.10.709.1
但是我按照網路上的資源,把 [ recovery_M9_1.32.709.14 ] 這個官方recovery刷進去  
卻一直沒成功  跑出

error in @/cache/recovery/block.map

這個東西。

於是我又還原了好幾次,重新OTA,都還是一樣。

後來我又綜合很多文章,大概猜測除了檢驗system分區外應該也會檢查recovery吧
所以我是直接提取 [2.10.709.1 升 2.10.709.6的OTA壓縮檔]裡面的[firmware.zip],裡面有[recovery.img]
直接刷進去。

於是問題解決,正常OTA了。

***此方法我不確定是否正確,照理來說---我應該是要刷 [1.40.709.8 更新到 2.10.709.1 的OTA檔裡面的recovery.img]
但...會不會是剛好版本一樣,還是我這個"預先刷OTA檔裡面的recovery是件


3.OTA

reboot system 然後去軟體更新~
2.10.709.1 升 2.10.709.6 的時候,一直跑完100%又繼續重跑是正常的,為此更新中其實我頗害怕失敗的XD




作者: terafrost    時間: 2016-2-21 23:32
本帖最後由 terafrost 於 2016-2-21 23:34 編輯

我也有遇到小小問題,升級步驟略跟樓主不同。

1.手機firmware為2.10.709.1,fastboot oem rebootRUU指令先刷入2.10.709.6的firmware。

2.TWRP 2.8.7中還原2.10.709.6的原廠ROM(這是我自己備份的,網友有提供亦可)

3.TWRP改回system read only,然後刷回原廠recovery

4.手機上網直接OTA更新6.0。

以上是最後成功更新的步驟。

遇到的問題:
做完前三步驟後,第四步OTA更新一直失敗,進度條升到20%就會跳紅色驚嘆號手機畫面,無法OTA

後來解決的方式:第二步還原時,先用TWRP砍掉系統(system),再來還原ROM。
wipe試過了一樣沒用,可能先前第三方ROM在system新增了某某東西,結果直接還原ROM卻讓system被檢查出不乾淨而更新失敗吧?~~~以上純臆測

沒有看到任何錯誤訊息,就一個紅色驚嘆號+手機的畫面,搞得我也不曉得錯哪裡,只好砍光光。
作者: sabpprook    時間: 2016-2-22 12:19
M9 OTA 正確方式

節錄一部分 OTA 更新腳本

# Htc Script Version: L51QCT.01.103.029

ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.6:user/release-keys" ||
    getprop("ro.build.fingerprint") == "htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.180:user/release-keys" ||

    abort("Package expects build fingerprint of htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.6:user/release-keys or htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.180:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
(range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1") == "bc92459f1799a76019f15b2cc6150f0e32369abf") || (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1") == "fcdb1b6cb9be274514a57476fb89aaf5b44f4c59") || update_has_interrupt("") == "t" || abort("/dev/block/bootdevice/by-name/system has been remounted R/W; reflash device to reenable OTA updates");
if (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1146880") == "393cc5514f9dd7c59c73007191b294e87c70598c" || update_has_interrupt("") == "t") then
ui_print("Verified system image...");
else
  (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1146880") == "725b58ba128f643fe0cfc8e3906b3ed406984170") ||
  abort("system partition has unexpected contents");
endif;

由此可知,OTA更新會驗證 recovery 版本與 system 分區之 sha-1 校驗碼

假設從 2.10.709.1 更新至 2.10.709.6
必須先刷回 2.10.709.1 版本之 system 與 recovery image


還原步驟


完成以上步驟後即可無痛進行 OTA 更新




作者: boss671220    時間: 2016-2-22 22:48
請問誰有2.10.709.6要升到3.36.709.3原廠 recovery,我在這次更新的OTA抓的 recovery都不能用




作者: berlinlu    時間: 2016-12-3 23:45
解決了嗎?  可以直接用ad b直接刷成6.0




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1