其實 Android 升級也不是像想像中麻煩, 但是升級之前需要做很多準備工作, 如果不是熟門熟路的話, 會不知道在做什麼, 但是如果熟悉了以後, 換 ROM 大概就像喝水一樣容易 .
以下就是我花一堆時間升級得到的心得. 希望對大家有用
本文章僅適用於 ADP1 (Android Dev Phone 1), 其他不適合.
其他相同的機型有 HTC Magic 和 T-Mobile G1
* 免責聲明: 任何改機行為皆有極大風險, 請自負風險, 本人不負任何責任 *
名詞解釋
先知道名詞是很重要的, 要不然連 Keyword 都 Search 不到 :p
IPL: Initial Program Loader
為一個小的 Loader, 主要負責 initial DRAM, CPU 等, 找到的資料有說到 SPL 刷死掉了以後, 可以靠 IPL 救.
不過這看起來要拆機了.
SPL : Second Program Loader
在 IPL 之後載入的 Loader. Loader 的角色有點像是 PC 的 Bios
SPL 可以燒 nbh(應該是每台機器的 key, 開發機不需要去弄這個), 提供 Fastboot 更新介面(等一下會提)
更新 SPL 風險是非常高的, 請確定你的手機型號之後再更新
進入 SPL 的方法, 關機時, 按住 camera + Power 鍵(掛電話鍵) 就可以進入 SPL
Fastboot:
進入 SPL 後, 可以切至 Fastboot mode, 可以透過 USB + Fastboot 的程式更新特定區域的 image .
這是當 Recovery 不能用的時候, 拿來緊急救援用的.
Recovery:
系統提供一個 Recovery mode, 這個 Recovery 是一個簡化的 Linux 系統, 內含一個 busybox 及其他的 tool
主要是用來更新 ROM 及其他開發者提供的功能. 像是 SPL 也是可以從 Recovery 內救.
以我目前使用的 RA-Dream 來說, 支援以下的功能
- Reboot
- Goto Console
- USB-MS (摸擬成一個 USB Mass Storage, 就是讓 Android 變成 USB Flash 模式.
- Backup/Restore : nandroid, 可以備份/回復 Nand, 常常換系統者必備.
- Flash Zip from SD (這功能就是可以更新大部份的 ROM 了)
- Wipe : 清除資料
- Partition SDCard : 現在有的 ROM 支援 APP2SD, 尤其是 Eclair (2.1) 的系統一定要 APP2SD 才可以使用.
- Shutdown
幾乎所有燒機的功能都包含在內了, 之前可能會有人找到 cm-recovery-1.4, 不過那個功能比 RA-Dream 差太多了.
進入 Recovery 的方法, Home + Power On Key.
RADIO:
這一般指的是 GSM 部份的 Radio Code. 因為 GSM 都是自己跑一部份專有的 Code.
ROM:
通常講到 ROM 都是講到 Android 主系統, HTC 有協助 Google 開發系統, 也有很多第三方放出來的 ROM 可以用, 如果很愛刷 ROM 換系統, 或是自己 compile 都是可行的
第三方比較有名的有
2.1
- [ROM] CyanogenMod-5 – Would you like a pony? (EXPERIMENTAL) [04/29 – v5.0.7-test1]
- [ROM] [v1.2] [OPTIMIZED] KiNgxKxKlair DroidEris2G1 {4/9/10 1:59 pm PST}
- [UPDATE][ROM]CaNNoN202 Complete Eclair [v2.0](Almost Complete)[4/2/10]-[FAST][STABLE]
1.6
- [ROM] CyanogenMod – No, you can’t have a pony (STABLE) [UPDATED 03/04 – v4.2.15.1]
- [ROM]Super D 1.11 “Rehab is for Quitters” (4/28)
APP2SD:
ADP1 的 Flash 只有 192MByte, 所以放 Application 不太夠, 所以大家就將腦筋動到 SD Card 上.
這個功能就叫 APP2SD. 在 Linux 下不過就只是一個 shell script.
早期 APP2SD 要自己弄,
現在新的 ROM 都支援 APP2SD, 更新的 2.1 都一定要啟動 APP2SD 才能使用
有了這些基礎知識以後, 接下來就是準備開始動手了.
* 免責聲明: 任何改機行為皆有極大風險, 請自負風險, 本人不負任何責任 *
準備
- PC
- USB cable
- Android SDK
- fastboot
Android SDK 提供了 adb shell command 的功能 (要啟動到 recovery)
fastboot 提供了在 SPL 狀況下可以更新 image 的機會.
更新 Recovery.img
我個人喜歡用 RA-Dream 先下載 recovery-RA-dream-v1.6.2.img 然後存到 SDCard 內.
重開機按 Home + Power On 進入 recovery mode.
在 PC 端進入 adb mode
[shell]
# adb shell
切至 ADP
$ su
# mount -a
# flash_image recovery /sdcard/recovery-RA-dream-v1.6.2.img
[/shell]
如果要用 Fastboot 升級也是可以, 但是要先更新 SPL. 那更麻煩…..
[shell]
# fastboot devices (確認 devices)
# fastboot flash recovery recovery-RA-dream-v1.6.2.img
[/shell]
更新 Radio Image
如果不是 2.22.19_26I, 請更新你的 Radio Image, 可以啟動進 SPL 看一下現在的版本
可以從 HTC 下載 2.22.19_26I, sapphire-port-dream 也有一份
ota-radio-2_22_19_26I.zip 下載之後放到 SDCard 內, 然後重開機進入 Recovery mode.
如果這邊更新 Ra-dream recovery.img 己經成功了, 那就可以直接進 Recovery Mode, 切進 USB-MS mode, 就會變成 Mass Storage, 可以直接從電腦傳檔案進去.
用 flash zip from SD 的功能, 就會列出來, 直接選擇就可以.
解壓完重開機即可.
這就是我愛用 Ra-dream recovery.img 的原因 XD
更新 SPL
第一件事情就是要確認機器的版本, 這是一張 SPL 的圖案, 這是改過的
[text]
DREAM PVT 32B ENG S-OFF
HBOOT-1.33.2005 (DREA10000)
CPLD-4
RADIO-2.22.19.26I
[/text]
第一行是 PVT 32B 是代表這隻是 Google ADP1 (Dream/Tmobile G1)
第二行是目前 SPL 的版本, DREA***** 英國, DREA10000 美國, DREA11000 歐洲
第四行是 Radio 的版本
更新完 SPL 就可以裝第三方的 Android ROM, 但是 HTC 版的就不能用了. 如果要用, 就要降級
以下是更多的說明
SPL Info
– The G or H at the end identify if it’s a Google or HTC SPL
– ENG : Engineering version
– SHIP : Shipment version
– DEV : Development version (ION)
– S-off and S-on : Security on and off (writing directly to nand or not) , most probably not SPL linked.
– PVT 32A : 288MB RAM / Qualcomm MSM7200a
– PVT 32B : 192MB RAM / Qualcomm MSM7201a
– CPLD XX : What does this mean?
我目前是使用 Danger SPL
下載後丟到 SD Card, 進入 Recovery Mode, 然後用 Flash zip from SD card 就可以.
備份系統
當然我就會講, 進入 Recovery Mode, 選 Backup/Restore 的功能, 選 NAND Backup 即可.
(其實我是沒有在 backup 的 (爆))
規劃 SDcard
我選用的這一版 Recovery 有 Partition SD Card 的功能
但是我當時是用 Linux 去預先規劃, 以我 2G SD Card 為例
Partition 1 : FAT32 : 1.4GByte
Partition 2: ext3 : 500MByte
Partition 3: Linux Swap : 96MBytes
Partition 2 也可以選用比較新的 ext4, 不過這就要比較新版的 ROM 才支援這個功能, 一般來說, 使用 ext3 是支援度最廣的.
升級 ROM
接下來就是下載 ROM 了.
以 2.1 為例
2.1
- [ROM] CyanogenMod-5 – Would you like a pony? (EXPERIMENTAL) [04/29 – v5.0.7-test1]
- [ROM] [v1.2] [OPTIMIZED] KiNgxKxKlair DroidEris2G1 {4/9/10 1:59 pm PST}
- [UPDATE][ROM]CaNNoN202 Complete Eclair [v2.0](Almost Complete)[4/2/10]-[FAST][STABLE]
點進去後找到 ROM 下載, 丟到 SDCard 內
然後選 flash zip from SD.
以 CyanogenMod-5 為例, 會下載
update-cm-5.0.7-DS-test1-signed.zip
gapps-ds-ERE36B-signed.zip
丟進去一起 Flash zip from SD 就好了, 如果是從 1.5/1.6 升級上來, 那記得先 wipe data. 這樣比較不會出問題.
如果是 2.1 的話, 第一次啟動可能需要 5~15 分鐘, 需要耐心等候.
有了 RA-Dream 省了很多事情, 所有的動作都可以 Flash zip from SD.
而新的 ROM 都支援 APP2SD. 所以很多網路上的文件都不太適用了.
然後這麼方便的結果就是 ROM 一直換一直換…..
目前用到 CaNNoN202 這個不錯, CyanogenMod-5 也可以.
KiNgxsKxKlair功能很強, 但是問題很多, 連 Google Applications 都啟動不了.
不過可以看一下 HTC Legend(?) 大概的樣子是長得什麼樣. 我覺得很炫就是了 🙂
目前的缺點就是..
我的 Camera 不知道為什麼都沒有辦法再使用了, 不知道是 Hardware 的問題還是 Software 的問題.
不過之前 ADP1 早就被我玩爛了(大概是自己編kernel的關係), 所以這也不是缺點了 (默)…
Ref.
kiko555
您好,
看完您整理過後的升級步驟,
相當佩服您的耐心啊~~
嗯~是這樣的,我手邊也有一台ADP1,
背殼是有機器人圖樣,也就是google當時出的實驗機,
我也是照相功能不行運作,
如果沒記錯,我是在刷過歐洲版G1後才不能照相的。
不知您之後是否有解決照相的問題呢?
richliu
沒有, 事實還是很耗電. 只是比之前好一點點而已….
Ap
您好!想請問我安裝完後等了一個小時多仍無法進入系統,且回到Recovery讀不到SD卡…
目前手機顯示 FASTBOOT狀態顯示:
DREAM PVT S-on
HBooT1.33.2005
CPLD-4
RADIO-2.22.19.26I
想向您請教方法是否有方法改回S-off ?
謝謝。
richliu
上面的步驟有寫, 先刷 Recovery.img, 再用 Recovery.img 再刷 SPL.