2011年7月22日 星期五

改造 Android 手機需要了解的二、三事

  說到 Android 刷機(Flash ROM)和 Root 又要解釋不少東西,尤其像我這種學美術的更是得從頭摸索到尾,還得要勇敢的自己的 Legend 反覆測試。幸運的是到目前為止還沒有遇到什麼大問題,感謝許多熱心的前輩高人在網路上的無私分享。要是資訊有誤的地方也希望大家多多提點。還是那句老話,希望這樣的圖文解說能幫到需要的人。

Root 是什麼?
  Android 核心使用的是 Linux,在系統中也有區分使用者帳號權限的機制,Linux 系統中最高級的系統管理者帳號的名字就是叫「root」。要使用 root 權限則需要一個叫 su 的程式,讓我們通過 su 指令來執行一般權限無法做到的事,例如刪除 /system/ 底下的物件等等。而 Android 手機之所以都無法使用 root 權限就是因為 Android 系統裡少了 su 程式,把 su 放進 ROM 中的過程就叫做 rooting 。

  另外我們還需要加入 Superuser Permission 這個程式,這是一款可以管理 root 權限的程式,當手機有軟體執行 su 指令想取得系統管理者權限時,Superuser 就會詢問使用者是否允許。由於一般有 root 過的手機應該都會裝,所以我們可以用是否安裝 Superuser 來判斷手機是否 root 過。

FASTBOOT 是什麼?
  就我的理解 FASTBOOT 是一個簡單的能快速啟動的工程模式,在 FASTBOOT 的狀態下我們可以使用 USB 連線到電腦用 adb (Android Debug Bridge)來執行一些指令動作。畫面中的幾樣功能可使用音量上下鍵移動游標,按下電源鍵則是確定。
進入 FASTBOOT:關機狀態下按住「返回鍵」再按下「電源鍵」開機。
FASTBOOT

BOOTLOADER、HBOOT、SPL 是什麼?
  在 HTC 的 Android 系統手機中 BOOTLOADER、HBOOT、SPL 基本上是講一樣的東西( WM 機型叫 SPL,Android 都叫 HBOOT)。負責的功能有檢測手機硬體(上一篇「GoldCard 金卡」所提到的 CID 檢測機制也是 HBOOT 的功能)、尋找系統啟動分區、啟動基本維護操作界面,也可以通過 USB 連線到電腦接受和執行指令。另外還有一個很重要的功能是接收並處理 FASTBOOT 來的指令。

  HBOOT 是一個很特殊的部分,目前要對付 HTC 的安全鎖(S-ON)只有替換第三方修改過的 HBOOT 或者刷入原廠洩漏出來的工程版(ENG HBOOT)才能完成,但是 HBOOT 刷壞了之後手機幾乎是沒救的,類似於升級電腦的 BIOS,刷錯了你就只能回原廠重新燒了。所以對 HBOOT 的操作要特別的注意,如非必要不要去輕易刷寫此分區!

  HBOOT 可以在前面介紹的 FASTBOOT 畫面中用音量鍵選擇按電源鍵確定進入,也可以在關機狀態下使用快速鍵進入。進入後就可以看到的 HBOOT 畫面(圖一),此時還得稍待片刻才能操作,HBOOT 還有一項預先讀取 SD 卡內的 ***.zip 進行升級的功能(圖二中的 LEGEDIAG.zip 名稱按機型而有所不同)。
進入 BOOTLOADER:關機狀態下按住「音量鍵向下」再按下「電源鍵」開機。
HBOOT 02 Legend

FASTBOOT、BOOTLOADER 畫面上方好幾排字是什麼?
  畫面上方顯示的是手機的一些基本資訊,通常刷機前要先知道的資料都在這。

info
LEGEND:這個是手機型號的內部開發代號。
PVT 或者是 EVT / DVT / CVT:代表手機的開發版本類型。
 一台手機從研發到上市,可能會經歷多次開發版本上的調試和改動,類型如下:
 EVT 工程機:研發階段機器的型號。
 DVT 開發機:特殊開發用途機器的型號。
 CVT 商用機:交付營運商的機器的型號。
 PVT 量產機:最終上市的零售版機器的型號。(PVT1 :第 1 批量產機)
SHIP / ENG:手機中的 HBOOT (SPL)的版本。
 SHIP:shippment 的縮寫「出貨」的意思,零售版的 HBOOT 。
 ENG:Engineer 的縮寫「工程」的意思,工程版的 HBOOT 。
S-ON / S-OFF:S 代表安全鎖(Security Lock)
 目前只在 HTC 機種出現,S-ON 狀態讓使用者無法更改系統(/system/)內的檔案。
 S-ON:安全鎖開。
 S-OFF:安全鎖關。
HBOOT- 1.01.0000:HBOOT 的版本號碼。
RADIO- 7.13.35.05:RADIO 的版本號碼。
 RADIO 是負責手機訊號(GSM、3G)、 GPS 、WiFi 等硬體驅動,網路上有時也能找到更高版本的 RADIO ,但要注意的是不一定版本數字高就是好,手機是否適用更重要。

RECOVERY 是什麼?
  RECOVERY 是手機上的一個功能分割區(Partition)功能跟電腦的還原分割區類似,在還原模式(Recovery Mode)中提供有許多工具可以做更新或回復原廠值之類的操作,只是原廠 Recovery 提供的功能並不多(似乎越新的功能就越來越少了)。

  原廠 Recovery 還有個重要的問題是新版本的 Recovery 現在只認原廠簽章的 zip 檔,所以我們自行簽章的 zip 檔就無法使用(剛開始的簽章都一樣的)。所以後來就出現了第三方製作的版本以替代原廠來載入還原分割區之中,像 ClockworkMod Recover 是目前網路上最常見的,另外也還有一些其他個別高手的版本
進入 RECOVERY: 在 Bootloader 畫面中按「音量鍵」選擇、再按「電源鍵」確定。出現手機驚嘆號畫面(左圖)再按「音量鍵向上」和「電源鍵」進入 Recovery (右圖)。

05 Recovery 06 Recovery
  右圖畫面中可以看到 HTC Legend 原廠 2.2 Froyo ROM 內建的 Recovery 是 3e 的版本,一共有三項功能(第一項有游標沒拍清楚的是 Reboot system now 「重新啟動系統」應該不算功能吧)。

原廠 RECOVERY 的功能:
Apply sdcard:update.zip:應用 SD卡中的 update.zip。
  手機更新檔都會包裝成 zip 檔(通常檔名都是 update.zip),透過 Recovery 這項功能將檔案內容更新到手機裡。例如 HTC OTA (線上升級)的方式就是將手機升級需要的檔案從 HTC 伺服器下載到 SD 卡之後重開機進入 Recovery 將檔案刷入。
Wipe date/factory reset:清除資料並回復原廠設定值
Wipe cache Partition:清除快取分割區

Downgrade 是什麼
  Downgrade 是降級的意思,通常是為了破解機器,例如為了執行需要取得 Root 系統管理員權限的工作或程式或是刷其他版本的 ROM 才需要做降級的動作。

  那為什麼有的機器要降級有的不用呢?這就牽涉到各家廠商的手機保護手段了。一開始舊版本的 ROM 的保護手段並不嚴格,廠商就會在升級時補上漏洞使我們沒辦法按舊有的漏洞破解手機。但舊版本 ROM 當然沒變,所以就出現了先降級再刷內含 root 的 ROM 的方式。但現在新出的手機本來沒有含漏洞的舊版本 ROM 所以當然不用降級。

沒有留言: