綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教學] Acer A1-810 root

  [複製連結] 查看: 82497|回覆: 166|好評: 6
跳轉到指定樓層
樓主
twu2 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-7-24 22:16

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 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 (我是用這個) 來用就可以了.

  • 打開一個終端機, 如果不是 root, 就 sudo su - 切到 root 的環境.
  • 把 toolkit 抓下來, 解開來, 放在可以執行的目錄下,  例如: /root/toolkit
  • 如果你用的環境沒有 sudo (我用 SystemRescueCD 就沒有, 直接就是 root), 就修改 /root/toolkit/.toolkit.py 的內容, 把  sudo 都換成空白. (如果有 sudo 就不用)
  • 把 A1 用 USB 接上去 (先充飽電吧, 刷一半沒電可能就掛了), 先到設定 -> 顯示, 把休眠改成永不.
  • 如果你的開發人員選項沒打開, 請到設定 -> 關於平板電腦, 好像是影像版本 (或版本號碼, 忘了是那一個), 連續點七下以上, 就會打開開發人員選項.
  • 到設定 -> 開發人員選項, 開啟開發人員選項, 把偵錯 -> USB 偵錯打勾.
  • 執行 /root/toolkit/toolkit.sh
  • 選 2 => A1-810
  • 選 1 => root
  • 選 1 =>Root from scratch
  • 告知需要 10 分鐘, 按 enter 開始做吧 (後面會有一堆問題, 都是按 Enter 就可以).
  • 等出現 Successfully added su binary to system.img 這個時候, 可以按 Ctrl-C 跳開. (你要繼續做也可以, 不過我做到最後, 是有 /system/bin/su, 權限也對, 不過就是不能執行.
  • 這時你就有了一個你的 A1 dump 下來的 system.img.gz 在 /root/toolkit/ 下面.
  • 如果你不嫌檔案太大, 可以抓 toolkit 那討論串第一篇文章裡頭的 system RW workaround 那個連結的 system.img.gz 回來 (有 500MB 左右), 或者直接抓我下面這個檔案 (只抓取那個 system.img.gz 裡頭我們要用的檔案):
    a1_su_system_rw.tgz (1.5 MB)http://www.multiupload.nl/KE8QZ97Z3M
  • 先 gzip -d /root/toolkit/system.img.gz 成為 /root/toolkit/system.img.gz
  • mkdir /mnt/a1
  • mount -o loop/root/toolkit/system.img /mnt/a1
  • 如果你是抓上頭的個 a1_su.tgz 回來, 把它放在 /root/ 底下, 然後 cd /mnt/a1; tar zxvf /root/a1_su_system_rw.tgz 就可以.
  • 如果你是抓另外那一個 system.img.gz 回來的, 把他放到 /mnt 或其他路徑下,一樣 gzip -d 解成 system.img, 然後 mkdir /mnt/a1_2; mount -o loop /mnt/system.img /mnt/a1_2
  • 用 cp -a 把 /mnt/a1_2/bin/ 下面的 busybox, wrapper.sh 與 wrap.ext (目錄) 複製一份到 /mnt/a1/bin/
  • 用 cp -a 把 /mnt/a1_2/xbin/ 下面的 su 複製一份到 /mnt/a1/xbin/ (還有 /busybox 與一堆 softlink 到 busybox 的指令)
  • 用 rm -f 把 /mnt/a1/bin/su 刪除 (如果有的話)
  • 用 cp -a 把 /mnt/a1_2/app/ 下面的 SuperSU.apk 複製一份到 /mnt/a1/app/
  • 然後 cd /root; umount /mnt/a1; umount /mnt/a1_2
  • 接著執行 gzip -9v /root/toolkit/system.img 把它再壓回 system.img.gz
  • 把 system.img.gz 放到 /root/toolkit/system_image/ 下 (或者copy 到 Windows 的環境下)
  • 再執行一次 /root/toolkit/toolkit.sh (如果你是放到 Windows 下, 就是執行 toolkit.exe, 我是在 linux 試了一次沒有成功, 就到 Windows 下用了, 不確定是 toolkit 那一段沒寫好還是我弄錯了)
  • 重複一開始的動作, 選 2 => A1-810
  • 選 1 =>root
  • 這次選 2 => Root with prerooted system.img.gz
  • 接下去應該就都是 Enter 了, 到刷好為止.
  • 刷好就拔 usb, 電源鈕按著選關機, 然後等關機再按電源鈕開機, 開機後應該就是 root 的環境了.

如果你不想自己動手做, 也不怕抓個 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 無法寫入的問題, 有需要的話請重抓上頭的檔案吧.

「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 10碎鑽 +9 幫助 +10 收起 理由
chning + 1 + 1 非常讚
aids69004245 + 1 + 1 非常讚
summernewstar + 1 + 1 讚一個!
asd37202071 + 1 讚一個!
windoss98 + 1 + 1 非常讚
ineyycb + 1 + 1 很給力!
ttvhome0935 + 1 + 1 非常讚
e5792002 + 1 + 1 讚一個!
hanktsay + 1 + 1 非常讚
jadi + 1 非常讚

查看全部評分

收藏收藏8 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
 樓主| twu2 | 收聽TA | 只看該作者
發表於 2013-7-26 12:24
由於那個 /system 寫入的修正是使用 busybox 去 remount, 一般的 mount 指令會不成功....
所以要改一下才能用...

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

需要系統更新時, 只要先用這個軟體備份一下 root 再執行 Temp. un-root 就能更新了.
更新後再 restore root 就可以.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
benchang00107 | 收聽TA | 只看該作者
發表於 2013-7-29 16:19
請標明出處!!這是來自http://www.mobile01.com/topicdetail.php?f=605&t=3470158&last=45186983<他較先發表>
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
benchang00107 | 收聽TA | 只看該作者
發表於 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壓縮檔)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| twu2 | 收聽TA | 只看該作者
發表於 2013-7-30 12:56
偷偷跟你說...... 其實出處也不算你說的那個網站..... 因為這篇文章在我的 blog 出現的時間還比那邊早一些.

