Nexus one 相關 root, USB host 安裝與設定
參考資料:
http://forum.xda-developers.com/wiki/index.php?title=Nexus_One
額外參考資料:http://forum.xda-developers.com/showthread.php?t=636795
* 需開啟 USB debugging
同時按下軌跡球與 power 鍵,進入 bootloader 模式,如下圖
用 USB 線連結到 PC,PC 需安裝 Android SDK,到 tools 目錄下,將 fastboot.exe 複製到 plateform-tools 下,在 PC 上開啟 cmd.exe,到 fastboot 所在目錄執行 fastboot devices,測試是否找到手機裝置,有的話,執行 fastboot oem unlock 進行解鎖,手機上會出現以下畫面:
按音量鍵移動選項到 Yes,按 power 執行。之後 console 出現奇怪的錯誤訊息:
不用理他。手機解鎖後會自動重開機。要查看解鎖是否成功,關機後一樣按軌跡球與 power 鍵進入 bootloader 模式,可以看到如下圖,出現 unlocked 字樣。
進入 bootloader 模式,選擇 fastboot,按 power 鍵進入。用 USB 線連接 PC,如上篇,用 fastboot devices 測試連線。
下載 recovery-RA-passion-v2.2.1.img ,放到 android SDK 執行 fastboot 的目錄下。在 command line 下執行:
(新版 SDK fastboot.exe 放在 tools/ 下,因為會用到 adb 相關 dll, 所以需把 fastboot.exe 拷貝到 platform-tools/ 目錄下,由此執行指令)
fastboot flash recovery recovery-RA-passion-v2.2.1.img
成功後,直接在 bootloader 模式下選擇 recovery,會出現以下畫面:
1. 官方 ROM 裝 root
下載: su, 放到手機 SD 卡中
重開機進入 recovery, 選擇 install from zip
選擇 toggle signature verification (關閉應用程式簽章檢查, 否則等一下 zip 沒辦法安裝)
install from zip, 選擇剛才下載的 su-xxx.zip
Ref: http://5i01.com/topicdetail.php?f=565&t=2028789
2. 大部分自己刷入的 custom ROM 都會給你 root 權限,不用特別裝 root。
裝完 root 可在 market 安裝 root checker 看看有沒有成功 (能不能找到 su 檔)
一般流程:
1. 下載 ROM 的 zip 檔案,例如:
2. 放到 SDcard 的根目錄下
3. 進入bootloader 模式下選擇 recovery,進入如上圖 Recovery 畫面
3.5 備份自己的資料,可用 Titanium Backup 備份 apk
4. Wipe data (最好清掉原機的資料,比較容易刷成功)
5. 選擇 Flash zip from sd card,刷入以上檔案
下載 ROM, 例如 PASSIMG_KR_KT_2.2.1_FRG83.zip (韓國版 Froyo), 2.3.7 build GRK39F
放在 SDcard 後,改名為 PASSIMG.zip,重開機進入 bootloader 模式,會自己刷入新的 ROM。
注意官方 ROM 通常未 root...可以使用 z4root (可用 google 搜尋) 來設定 root。
參考資料:
http://sven.killig.de/android/N1/2.2/usb_host/
http://htc-linux.org/wiki/index.php?title=Msm_Usb_Host
http://forum.xda-developers.com/showthread.php?t=694427&page=12
http://linux.vbird.org/linux_basic/0510osloader.php
1. 根據 Sven Killig 的說明,先刷 2.2 版的 Android,網路上可以找到的是 PASSIMG_KR_KT_2.2.1_FRG83.zip (韓國版 Froyo),刷機方式如上述。
2. 改掉 kernel,因為改完一些原來的 USB 功能會喪失,所以不建議真的 flash 到機器,使用 fastboot。首先按 vol down + power 進入 bootloader,選擇 fastboot,連接 USB 到電腦,開啟 cmd,用 fastboot devices 指令測試是否連線。
機器會重新啟動,啟動後檢查版本會看到
其實這時候用 USB 線連電腦,就沒有反應了...
注意下次重啟手機,kernel 版本就回復到原來的 2.2 kernel,如下:
5. 下載 Kernel modules,解開後放到手機上(自行設定放到那裡都可以),等下要載入新的 usb 相關 drivers。
這裡設定放到 /sdcard/modules/
6. 在 market 上安裝 ConnectBot
7. 執行 connectBot,連線到 local,需要設定一個連線名稱
8. 將 USB 硬體連線弄好。由於 N1 手機不供電到 USB port,反而需要外部供電到手機的 USB host,所以 Sven Killig 說明要買 Y 型分叉的 USB 線讓外部供電到手機 USB port,或是買外接電源的 USB hub,要注意外接電源的USB hub,不一定會供電到上行(up streaming) 的 USB(也就是手機)。測試方式是線接完後,手機會進入充電狀態就對了。
我用的是:
a. 手機 micro USB 轉 USB (拍賣網站搜尋 USB host 可找到)
b. 下列 USB 線
c. 外接電源
接完線後長這樣
8. 執行下列指令,安裝相關 driver (usbcore.ko, ehci-hcd.ko):
可在connectBot命令列下用 dmesg 觀看相關訊息:
以安裝外接隨身碟為例,執行下列指令:
insmod drivers/usb/storage/usb-storage.ko
插入隨身碟,可以用 dmesg 看到隨身碟初始化訊息:
可以看到掛入的 device 命名為 sda1, 可以 check /dev/block/ 下有沒有 sda1 這個檔案,接著將這個 mount 到目前的檔案系統,以下先在 /sdcard/ 目錄下新建一個 usb/ 的目錄(可用 astro 等檔案管理工具執行),執行以下 mount 指令:
這樣就大功告成了,可以用 astro 進入隨身碟目錄(不過有些檔名有亂碼...)