{"id":382,"date":"2012-09-28T11:04:53","date_gmt":"2012-09-28T09:04:53","guid":{"rendered":"http:\/\/valentijn.sessink.nl\/?p=382"},"modified":"2014-05-16T17:51:27","modified_gmt":"2014-05-16T15:51:27","slug":"rooting-the-cube-u30gt-rk3066-android-tablet","status":"publish","type":"post","link":"https:\/\/valentijn.sessink.nl\/?p=382","title":{"rendered":"Rooting the Cube U30GT rk3066 android tablet"},"content":{"rendered":"<p>I just bought a Cube U30GT Android tablet, based on the Rockchip RK3066 ARM chipset. Here are the instructions to <em>root<\/em> it under Linux.<!--more--><\/p>\n<p>The U30GT is a nice tablet. It only cost me about 180 euros (\u20ac150 tablet + shipping, \u20ac30 VAT or &#8220;BTW&#8221; as it&#8217;s called in the Netherlands). Value for money!<br \/>\nNow the reason I bought this very tablet is that it&#8217;s specs are nearing older Intel &#8220;Atom&#8221; chips, which could mean that this \u20ac180 tablet is actually a \u20ac350 laptop &#8211; minus keyboard. So the first thing to do here was to root the thing.<br \/>\nHere is the step-by-step instructions for rooting this tablet under Linux. Usual disclaimers apply: do not try this at home; if you break your tablet, it&#8217;s broken; no guarantees. It worked for me, quite easily, but it may not work for you.<\/p>\n<p>2012-04-12 I received some reports of non-bootable machines, please read the <a href=\"https:\/\/valentijn.sessink.nl\/?p=446\" title=\"(not) rooting your RK3066 tablet\">update<\/a>.<br \/>\n<strong>2014-06-16 Updated update: <a href=\"https:\/\/valentijn.sessink.nl\/?p=517\" title=\"unbricking stuff\">unbrick<\/a> your Neo X7<\/strong> and most likely unbrick and\/or flash other RK3XYZ machines. The warning no longer applies. Also, see below.<\/p>\n<ol>\n<li>get the <em>rkflashtool<\/em> source code from <a title=\"SourceForge\" href=\"http:\/\/sourceforge.net\/projects\/rkflashtool\">sourceforge.net\/projects\/rkflashtool<\/a>.<\/li>\n<li>Add USB identification for the RK3066 chip,<em> 0x2207, 0x300a<\/em>. Your code will now look like:<br \/>\n<code>if (!(h = libusb_open_device_with_vid_pid(c, 0x2207, 0x290a)))<br \/>\n if (!(h = libusb_open_device_with_vid_pid(c, 0x2207, 0x281a)))<br \/>\n  if (!(h = libusb_open_device_with_vid_pid(c, 0x2207, 0x300a)))<br \/>\n\u00a0\u00a0 fatal(\"cannot open device\\n\");<\/code>\n<\/li>\n<li>Install libusb-1.0-0-dev and compile:<code><br \/>\nsudo apt-get install libusb-1.0-0-dev<br \/>\ngcc -o rkflashtool rkflashtool.c -lusb-1.0 -O2 -W -Wall -s<\/code>\n<\/li>\n<li>Turn off your U30GT. Insert the USB cable. Hold the &#8220;volume +&#8221; button, then push the &#8220;power&#8221; button for about 5 seconds. Afterwards, &#8220;lsusb&#8221; should show the U30GT identification, something like <em>Bus 001 Device 007: ID 2207:300a<\/em><\/li>\n<li>Read the partition information for your U30GT:<br \/>\n<code>sudo .\/rkflashtool r 0x0000 0x2000 &gt; \/tmp\/parm<\/code>\n<\/li>\n<li>in \/tmp\/parm you will find something like:<br \/>\n<code>CMDLINE: console=ttyFIQ0 androidboot.console=ttyFIQ0 init=\/init initrd=0x62000000<br \/>\n,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000<br \/>\n(kernel),0x00008000@0x00008000(boot),0x00008000@0x00010000(recovery),0x00100000@0<br \/>\nx00018000(backup),0x0003a000@0x00118000(cache),0x00200000@0x00152000(userdata),0x<br \/>\n00002000@0x00352000(kpanic),0x00100000@0x00354000(system),-@0x00454000(user)<\/code><br \/>\nIt&#8217;s the &#8220;(system)&#8221; partition that we&#8217;re after. In this case: 0x00100000@0x00354000<\/li>\n<li>Use rkflashtool again, with our newly found parameters:<br \/>\n<code>sudo .\/rkflashtool r 0x00354000 0x00100000 &gt; \/tmp\/system.loop<\/code>\n<\/li>\n<li><strong>Save this file in a safe place, it is your original!<\/strong><\/li>\n<li>From hereon, it&#8217;s rather trivial. Mount the image, change whatever you like and write it back. Something like:<br \/>\n<code>sudo mount -o loop \/tmp\/system.loop \/mnt<br \/>\ncd \/mnt\/app<br \/>\ncp ~\/Download\/Superuser.apk \/mnt\/app<br \/>\ncp ~\/Download\/su.arm \/mnt\/bin\/su<\/code><br \/>\nThere are lots of other things that you may want to do, like removing <em>buyu.apk CCCCACDE.apk com.chaozh.iReaderFree_145459.apk cube.0.3.0_v2963.apk es.apk Galaxy4.apk hd.apk HoloSpiralWallpaper.apk MagicSmokeWallpapers.apk qq_hd_1.7.0.apk uc.apk<\/em>, change the bootanimation.zip and mess around freely. You did copy your image in step 8, didn&#8217;t you?<\/li>\n<li>Write back and reboot:\n<p><code>sudo umount \/mnt<\/code><br \/>\n<strike>sudo .\/rkflashtool w 0x00354000 0x00100000 < \/tmp\/system.loop<\/strike><br \/>\nI guess you need to write back with <code>sudo .\/upgrade_tool di -s \/tmp\/system.loop<\/code>, see <a href=\"https:\/\/valentijn.sessink.nl\/?p=517\" title=\"unbricking stuff\">here<\/a> for more information about upgrade_tool; but I&#8217;ll try to find a spare moment to write a separate blog post about it. Then reboot.<br \/>\n<code>sudo .\/rkflashtool b<\/code><\/li>\n<\/ol>\n<p>That&#8217;s all, folks!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just bought a Cube U30GT Android tablet, based on the Rockchip RK3066 ARM chipset. Here are the instructions to root it under Linux.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[83,9,32,76,77,78],"class_list":["post-382","post","type-post","status-publish","format-standard","hentry","category-happy-hacking","tag-flashing","tag-linux","tag-open-source","tag-rk3066","tag-rooting","tag-tablet"],"_links":{"self":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=382"}],"version-history":[{"count":23,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/382\/revisions"}],"predecessor-version":[{"id":550,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=\/wp\/v2\/posts\/382\/revisions\/550"}],"wp:attachment":[{"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/valentijn.sessink.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}