Android 台灣中文網

標題: Acer A1-810 root [打印本頁]

作者: twu2    時間: 2013-7-24 22:16
標題: Acer A1-810 root
本帖最後由 twu2 於 2013-7-25 09:43 編輯




前一陣子我上下班用來看影片的 PSP Go (買車送的) 突然出現黑畫面, 弄了半天都還一樣, 上網查了一下, 看樣子似乎是掛了. 所以... 就上網看了一下小平板, 就買了台 Acer A1-810 回來. (不過... 買回來那天, 打開 PSP Go 突然又有畫面了....)

其實, 只是用來看看影片, 似乎也沒有 root 需求. 不過看到有 Toolkit 出來, 還是手癢試了一下.

雖然上頭說的方法似乎很簡單, 不過.... 由於我買的是台灣的版本, 不是國際版, 據說直接刷 system.img.gz進去會造成重開機無窮迴圈 (其實有解, 只是等於整個刷成國際版了). 所以... 就只抓 toolkit 回來, 到 linux 底下做.

首先找台 Linux 的機器來用, 如果沒有的話 (對, 我也沒有, 我都是當 server 用, 其他用的機器都是 Windows), 就抓個 Ubuntu 或其他有 live cd/dvd 的版本都可以, 或者是用 SystemRescueCD (我是用這個) 來用就可以了.


如果你不想自己動手做, 也不怕抓個 500MB 的大檔案, 可以直接抓我做的 system.img.gz (就是上頭那些步驟做出來的, 我的版本是 Acer_AV052_A1-810_RV18RC11_TWN_GEN1, 如果不是這個, 最好先 OTA 升級到這個版本再用, 如果你是要全部自己動手做就不用管版本):


system.img.7z.001 (100 MB)
http://www.multiupload.nl/HWZ26J92KS

system.img.7z.002 (100 MB)
http://www.multiupload.nl/VBBKSD3JQB

system.img.7z.003 (100 MB)
http://www.multiupload.nl/100Z8U6GKM

system.img.7z.004 (100 MB)
http://www.multiupload.nl/7CEP3B2XCW

system.img.7z.005 (100 MB)
http://www.multiupload.nl/B5N17J854J

system.img.7z.006 (5.3 MB)
http://www.multiupload.nl/AZY694L20A


檔案全抓下後用 7z解回 system.img.gz (不要解過頭成為 system.img 了), 放到 toolkit 下的 system_image 目錄下再執行 toolkit.exe 去 root 就可以了.

2013/7/25 修正 /system 無法寫入的問題, 有需要的話請重抓上頭的檔案吧.


作者: twu2    時間: 2013-7-26 12:24
由於那個 /system 寫入的修正是使用 busybox 去 remount, 一般的 mount 指令會不成功....
所以要改一下才能用...

這是我修改過的 OTA Root Keeper, 用這個版本就可以正常的備份與還原 root 了.
http://www.multiupload.nl/WLKYQNNJXC

需要系統更新時, 只要先用這個軟體備份一下 root 再執行 Temp. un-root 就能更新了.
更新後再 restore root 就可以.
作者: benchang00107    時間: 2013-7-29 16:19
請標明出處!!這是來自http://www.mobile01.com/topicdetail.php?f=605&t=3470158&last=45186983<他較先發表>
作者: benchang00107    時間: 2013-7-29 16:34
本帖最後由 benchang00107 於 2013-7-29 18:07 編輯

請問各位大大,acer A1如何 root?

我知道如何下載檔案,但在這裡我看不懂("檔案全抓下後用 7z解回 system.img.gz (不要解過頭成為 system.img 了), 放到 toolkit 下的 system_image 目錄下再執行 toolkit.exe 去 root 就可以了.")

1.請問"gz"是檔案格式,還是只是檔案名稱?因為我放進去是個winrar壓縮檔,而在壓縮檔中是個映像檔

2.如題,請問是要放rar檔,還是映像檔,還是其他?

3.請詳細說明如何root acer a1<有圖更好>

4.我在執行toolkit.exe中,他一下子就結束程序了,但我有把rar檔放在system_image 目錄下阿?

