自製 ROM (Case 2)
This document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
看其他教材
最近 HTC Desire DHD 的使用者大概都聽說了一個消息:Sense 3.0 的官方 RUU 已經在歐洲釋出了,可是台灣還是不動如山,完全沒有任何消息(如果真的 如此,我下一隻手機絕不會是 HTC,甚至投靠韓廠手機都可以接受;真的是 一整個無言)。
如果你已經刷機了(我之前試了 XDA 的 SmartDroid 1.1,真順),但是 就是喜歡"原汁原味"的官方 ROM,你也可以跟我一樣來製作自己的 ROM。 所謂自己的 ROM,也就是把所有現成的材料(包含 boot.img、system.img、 應用程式的 apk、不同版本的 kernel 等)依據自己的需求,然後把一道菜 (也就是 ROM)製作出來;由於過程還蠻像"煮菜"的過程,所以很多 XDA 的 專家把這一套過程稱之為 cook。
ROM 的製作過程可以簡單,也可以很複雜,我們當然是從最簡單的方式開始。 如果時間允許而且我的興趣仍然維持下去,我希望能夠以 case by case 的 方式說明 dsixda 的 Kitchen 使用法。開始說明前,我還是要提醒大家: 刷機有一定風險,請自行負責;如果你想提供 國內網友一個好用的 ROM,公佈前請務必測試。
由於我的手機已經 root 了,所以我假設你也已經刷過機了;如果你目前是官方 2.3.3 的版本,請參考 終於把 HTC DHD 刷了,文中所參考的文件大概是最簡單的方法。 另外,HTC DHD 的官方 ROM(或者說 RUU;是一個執行檔),可以到 [ROM]Ace Shipped ROM Collection 中找尋並下載 RUU_Ace_Sense30_S_HTC_WWE_3.12.405.1_Radio_12.65.60.29_26.14.04.28_M_release_225512_signed.exe;特別說明一下, 這個檔案就是所謂的 RUU 檔,其中 WWE 代表全球版,如果你想直接刷這個 檔案也可以,但是第一,你必須改金卡,因為 RUU 會檢查你的手機是否在歐洲地區 發行;第二,就算你製作了金卡也安裝了,你完全看不到中文。我試過了,你可以 在 Android Market 下載安裝 morelocale2,如此你就可以看到、使用中文了, 可惜我最愛的"手寫"中文輸入法還是看不到(其他像注音等輸入法是可以看得到的), 不過你如果不在意沒有手寫輸入法的話,製作金卡、刷 RUU、以及安裝 morelocale2 大概是最簡單的方法。
自製 DHD ROM 可以依照下列的步驟完成以上的目標:(由於時間的關係,以下是 簡易的過程,有時間再把圖補上)
- 準備工作: 我們假設你已經安裝好 Kitchen 了,並且知道 Kitchen 的安裝目錄等資訊;若是不清楚,請先仔細閱讀 安裝 Kitchen。
- 請執行上述 RUU 檔,等到第一個畫面出現的時候,請不要繼續執行下去, 而是到 C: 尋找 rom.zip 並將它複製到一個事後可以存取的目錄;等到 rom.zip 複製完成,即可結束 RUU 的執行。
- 將 rom.zip 直接放置於 f:\cygwin\home\JLU\kitchen\original_update 的目錄中。
- 利用 Kitchen 製作 ROM 的第一個步驟就是要先決定要使用哪一個 材料,而材料中最重要的就是 boot.img/system.img 或者別人已經製作好的 ROM。 過程中,請選擇 "rom.zip" 的方式,之後 system.img 和 lib.img 會依序被解壓縮出來。我們假設產生的一些檔案放在 f:\cygwin\home\JLU\kitchen\WORKING_RUU 目錄中。
- 如果你想另外安裝程式(例如 4Ext Recovery Update),請將該 apk 檔 複製於 system\app 目錄內;如果想要刪除某些程式(例如我不使用 Twitter),請到 system\app 目錄內將相關的 apk 檔刪除。
- 請依序選擇 2 和 3 分別 superuser 和 busybox 安裝到 ROM 內(也就是 一般所謂的 root)。
- (雖然這個步驟可有可無,但是建議做,因為以後可以容易的使用 XDA 上提供的強化套件,例如 CRT animation〔讓打開和關閉螢幕時,有像是早期開關電視機螢幕的動畫效果〕) 利用 "0 - ADVANCED OPTIONS" 內的 "11 - Deodex files in your ROM" 將所有 odex 檔案進行 deodex 的動作。
(在我的環境,包含 Maps.odex 和 VoiceSearch.odex 無法解開;建議可以刪除,然後
再從 Market 下載安裝)
- "CRT animation" 可以讓手機在關閉螢幕或者開啟螢幕時,能夠呈現傳統電視 (CRT)關掉或者打開時的螢幕特效,我個人蠻喜歡的。如果你 de-odexed 了所有檔案, 可以到 [ROM][0912][v10.0c][Stock,Stable,Fast]Sense 3.0/2.3.5[also includes stock 3.12.405.1] 討論串的一樓,找尋並下載位於"For 10.0c & above"下方的 "CRT Animation by hamdir"。
- 在完成上述步驟之後,這個步驟一定要小心執行,以避免完成的 ROM 會無法開機。
請執行 "20 - Tools for boot image (unpack/re-pack/etc.)",並在下列畫面出現時,
輸入 "w = Extract kernel+ramdisk from boot.img":
- 選擇 "x" 結束 boot.img 的修改之後,請按 "0" 回主選單;回到主選單後,請選擇 "6 - Zipalign all *.apk files to optimize RAM usage" 來 zipalign 所有 apk 檔。這個步驟也是可有可無,但是建議做。
- 請到 f:\cygwin\home\JLU\kitchen\WORKING_RUU\system\customize\CID 目錄中,修改 default.xml,其主要目的在於將中文的選項以及 手寫的選項可以出現在設定中。(忍不住又要抱怨,東西在那裏,但是 HTC 就是 不給你用)想偷懶的讀者,我提供了我修改後的 default.xml 下載並覆蓋原始檔案。
- 最後,讓我們重新製作 ROM;請在主選單畫面輸入 99。在 ROM 製作 的過程中,請選擇預設的選項,只有在 ROM 名稱的地方可以命名一個你喜歡的 名稱。這個檔案會被置放於 f:\cygwin\home\JLU\kitchen\OUTPUT_ZIP 中, 你只要把它複製到手機 SDCARD 的跟目錄,然後利用 recovery 來刷即可。
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言