說真的, 我實在看不懂你說的把 .7z.xxx 那幾個檔案是怎麼解成 .rar 的 (你確定不是用到壓縮的功能?)....
不就是用 winrar 打開那個檔案 (開啟 .7z.001 那一個就可以, 只要檔案放一起就可以正常解開), 應該就只看到裡頭有一個 system.img.gz 的檔案 把它拉到 system_image 的目錄下就可以. (它不是 .rar 的檔案.... 請把顯示副檔名的功能打開, 不要只看圖示.... )

點評

我了解了,謝謝喔  發表於 2013-7-31 20:21
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
 樓主| twu2 | 收聽TA | 只看該作者
發表於 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 解開來用也可以.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| twu2 | 收聽TA | 只看該作者
發表於 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 進去改一改比較好, 當然.... 想重刷也可以. (不過重刷的風險畢竟比較大一些)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
 樓主| twu2 | 收聽TA | 只看該作者
發表於 2013-8-1 20:38
如果 toolkit 跑到 telnetd 那一段會停止, 是因為你的預設輸入法會有自動選自的功能, 會造成 toolkit 輸入的 telnetd 指令被改掉.
請將預設的輸入法改成 Google 拼音或語音輸入試看看, 如果還有問題, 再進去把英文自動更正之類的設定都拿掉.
我記得只要改成 Google 拼音的手寫就沒問題了.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
hdr510 | 收聽TA | 只看該作者
發表於 2013-8-2 11:26
我不是工程師,但我很想root....可是看不懂你們說的教程......唉...好羨慕你們可以root
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
e5792002 | 收聽TA | 只看該作者
發表於 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的畫面..
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則