(備註:1.我檔案下載下來之後,依照版主說要用7zip解壓縮,所以用他解壓縮,解出來是winrar壓縮檔)
作者: twu2    時間: 2013-7-30 12:56
偷偷跟你說...... 其實出處也不算你說的那個網站..... 因為這篇文章在我的 blog 出現的時間還比那邊早一些.

說真的, 我實在看不懂你說的把 .7z.xxx 那幾個檔案是怎麼解成 .rar 的 (你確定不是用到壓縮的功能?)....
不就是用 winrar 打開那個檔案 (開啟 .7z.001 那一個就可以, 只要檔案放一起就可以正常解開), 應該就只看到裡頭有一個 system.img.gz 的檔案 把它拉到 system_image 的目錄下就可以. (它不是 .rar 的檔案.... 請把顯示副檔名的功能打開, 不要只看圖示.... )
作者: twu2    時間: 2013-7-30 14:00
之前對 /system 讀寫的修正是使用 sodaFR 所提供的方案, 由於系統本身多數的指令是透過 /system/bin/toolbox 來處理, 不過對於 mount 指令, 會限制不能把 /system remount 為可讀寫的模式. 而 sodaFR 的解決方法是加入一個 busybox 的程式, 然後透過 busybox 去 mount 就可以避開這個限制.

他寫了一個 /system/bin/wrapper.sh 的指令, 透過它去判斷是否要去 remount /system 為 rw 的狀態, 如果是, 就透過 /system/xbin/mount (softlink 到 busybox) 去處理. 其他就丟給原本的 /system/bin/mount (softlink 到 toolbox). 然後做一個 /system/bin/busybox 的 softlink 到 /system/bin/wrapper.sh, 這樣子, 只要是透過 /system/bin/busybox 去做 remount 的動作就會成功. 不是的話就會失敗.

不過.... 似乎很多程式在 remount /system 時, 並不是透過 /system/bin/busybox 去做 (為什麼要這樣做, 在 Android 有什麼限制要之樣子處理嗎? 一般 linux 的系統, 不都是直接呼叫 mount 指令來處理嗎?), 所以執行的結果就不正常. (所以上一篇我會對 OTA RootKeepert 做修正)

所以... 我就對這個再做了一點修正:

1.由於 busybox 是依據 softlink 的名稱來決定要執行什麼功能, 所以, 我們仍需要一個指到 /system/xbin/busybox 的 mount 指令, 但又不能用 /system/bin/mount 或 /system/xbin/mount, 所以... 就建一個目錄 /system/xbin/.mount_wrapper/ , 然後在裡頭做一個叫 mount 的 softlink 指到 /system/xbin/busybox, 如:
  1.     shell@android:/system/xbin/.mount_wrapper # ls -la
  2.     ls -la
  3.     lrwxrwxrwx root root 2013-07-30 10:09 mount -> ../busybox
複製代碼
2.把 /system/bin/wrapper.sh 改成這個樣子:
  1.     #!/system/bin/sh

  2.     CMD=`basename $0`
  3.     ARG="$*"
  4.     NEWARG="-o remount,rw /system /system/"
  5.     LArg=$(eval echo \$#)

  6.     case "$CMD" in
  7.     "busybox")
  8.     if [ $1 == "mount" ] && [ $2 == "-o" ] && ([ $3 == "rw,remount" ] || [ $3 == "remount,rw" ]); then
  9.     if [ $LArg == "/system" ] || [ $LArg == "/system/" ]; then
  10.     /system/xbin/.mount_wrapper/mount $NEWARG
  11.     # return $?
  12.     return 0
  13.     fi
  14.     fi
  15.     /system/xbin/busybox $ARG
  16.     # return $?
  17.     return 0
  18.     ;;

  19.     "mount")
  20.     if [ $1 == "-o" ] && ([ $2 == "rw,remount" ] || [ $2 == "remount,rw" ]); then
  21.     if [ $LArg == "/system" ] || [ $LArg == "/system/" ]; then
  22.     /system/xbin/.mount_wrapper/mount $NEWARG
  23.     # return $?
  24.     return 0
  25.     fi
  26.     fi
  27.     /system/bin/toolbox mount $ARG
  28.     # return $?
  29.     return 0
  30.     ;;
  31.     esac

  32.     exit 0
