How to Root Rockchip Devices in Linux

Rooting methods for devices based on Rockchip RK3066 and Rk3188 are usually only provided for Windows, so if you run Linux as your main operating system, you would either need to find a Windows based devices, or run Windows in a virtual machine.  Luckily, Linux users may not have to switch to Windows anymore thanks to the instructions provided in one article that I’ll summarize below. The steps below are for Ubuntu / Debian based systems, but should be easily adaptable to other distributions.

Set up ADB access to the device

  1. Install adb:
  2. Edit/create /etc/udev/rules.d/51-android.rules with the following line in order to let standard users connect to the device:
  3. Make sure that the Linux user is part of group “plugdev”:
  4. Reload of the USB access rules to get the latest one on:
  5. Add your device USB Vendor ID to adb list. e.g.:
  6. Restart the adb server:
  7. Verify adb is working with your device by listing the connected devices:

Configure your Rockchip device for ADB access.

This part is exactly the same as for the Windows methods, so I’ll be prompt. You first need to enable “Mass Storage” USB connection, enable “Unknown source”, and finally enable “USB debugging” in the “Developer Options” in Android.

Rooting the Rockchip device from a Linux terminal

  1. Download TPSarky-VonDroid-Root.rar with su, SuperSU, busybox, and RootExplorer binaries, extract the files, and go to the directory in a terminal window.
  2. Download the rooting script, and save it as rkroot.sh
  3. Make the script executable:
  4. Run rkroot.sh, and follow the instructions. It will take a while as a few reboot of your Android device are needed, as is the case in Windows too with TPSparky method.

Your Rockchip device should now be rooted from a Linux PC. I haven’t tried it myself, but the method is known to work at least on RK3066 devices, if you’ve also tried successfully or not with RK3188 devices, do let us know in the comments’ section. Please be aware that with this type of procedure things can go bad, data be lost, and worse case, you may even brick your device.

Support CNX Software - Donate via PayPal, become a Patron on Patreon, or buy review samples
Subscribe
Notify of
guest
8 Comments
oldest
newest most voted
Dr. Azrael Tod
7 years ago

oh… nice
gonna try that on my archos gamepad sometime that weekend. 🙂

onebir
onebir
7 years ago

I hope this works with RK3188s too 🙂

Notes for noobs:
1) you need to put your login name in place of the word user in “groups user”, then check the output includes plugdev (which I guess is the list of users with access to USB devices?).

2) >> in echo “0x2207” >> ~/.android/adb_usb.ini just appends “0x2207” to the end of the adb_usb.ini file. (I mention this cos I’d forgotten what >> does – yep, still a noob – and googling >> is very unhelpful 🙂

zoobab
7 years ago

I wrote that page because it took me a while how to get ADB shell running on my RK3066 tablet:

http://linux-rockchip.info/mw/index.php?title=ADB_shell_with_RK3066

hamgom95
hamgom95
6 years ago

worked nice with my QC802 – thank you very much

Chezzy
Chezzy
6 years ago

Good Work.

I finally managed to root my Zoostorm Playtab 3305-1030

Much appreciated

Ritzar12
Ritzar12
5 years ago

I have a Kingpad K70 with an rk3128 processor. I ‘successfully’ performed the root but now have supersu telling me that no SU binary is installed and supersu cannot install one.

Any suggestions on how to correct this?

Dyspeptic Curmudgeon
Dyspeptic Curmudgeon
4 years ago

AWESOME! I was getting really pissed at fighting drivers and such in a WinXP virtual. Really nice to be able to do this directly in Fedora. (I only needed to install unrar, to extract the TPSarky file. and android-tools (in Fedora (not android-tools-adb). Fedora 24 with kernel 4.6.5-300.fc24.x86_64 and a Dragon Touch DTR97. Rockchip 3188 obviously! I found that the rkroot script did not want to continue properly after a reboot. Read in bash (and likely the other linux shells) does NOT act exactly like ‘pause’ does in windows. The script was waiting for a line-end aka ‘Enter’ or ‘Return’… Read more »

Advertisements