所有的 Hacking 行為都是具有風險。
請自我評估是否可以承擔失敗的風險再進行 Hacking 的動作。
環境說明
Android 裝置:Android Dev Phone 1
說明:本篇文章會教大家開啟工程模式的方法,以及最重要的「FASTBOOT」刷機程式。
注意事項:本篇教學以 Android Dev Phone 1 為主
版本更新:
- 2008.12.26 新增 VMware 說明
準備動作
- Android 手持裝置,推薦使用 Android Dev Phone 1
- 電腦一部且安裝 Linux 作業系統,可使用虛擬機器(VMware),推薦使用 Ubuntu 8.10
- 品質良好的 USB 傳輸線,推薦使用內附得 USB 傳輸線
開啟工程模式
- 請將手機使用 USB 與電腦連線。
- 先將手機關機,重新開機時同時壓住「camera」與「power」鍵,打開工程模式。
- 此時應該會看到三隻機器人採著滑板的圖案同時畫面上顯示「Serial0」
- 接下來按下「back」鍵,畫面上得顯示會變更成「FASTBOOT」等候刷機程式的連線。
工程模式的注意事項
- 開啟工程模式後,「power」鍵將無法使用,也就是無法藉由「power」鍵關機。
- 如果你只是想看看工程模式,要離開工程模式請同時按下「MENU」+「通話鍵」+「power」重新啟動手機。
啟動 FASTBOOT
- FASTBOOT 目前只能在 Linux 上運作,所以必須要有一部運行 Linux 的系統,院長使用的是 Ubuntu 8.10,另外「FASTBOOT」是要自行編譯 Android 的程式碼才會有的,不過好佳在編譯完後可以獨立使用,所以院長把程式放在網站上,需要的就下載吧。下載 fastboot。
- FASTBOOT 啟動必須要具備 root 的權限,所以請使用「sudo fastboot」或是利用「sudo su -」切換到 root 的身份,這裡院長建議使用「sudo su -」切換到 root。
- 確認 ADP1 與電腦連線,輸入以下指令。
./fastboot devices
可以得知目前與電腦連線的 Android 裝置,「HT***」就是連接的裝置root@onlinemad-laptop:~/cupcake# ./fastboot devices
HT845GZ53420 fastboot
root@onlinemad-laptop:~/cupcake# - 透過 FASTBOOT 重新啟動手機,輸入以下的指令
./fastboot reboot
之後手機就會自行重新啟動
VMWare 說明
根據院長的測試,在 VMware 上安裝 Ubuntu 8.10 是可以與手機連線,但是必須先安裝 VMware Tools 才能存取 Host 的 USB 裝置,院長的 VMware 版本為 6.0.2 build-59824。
FASTBOOT for Windows
很快的又有高手將「FASTBOOT for Windows」給編譯出來了,不過在 Windows 上要再安裝驅動程式一次,與擷取 Android 作業畫面這篇所提到的安裝方式有點不一樣。
手機在正常開機且顯示「HOME」桌面的狀態下,安裝完驅動程式在裝置管理員看到的是「HTC Dream Composite ADB Interface」但是「FASTBOOT」模式下則是「HTC Dream」
以下會說明如何安裝「FASTBOOT」的驅動程式
- 請先使用「camera」+「power」鍵,打開工程模式,同時接上 USB 線連接電腦,此時應該會出現「USB Mass Storage Device」的裝置,不過因為驅動不合,所以會出現驚嘆號。
- 如果查閱「USB Mass Storage Device」的內容,會發現「詳細資料」中「裝置例項識別碼」就是Android 的序號。
- 回到「裝置管理員」並「按下右鍵」選擇「更新驅動程式」安裝驅動程式,至於驅動程式在哪邊呢?可以參考擷取 Android 作業畫面這篇文章。
- 確定「裝置管理員」顯示的是「HTC Dream」就可以執行「FASTBOOT for Windows」
- 下載「FASTBOOT for Windows」並且放置到 SDK 的「tools」下面,因為「fastboot.exe」需要「AdbWinApi.dll」。
- 開啟「Windows 命令提示字元」就可以執行「fastboot.exe」了
FASTBOOT 相關參數使用方法
usage: fastboot [ <option> ] <command> commands: update <filename> reflash device from update.zip flashall 'flash boot' + 'flash system' flash <partition> [ <filename> ] write a file to a flash partition erase <partition> erase a flash partition getvar <variable> display a bootloader variable boot <kernel> [ <ramdisk> ] download and boot kernel flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it devices list all connected devices reboot reboot device normally reboot-bootloader reboot device into bootloader options: -w erase userdata and cache -s <serial number> specify device serial number -p <product> specify product name -c <cmdline> override kernel commandline -i <vendor id> specify a custom USB vendor id
參考連結