HTC Hero (Android) 取得 root 權限 [solves “remote: not allow” problem]
在android上取得root的原理其實很簡單 (如果我沒搞錯的話…XD)
基本上就是要把 /system/bin/sh 複製一份並將其權限設定為 4755
如此一來便可以當作 su 來使用
網路上看到常見的方法使用 fastboot 來將手機使用 orange-htc-hero-uk-boot.img 來開機
並暫時取得 root 權限來生出 su command
常會在 fastboot 時遇到這樣的問題
remote: not allow FAILED
原因似乎是在 Andoird SPL 被擋了下來
SPL, Second Program Loader, boot-loader的一部份
另一種在網路上看到的解法是將 SPL 給刷掉 缺點是會把 userdata 也一併洗掉
合併網路上看到的幾個方法 發現使用 flashrec 似乎不需要將整隻手機重設 又不會遇到 SPL 的問題
要執行以下步驟你會需要:
取得暫時 root 的步驟為:
- 用 usb 連接 Hero
- 使用 adb 安裝 flashrec: adb install flashrec.apk
- 將 image 複製到 sdcard 上: adb push cm-hero-recovery.img /sdcard/
- 在手機上執行在 step2 中安裝的 “Recovery Flasher” 程式
- 輸入 /sdcard/cm-hero-recovery.img 並 flash
- reboot 開機時按住 home + power
- 進入 loader 之後在電腦上執行 adb shell
- 看到 # 變成功取得暫時的 root 權限
建立 su command:
- 首先要將系統掛載: mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
- 複製 sh: cat /system/bin/sh > /system/bin/su
- 設定權限: chmod 4755 /system/bin/su
- 重新開機: reboot
- 之後在使用 adb shell 時便可以透過 su 指令取得 root 權限
延伸: Why Root?