說真的, 我看不太懂你的問題.
1. 你上頭的動作, 並不是用 toolkit 去跑的, 而是自己下指令的樣子.
2. 仍然是把 system.img.gz 寫到 /cache/ 而不是 /storage/sdcard0
3. 看起來 busybox telnetd 不是用 system 的身份在跑 (看起來似乎不是用 engineer mode 跑的)
在跑 telnet (不是 telnetd) 之前, 先確定 telnetd (busybox) 跑的身份是 system 這個使用者吧.
如果要用 adb shell 來做....
1. 先把 A1 重開機, 再用 adb shell 連上
2. adb shell 中執行
ps | grep busybox
(這個指令的結果應該沒有找到任何的 process 才對)
3. 把 A1 畫面停在 home
4. 在 adb shell 中執行
am start -n com.mediatek.engineermode/.EngineerMode com.mediatek.connectivity/.CdsInfoActivity
5. 在 A1 選 Network Utility
6. 在 A1 輸入
/data/local/tmp/busybox telnetd -l /system/bin/sh -p 1234
7. 在 A1 點選 Run (如果 busybox 沒有 push 過, 要先 push 到 /data/local/tmp/ 下面)
8. 在 adb shell 中執行
ps | grep busybox
這時應該會看到一筆, 而且是用 system (那一行的第一個字) 這使用者執行的.
如果上面的動作, 確定 busybox telnetd 是用 system 執行的, 後面去做 telnet 的動作, 才會切換到 system 的身份, 後而的指令才不會有權限的問題.
|