複製代碼
3.然後把 /system/bin/busybox, /system/bin/mount, /system/xbin/mount 都用 softlink 的方式指到 /system/bin/wrapper.sh, 如:
  1.     shell@android:/system/xbin # ls -la mount
  2.     ls -la mount
  3.     lrwxrwxrwx root root 2013-07-30 10:09 mount -> ../bin/wrapper.sh
  4.     shell@android:/system/xbin # cd ../bin
  5.     cd ../bin
  6.     shell@android:/system/bin # ls -la mount
  7.     ls -la mount
  8.     lrwxrwxrwx root root 2013-07-30 10:01 mount -> wrapper.sh
  9.     shell@android:/system/bin # ls -la busybox
  10.     ls -la busybox
  11.     lrwxrwxrwx root root 2013-07-30 10:01 busybox -> wrapper.sh
複製代碼
經過這樣子的處理之後, 不管是執行 /system/bin/mount 或 /system/xbin/mount (通常都是用這兩個吧) 或 /system/bin/busybox 來做 remount /system 的動作, 都可以正常執行. 我試過沒改過的 OTA RootKeeper 或 ES File Explorer 都可以正常運作.

我把相關的檔案連同 koush 的 Superuser.apk 與 su 打包成為 su.tgz, 可以由這兒下載:


http://www.multiupload.nl/9XZ7BJ6ZH0


如果要重做 system.img.gz 的話, 就抓回去解開來用就可以. 如果已 root 的機器, 會下指令就依照上頭的方式自己做, 或直接拿 su.tgz 到 /system 解開來用也可以.
作者: twu2    時間: 2013-7-31 09:07
這個是 TWN RV18RC11 版本以上面說的方式做出來的 system.img.gz (因為用 dd 清過, 所以壓起來小了許多), 如果需要請自己抓回去用吧.

system.img_20130730.7z.001 (100 MB)
[url]http://www.multiupload.nl/OG1RK9HYT9
[/url]

system.img_20130730.7z.002 (100 MB)
[url]http://www.multiupload.nl/FI6XFN8YOC
[/url]

system.img_20130730.7z.003 (100 MB)
[url]http://www.multiupload.nl/BHEPGDGXAN
[/url]

system.img_20130730.7z.004 (100 MB)
[url]http://www.multiupload.nl/KJFEVR3J6P
[/url]

system.img_20130730.7z.005 (7.5 MB)
[url]http://www.multiupload.nl/8AHGTHL6CD
[/url]

解開來的 system.img.gz 的檢查碼為:
  File: system.img.gz
CRC-32: ed63aebd
   MD4: dbd6eafff674c4428248e6f77cc80304
   MD5: f63b516201fe8d484cae9ee733bee39c
SHA-1: 1d610b9aa7339591651252404858d4601643c20e

原則上, 如果已經 root 的機器, 應該自己用 adb 進去改一改比較好, 當然.... 想重刷也可以. (不過重刷的風險畢竟比較大一些)
作者: twu2    時間: 2013-8-1 20:38
如果 toolkit 跑到 telnetd 那一段會停止, 是因為你的預設輸入法會有自動選自的功能, 會造成 toolkit 輸入的 telnetd 指令被改掉.
請將預設的輸入法改成 Google 拼音或語音輸入試看看, 如果還有問題, 再進去把英文自動更正之類的設定都拿掉.
我記得只要改成 Google 拼音的手寫就沒問題了.
作者: hdr510    時間: 2013-8-2 11:26
我不是工程師,但我很想root....可是看不懂你們說的教程......唉...好羨慕你們可以root
作者: e5792002    時間: 2013-8-2 12:58
twu2大您好,
我在root的過程中到了第二步讓平板自行輸入一段..應該是指令之後
/data/local/tmp/busybox telnetd -l /system/bin/sh -p 1234
toolkit就會閃退(閃退前的畫面我有拍到!)
google後有發現似乎是telnet未開啟,但我也已經到控制台的服務手動開啟它了,所以此原因應該排除
後來有看到您提醒輸入法的問題,我也已經改過設定,不會自動選字也沒有自動預測,所以此原因應該也排除,
我電腦也沒有安裝dropbox..
我使用的system.img是您20130730的檔案、usb偵測有開啟、rom版本為RV18RC11_TWN
希望您能救救我>< 感恩!!

附上閃退前一秒toolkit的畫面..
toolkit_error.jpg
登錄/註冊後可看大圖