[HOW-TO] Lenovo IdeaTab A1000 Rooting - Thinkpad Tablet General

HOW TO ROOT YOUR LENOVO IDEATAB A1000​
<DISCLAIMER>​
By attempting these steps, your warranty will be void. Even worse than that, it might cause crashes, freezes, random explosions, 2nd degree burns, or even turn your beloved tab into $100+ paperweight. What works on mine might not work on yours, so don't attempt if you don't know what you're doing. Do at your own risk. Corrections are welcome. I must admit that I'm not an expert, so any info I posted might be wrong, and I can't offer you much help. I'm not responsible for anything arising from the use of this how-to. I can only wish you good luck.
<WHY ROOT?>​
- Without root or OTA upgrades (at time of writing, Indonesian customers still can't get it), you'll be stuck with ~500MB internal memory. That's annoying.
- You're stuck with the default IO scheduler (cfq) and governor (hybrid, haven't heard that one..)
- You have an incredibly large amount of bloatware you can't get rid of, in that already cramped up internal storage
- Did I mention freedom?
<REQUIREMENTS>​
This method is originally used to root Acer Iconia B1-A71. Somehow I noticed that the two actually has the same chipset, MTK8317 (if it really was relevant ). So I tried the method, and through sheer n00b's luck, it worked like a charm!
Lenovo IdeaPad A1000-G --> 4GB storage, 2G/EDGE. This method haven't been tested on A1000-T/F, different storage cap (16GB, etc.) or other variants, but it should work with slight modification. Screenshots of my specs are attached below. Remember, proceed at your own risk!
A Linux System. Never tried on Windows or Mac. I personally used Linux Mint 15. The source post uses Ubuntu.
working ADB (android-tools-adb). You can get this from synaptics, apt-get, etc. If your system can detect adb devices, you should be fine.
Superuser Binary
Busybox Binary (You can get these two from the links on original post. XDA says noobs can't post links :'( )
ORIGINAL THREAD
<CREDITS>​
XDA Senior Member entonjackson, for writing such a noob-friendly how-to for rooting Acer Iconia B1-A71 and for allowing me to use it for this how-to.
XDA Member alba81, for discovering the method as acknowledged on the original post by entonjackson
All awesome gurus on XDA which I can't mention one by one.
<THE STEPS>​
1. Extract the android sdk to your home folder, e.g. a user named Bob will use like /home/bob
2. Open a terminal
3. Now plug your A1000 into your machine and turn on Debugging Mode (Go into Settings -> Developer Tools, turn on Developer tools, then turn on USB Debugging Mode)
4. Now back at the keyboard of your Linux machine in your terminal type:
Code:
sudo adb devices
The output should be something like:
Code:
123456789ABCDEF device
If it's not, google for it. Somehow your Linux hasn't detected the A1000, although the android sdk for Linux brings all needed drivers with it.
If your device was found, congratulations. The adb connection between your linux machine and your tablet is intact.
5. Now extract the downloaded busybox archive to your home folder, in it there should be a busybox binary. So Bob does:
Code:
sudo ./adb push /home/bob/busybox /data/local/tmp
Code:
sudo ./adb shell
Code:
chmod 755 /data/local/tmp/busybox
6. You should copy the busybox binary into a directory where you can access it as a plain non-root user on the tablet. We need this binary. so we can apply unix tools like telnet, dd, cat, etc. But for now we need it to establish a telnet session between our tablet and our linux machine.
(This point is written on original post. Seems important, but as soon as I finished step 5, I can use those tools)
7. Dial *#*#3646633#*#* to enter Engineer Mode
8. Go to Connectivity -> CDS Information -> Network Utility
9. type the following command:
Code:
/data/local/tmp/busybox telnetd -l /system/bin/sh -p 1234
Advice from original poster: copy and paste it from the browser on your tablet, because dependent on which keyboard app installed, this can be freakin tricky. In the next step you will learn, why it's so important why this command should be correct.
10. Tap on Run. You won't get any feedback, so you will never know if the entered command runs properly or not. That's why you should make sure the command is ok.
Now we have started our telnet server on the tablet.
11. Back in the terminal type:
Code:
/data/local/tmp/busybox telnet 127.0.0.1 1234
If you now get an error like couldn't find busybox or something, then either adb push failed or you forgot to chmod, in step 5
12. Now enter:
Code:
cat /proc/dumchar_info
You should get a bunch of lines, try to find a line containing the partition named android
{..... partition list .....}
android 0x0000000028A00000 0x00000000020E8000 2 /dev/block/mmcblk0p3
{..... partition list .....}
13. We will create a dump of our android system. This is the point where different variants *MIGHT* have different parameters. This step is important, as wrong parameter will result in unmountable image.
Stop. Take a deep breath. If you're not familiar with dd, find a good doc of it. There's a plethora of them.
Get yourself a programmer's calculator (Linux Mint 15 has one built in).
Here's what you'll do :
Convert the hex number on the 3rd column into decimal. In my case (0x20E8000) will yield 34504704. Divide by 4096. The result (8424) goes to the skip parameter.
Convert the hex number on the 2nd column. In my case (0x28A00000) will yield 681574400. Divide by 4096. The result (166400) goes to the count parameter.
So the full dd command will look like :
Code:
dd if=/dev/block/mmcblk0 bs=4096 skip=8424 count=166400 | gzip > /cache/system.img.gz
Do a full sanity check before hitting enter! It will take about 5 minutes.
14. After it's finished we must make the image readable for adb, so we do:
Code:
chmod 777 /cache
and
Code:
chmod 777 /cache/system.img.gz
15. Leave the telnet, and then adb shell session by:
Code:
exit
Code:
exit
16. Now we pull our image by
Code:
sudo adb pull /cache/system.img.gz
wait 1-2 minutes.
It should be then located inside /home/bob. It did for me. If not, do a search . It should be a .gz, extract it right there (or /home/bob if it isn't there)
17. Now we need to modify our system image by adding the tiny but helpful su binary. Extract the SU binary to /home/bob.
18. We create a folder where we will mount our system image to. To create it do:
Code:
sudo mkdir /media/a1000
19. Now we mount it:
Code:
sudo mount -o loop /home/bob/system.img /media/a1000
if it fails, then you entered wrong parameters on step 13
20. Now we copy our SU binary to our mounted system image:
Code:
sudo cp /home/bob/su /media/a1000/bin
21. the su binary needs to have the proper rights to make it usable, so we 'suid' it with:
Code:
sudo chmod 06755 /media/a1000/bin/su
22. Let's unmount our baby by:
Code:
sudo umount /media/a1000
and because bob doesn't like a messed up system, he does:
Code:
sudo rm -rf /media/a1000
because he hopefully won't need it anymore.
23. We have to gzip it again to bring it back to where it belongs to. this we do by:
Code:
cd /home/bob
Code:
gzip /home/bob/system.img
24. So here we are now, we made it to the final Boss fight! The next steps are dangerous and should be performed with caution. We copy back our modified system image, which can brick your device, if you do a mistake! Enter adb shell again :
Code:
sudo adb shell
25. Remove the old boring image:
Code:
rm /cache/system.img.gz
26. Leave adb shell
Code:
exit
27. copy our cool new system image containing the su binary:
Code:
sudo adb push /home/bob/system.img.gz /cache
28. Enter adb shell again
Code:
sudo adb shell
29. Usually the telnet server on the tablet is still running, at least in my case it's been like that. That's why we can directly connect to the telnet server with:
Code:
/data/local/tmp/busybox telnet 127.0.0.1 1234
If this doesn't work, then obviously your telnet server isn't running anymore. So on your tablet if the telnet command is still entered (see step 9), tap on Run again and repeat step 29.
30. Now this is the most dangerous step in this how to (no it wasn't the mkdir one). You can copy following command to make sure everything is fine and paste it into your telnet session on your linux terminal.
<WARNING! SANITY CHECK! MAKE SURE *ALL* THE DD PARAMETERS MATCH THE FIRST DD (STEP 13) OR YOUR A1000 WILL TURN INTO A VERY EXPENSIVE PAPERWEIGHT!>
Code:
[B]/data/local/tmp/busybox zcat /cache/system.img.gz | dd of=/dev/block/mmcblk0 bs=4096 seek=8424 count=166400[/B]
After 1-2 minutes you're done, if your tablet or pc or yourself didn't catch fire, everything's fine.
31. Leave telnet / adb shell by doing
Code:
exit
Code:
exit
32. Reboot your A1000 via ADB, then exit
Code:
sudo adb reboot
Code:
exit
33. Unplug your tablet from PC
34. Install Superuser (No, not SuperSU, cause it won't work!). I personally use Superuser by ChainsDD, from Play Store
35. Be lucky. Your tablet and thus you are now free!
Don't forget to hit thanks, if this helps ​

hi, after step 13 (i double checked the command), i get this error
Code:
/system/bin/sh: can't create /cache/system.img.gz: Permission denied
/dev/block/mmcblk0: cannot open for read: Permission denied
I have the WiFi 4G version

Im too stuck in step 13.....nothing wrong with the script, can u give me a solution?
Im using A1000G also

@ts
Your guide work perfectl, in windows enviroment but mount step still need linux,
I've question are you using DirectoryBinding? Mine always close when playing Real Racing, its very annoying
You have suggeztion or alternative for DirectoryBinding?

Root with Windows ?
Hi,
I am a new member because i bought this tblet but i can't root. I don't have a linux environment, so there is a solution with W8 Pro 64 ?
Thanks a lot for you help,

ulisez said:
hi, after step 13 (i double checked the command), i get this error
Code:
/system/bin/sh: can't create /cache/system.img.gz: Permission denied
/dev/block/mmcblk0: cannot open for read: Permission denied
I have the WiFi 4G version
Click to expand...
Click to collapse
have you chmod-ed the busybox (or is the chmod successful without error)? Try chmod-ing the /cache before attempting step 13. It seems that you still don't have access to the NAND device (mmcblk0). Have you updated firmware via OTA?
artonelico said:
Im too stuck in step 13.....nothing wrong with the script, can u give me a solution?
Im using A1000G also
Click to expand...
Click to collapse
Do you encounter the same error message like ulisez had? Could you post the screenshot of the partition list (the lines after you execute dumchar_info)?
rmage said:
@ts
Your guide work perfectl, in windows enviroment but mount step still need linux,
I've question are you using DirectoryBinding? Mine always close when playing Real Racing, its very annoying
You have suggeztion or alternative for DirectoryBinding?
Click to expand...
Click to collapse
I personally use Link2SD by Bulent Akpinar to link apps to 2nd partition on my SDcard.
Letsar said:
Hi,
I am a new member because i bought this tblet but i can't root. I don't have a linux environment, so there is a solution with W8 Pro 64 ?
Thanks a lot for you help,
Click to expand...
Click to collapse
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029

sammymaddog said:
have you chmod-ed the busybox (or is the chmod successful without error)? Try chmod-ing the /cache before attempting step 13. It seems that you still don't have access to the NAND device (mmcblk0). Have you updated firmware via OTA?
Do you encounter the same error message like ulisez had? Could you post the screenshot of the partition list (the lines after you execute dumchar_info)?
I personally use Link2SD by Bulent Akpinar to link apps to 2nd partition on my SDcard.
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029
Click to expand...
Click to collapse
Link2SD doesn't link app data, do you have any option?

yes i had same message with ulyses, by the way im from indonesia too can i contact you through chat client?
oh yeah im using windows 7 and using cmd as a terminal in linux
thx before bro

sammymaddog said:
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029
Click to expand...
Click to collapse
Ok, i see his toolkit. It's very good. I'll wait

rmage said:
Link2SD doesn't link app data, do you have any option?
Click to expand...
Click to collapse
I'm not sure whether the stock kernel of our devices supports init.d, thus supports CronMod/Data2SD. Lenovo locked our bootloader, and currently there's no way around it. So I personally think, Link2SD method are the best option for now.
Let's give it several months until our dev gurus bring their miracles upon this device

The attached image shows mt6577 Hardware, can u provide the Soc details please

Hi, Can any one upload Lenovo ideatab A1000 system.img

in step 20, it appears you are writing to a /bin directory on the android system. However such a directory is not visible either through shell or the system telnet account.
Do I need to understand something else about android to make sense of this.
regards
vidya

one month gone past but the op seems to be in caves or has bricked the device

STOCK ROM
CAN ANY BODY PROVIDE ME A STOCK ROM OF THIS DEVISE
I HV ROOTED SUCCESSFULLY BY A VERY EASY METHOD
BUT SCREWED UP WHILE UPDATING IT SO PLZ PLZ HELP ME OUT
THE DEVICE BOOTS BUT ALL THE APP CRASHES :crying::crying:

VR.gtmini said:
The attached image shows mt6577 Hardware, can u provide the Soc details please
Click to expand...
Click to collapse
VR.gtmini said:
one month gone past but the op seems to be in caves or has bricked the device
Click to expand...
Click to collapse
sorry to make you wait. I'm a last grader university student, and final project stuffs have got me pinned down. Hope you understand
Actually the SoC is MT8317. For some god-knows reason Mediatek have made this SoC with signatures similar to MT6577. But somehow CPU tweaker correctly detects the SoC (MT8317). Maybe it's the CPU-Z bug?
unknown_world said:
Hi, Can any one upload Lenovo ideatab A1000 system.img
Click to expand...
Click to collapse
zod0070 said:
CAN ANY BODY PROVIDE ME A STOCK ROM OF THIS DEVISE
I HV ROOTED SUCCESSFULLY BY A VERY EASY METHOD
BUT SCREWED UP WHILE UPDATING IT SO PLZ PLZ HELP ME OUT
THE DEVICE BOOTS BUT ALL THE APP CRASHES :crying::crying:
Click to expand...
Click to collapse
I'm uploading the modified .img. Let's pray my old HSPA modem won't catch fire by the morning.
vidyadhara said:
in step 20, it appears you are writing to a /bin directory on the android system. However such a directory is not visible either through shell or the system telnet account.
Do I need to understand something else about android to make sense of this.
regards
vidya
Click to expand...
Click to collapse
I think you got it wrong. The write process does not take place on the device. It's on the loop-mounted .img in /mnt/a1000 on your computer (step 18-19). Cheers!

Here's the ALREADY BUSYBOX-ED .img for Ideapad A1000-G 4GB EDGE version. Hope it helps :
www dropbox com/s/rmpnz7c285t5sqz/system.7z

sammymaddog said:
Here's the ALREADY BUSYBOX-ED .img for Ideapad A1000-G 4GB EDGE version. Hope it helps :
www.dropbox.com/s/rmpnz7c285t5sqz/system.7z
Click to expand...
Click to collapse
Thanks for coming back, could u post the MD5 of the system.7z & system.zip.
Also could u provide simple way/steps to directly flash this .img without extracting existing stock system image
My tab A1000-G

do you have stockROM for lenovo A1000G
I need this :crying:

raffly said:
do you have stockROM for lenovo A1000G
I need this :crying:
Click to expand...
Click to collapse
Don't worry, the above link is a stock Lenovo A1000 G ROM, but with pre-root files having no superuser app. Just extract the .7z file
System.7z MD5: 658CA71AC8A230B244F267513857F9A5

Related

Guide to install LXDE on samsung galaxy s

So 3 days of trying to install ubuntu on chroot and a little knowledge of linux and terminal, i was rather surprised to log into it and there i was, faced with an LXDE interface.
I want to thank coralic, burningbroccoli, lifehacker, josh_axeY and backfireNL for supplying the information i needed to make this possible.
So a brief overview of whats going to be done. First we will need to root our galaxy s in order to access terminal. An ubuntu image will be created and used in chroot environment by mounting (loading) it. Finally a vnc server will be setup and will be logged in using androidVNC.
So for the guide i suppose!
Guide:
First your going to need to root your phone. This is to access terminal and enter the commands required. This is taken from backfireNl's easy way to root your phone.
1. Download: 2.1 Update .zip
2. Put update.zip to root of /sdcard (not /sdcard/sd) (not on the physical SD card but the Internal SD card/Phone Memory)
3. Turn off phone
4. Hold down volume up + home button + power (tip: release the power button for half a second when you see the samsung logo)
5. Phone will reboot into recovery mode
6. Wait until you see the Recovery Screen and then release the buttons
7. With the volume down key go to the option: "apply: /sdcard/update.zip"
8. Press the home button
9. Phone will start updating
10. Phone reboots... and there you go! your phone is rooted!
So that wasnt too hard was it? Although once you have done this, you will need to download a couple of programs from the market. Goto market and download the following programs:
-Busybox
-Terminal Emulator
-androidVNC
Ensure all of these are installed as this is what you shall need in order to successfully run LXDE on your phone.
Next is the image for the install! i will post up an image file for download although for the sake of people wanting the whole info on how-to here it is.
1) login on your ubuntu machine and fire up terminal.
2) login as the super user by entering "sudo su"
3) you will be required to enter your su password, enter this and you will be logged in as root
4) In terminal enter "apt-get install rootstock"
5) One this package is all installed, enter the following code into the computer terminal:
sudo rootstock -f localhost --login ubuntu --password ubuntu --imagesize 1G --notarball --dist lucid --seed ssh,tightvncserver,lxde,expect
6)The image will be stored in the home folder. The image will need to be a .img file or it wont work. So extract the file if necessesary and rename the file so it reads "ubuntu.img"
7)Now you will need to put the ubuntu.img on the phone. The directory which it needs to be installed into is "/sdcard/ubuntu/"
8) All done for this step!
Ok so you have everything setup and ready to do the fun part! so lets get everything mounted and configured!
1)Open up terminal emulator on your phone
2)enter "su". this logs you in as superuser
3)I found you will need to make the following directories in order to work, so in terminal emulator enter:
mkdir /data/local/mnt
mkdir /data/local/mnt/proc
mkdir /data/local/mnt/dev
mkdir /data/local/mnt/dev/pts
4)enter "cd sdcard" then "cd ubuntu"
5)You will then be in the folder with the image. Type into terminal:
export HOME=/root
export USER=root
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
busybox mount -t ext3 ubuntu.img /data/local/mnt
busybox mount -t proc proc /data/local/mnt/proc
busybox mount -t devpts devpts /data/local/mnt/dev/pts
busybox chroot /data/local/mnt /bin/bash
/etc/init.d/ssh start
6) Although it doesnt seem it, your now into your distro!
Okay so your into your distro but it looks all horrid and "text based". wouldnt it be lovely to see a proper desktop? so lets go!
1) enter into terminal "apt-get install x11vnc" this installs x11vnc to your phone. This may take a while depending on how your connected to the net
2) once x11vnc is installed, type "x11vnc -storepasswd" and enter a password. It will ask to verify the password so enter it again, then enter "y" to setup a password for it
3) first enter "vncserver" to initiate the server on your distro. For some reason without this, androidVNC will start to connect then crash
4)finally enter "x11vnc -usepw -find"
now your x11vnc is setup using a password hooray! last step in this guide and you will be away in no time! So is everyone ready?
1)hit the button on the bottom to return to the desktop but keep terminal emulator running
2)goto androidVNC and enter the following:
Nickname: root
Password: (whatever password you setup in x11vnc)
address: localhost
Port: 5900
color format can be anything, i set it to 4 bpp and use local mouse pointer
3)Simply click "connect" and viola! welcome to your impressive lxde environment!
This has been done before although i tried to do every step, base it around the phone as much as possible so no connecting to the computer.
any questions or problems i will try my best to help you guys, and thanks for the guys who helped me on this voyage.
i will write a bash script soon to try and incorporate as much of the manual typing in as possible
good luck!
Things which need to be done:
Upload image: Completed! - http://www.megaupload.com/?d=H55O5UEM
Bash script for terminal emulator: Completed, needs to be uploaded
Bash script for setup process of terminal emulator: Not completed
Startup script for image: Not completed
Youtube video: Not completed
Include internet browser and x11vnc in image file: Not completed
If anyone has any recommendations on how to make the process easier please let me know and i will try my best
Good to see the info consolidated into one post!
Cheers for the shoutout.
no probs your information helped me soo much, i just thought it would be good for someone to goto a post and go "oh yeah thats how to do it" instead of going to loadsa websites
i will try it very soon, thank you.
awesome!
When will you post your img file? I'll have a try.
I have no ubuntu installed, I'm using ArchLinux.
okay ive written a bash script to automate most of the process although there are a few things i could tweak before im fully happy
i have also posted a youtube video to demonstrate how easy it is! the first post will be updated with the link.
people ask me the reason for doing this and i have 2 replies:
1)to show the true potential of this phone (and working in a phone shop it really works)
2)for development purposes. Things like this are the next step in unlocking the true potential of the phone
lijgame: Im just uploading it now for you
Good work, will give it a try. And what about any browser ? Like firefox ?
hi.
okay so this is installing ubuntu into a chrooted environment and vnc'ing to it.
does anyone know if it is possible to blow away android and install pure debian on it? does anyone know of a hardware list on the sbc in this thing and what sort of support one might need to hack in to get a such a thing to work?
I will apologise now for the delay in image upload, the image file is 1gb and im having trouble finding a place to upload it.
In terms of installing a clean debian would need more than just a straightforward port. You would be looking at making an environment which supports the arm architecture, porting all of the drivers over, creating an option to support telephony, messages and gps too. If you wanted a debian environment it would probably be best to either run it like how the n900 does or getting a distro of it which is specifically made towards mobiles and modifying it.
Although you have an extremely good point there! Tell you what, once ive got everything running on here i will have a look and see what i can do in terms of atleast getting a debian shell running or a limo version
.kiz said:
I will apologise now for the delay in image upload, the image file is 1gb and im having trouble finding a place to upload it.
Click to expand...
Click to collapse
Just create zip/tar-ball of img file and it will become around 300MB. Then you can upload it on multiupload (or megaupload/rapidshare/mediafire).
I just created that image too and will be testing on my Galaxy S soon, so if its working for me then I will upload my image too.
Thanks for your good work
haha i shouldve really thought about compressing the file really
this will be a pre-image im just working on getting a better image with optimization, x11vnc and firefox
okay guys the first post is edited with the image for the install.
http://www.megaupload.com/?d=H55O5UEM
I am currently in the process of playing about with images to include everything you need, so soon enough i will have an image with everything you need to get started
Tnx for the credit!
Ubuntu image is uploaded and ready to go, im currently working on a better image so when ive finished that, it shall be released.
Also i have recently installed an internet browser and it is functioning properly. I will post screenshots soon
.kiz said:
okay guys the first post is edited with the image for the install.
http://www.megaupload.com/?d=H55O5UEM
I am currently in the process of playing about with images to include everything you need, so soon enough i will have an image with everything you need to get started
Click to expand...
Click to collapse
The image is only 11MB and is corrupted
Moreover, I tried to mount my ubuntu.img to /data/local/mnt but it is giving error (sort of -> loop back device can't be mounted: No such file or directory) although I created and checked /data/local/mnt directory which exists
Try creating a second loop device with: mknod /dev/loop2 b 7 0
fslateef said:
The image is only 11MB and is corrupted
Moreover, I tried to mount my ubuntu.img to /data/local/mnt but it is giving error (sort of -> loop back device can't be mounted: No such file or directory) although I created and checked /data/local/mnt directory which exists
Click to expand...
Click to collapse
im guessing because the image is corrupt, your unable to mount it.
I have just uploaded my bash script making it easier to mount each time.
bash script: http://www.megaupload.com/?d=CEU6R5J4
Image file: http://www.megaupload.com/?d=H55O5UEM
ensure you have made the directories explained in my first post.
pop the hsetup.sh file inside /sdcard/ubuntu (along with your image)
then fire up terminal emulator and type:
su
cd sdcard
cd ubuntu
sh hsetup.sh
This mounts everything for you and logs you into LXDE, all you need to do after is type in:
/etc/init.d/ssh start
vncserver
x11vnc -find
Then log in using androidVNC
i will attempt to upload the file to another location and i will test the image file to ensure its not a compression error
i apologise, ive just looked at the zip file and it is corrupt.
just compressing a new one and i will upload it
.kiz said:
im guessing because the image is corrupt, your unable to mount it.
Click to expand...
Click to collapse
Nops, I am using my own created ubuntu.img file according to your command which is 1GB in size .....
fslateef said:
Nops, I am using my own created ubuntu.img file according to your command which is 1GB in size .....
Click to expand...
Click to collapse
I found the problem. As mentioned by ArminC, I found that there isn't any loop device node in my mobile hence I created one and its mounted
Great ... Now going ahead .....

[Guide] ADB with Galaxy S in Ubuntu *Updated 9-10-10*

I still see a lot of people having trouble with ADB in ubuntu, so here is quick guide for anyone still having trouble.
The guide is located HERE and also can be viewed on post #12
*Updated 9-10-10* Thanks to xipher_zero for his very quick and easy guide (Much better than my original).
Hope this helps some people having issues.
If I install unbuntu it overrides my win7 correct?
Sent from my SGH-T959 using XDA App
Oh my!! I've been searched for this guide for a long time Thanks you so much MR.the3dman
Wykedx
Oh boy... where to get started. You could install Ubuntu without overwriting your W7 installation. Then you would "dual boot" your computer. As it boots up, you choose which OS to load. Or of course you could install Ubuntu on a computer by itself.
You don't need to install Ubuntu just to use ADB. ADB runs on both Win and Linux. What is it that you are trying to do? If you just want to learn linux, then make yourself a live CD and you won't have to worry about overwriting any operating systems.
But this is not a linux forum. If this is something that you are interested in, then google is your friend.
if you are interested in trying ubuntu, you might check this out: http://wubi-installer.org/. or just run a LiveCD, as already suggested.
Do you happen to have a HTC??
My output of lsusb:
Code:
Bus 002 Device 002: ID 04e8:681d Samsung Electronics Co., Ltd
Shouldn't /etc/udev/rules.d/51-android.rules contain 04e8 instead of 0bb4?
And no, even that didn't help me. I'm on Ubuntu Lucid Lynx 64 bit.
fantasyzer said:
Do you happen to have a HTC??
My output of lsusb:
Code:
Bus 002 Device 002: ID 04e8:681d Samsung Electronics Co., Ltd
Shouldn't /etc/udev/rules.d/51-android.rules contain 04e8 instead of 0bb4?
And no, even that didn't help me. I'm on Ubuntu Lucid Lynx 64 bit.
Click to expand...
Click to collapse
Thanks for noticing that! I have updated the rules with the correct ones. I have an htc also and uploaded the wrong rules. I am also on Ubuntu Lucid 64 bit and this is what worked for me. I also have done this on my netbook which runs 9.10 so I am really not sure what the issue is then. Did you use ADB from the sdk or from the app inventor adb in the guide?
If I read correctly when browsing for this topic, your instruction is to drop in these rule files, and then run adb using sudo
When using sudo to run adb, it'll always work, regardless of what's in your rules file
If you have your rules file correct, you don't need to do sudo adb
Just adb will work fine
animefans said:
If I read correctly when browsing for this topic, your instruction is to drop in these rule files, and then run adb using sudo
When using sudo to run adb, it'll always work, regardless of what's in your rules file
If you have your rules file correct, you don't need to do sudo adb
Just adb will work fine
Click to expand...
Click to collapse
I did try this, I removed my rules and reloaded my udev folder then tried adb with sudo and it was a no go (I get nothing listed under the list of devices). Also the only way I could get adb to recognize anything without sudo was by adding a line in the rules making my user as the owner, but even still without sudo under devices I get ???????????? no permissions. With sudo and the rules everything works fine which is why I wrote the guide that way.
If you don't want to run ADB as root you can follow the steps in this post
http://forum.xda-developers.com/showpost.php?p=7282335&postcount=4 - FOR SAMSUNG ONLY DEVICES!!!
after you installed SDK.
I also have adb in my path so I do not have to be in the tools directory, and can execute it from anywhere
In my .bashrc file (if you are using bash shell)
Code:
export PATH=$PATH:/path/to/android-sdk/tools
Thanks the3dman for the guide. Unfortunately I am still having problems as when I run the sudo ./adb devices nothing is listed. I followed the directions step by step and also confirmed my Vibrant is in debug mode (also confirms on the phone it is in debug mode when connected via usb. I even rebooted everything again, double checked everything and still no devices listed. I am running Ubuntu 10.04 Any ideas? Thanks so much!
-mG
Four Step ADB installation in Ubuntu
Here is a simple guide without using custom debs:
1. Download the SDK:
wget dl.google.com/android/android-sdk_r07-linux_x86.tgz
2. Extract the archive to the current directory and move into the extracted directory.
tar xvfz android-sdk_r07-linux_x86.tgz && cd android-sdk-linux_x86
3. Move the "tools" folder to your local system folder:
sudo mv tools /usr/local/share/android-tools
4. Create a symbolic link to the adb executable:
sudo ln -s /usr/local/share/android-tools/adb /usr/local/bin/
Done!
from a terminal type:
sudo adb devices (This will start the server and search for connected devices)
Are you running Ubuntu 64bit? If so you need to make sure that you have the 32bit compatibility libraries installed. From the command line run the following:
sudo apt-get install ia32-libs
This will allow you to run 32bit apps in 32bit mode. Not sure if this is whats causing your issue, but it might be worth a shot.
xipher_zero: Thank you, I followed your steps and it is working now.
Oh, I am running 32bit Ubuntu so that was not the problem.
lqaddict said:
If you don't want to run ADB as root you can follow the steps in this post
http://forum.xda-developers.com/showpost.php?p=7282335&postcount=4 - FOR SAMSUNG ONLY DEVICES!!!
after you installed SDK.
I also have adb in my path so I do not have to be in the tools directory, and can execute it from anywhere
In my .bashrc file (if you are using bash shell)
Code:
export PATH=$PATH:/path/to/android-sdk/tools
Click to expand...
Click to collapse
This is not working for some people that is what is being figured out. I am in the process of updating my guide and the new and better one should be up shortly.
xipher_zero said:
Here is a simple guide without using custom debs:
1. Download the SDK:
wget dl.google.com/android/android-sdk_r07-linux_x86.tgz
2. Extract the archive to the current directory and move into the extracted directory.
tar xvfz android-sdk_r07-linux_x86.tgz && cd android-sdk-linux_x86
3. Move the "tools" folder to your local system folder:
sudo mv tools /usr/local/share/android-tools
4. Create a symbolic link to the adb executable:
sudo ln -s /usr/local/share/android-tools/adb /usr/local/bin/
Done!
from a terminal type:
sudo adb devices (This will start the server and search for connected devices)
Click to expand...
Click to collapse
This version worked well also! Thanks its much shorter and easier than my method.
MrGibbage said:
Wykedx
Oh boy... where to get started. You could install Ubuntu without overwriting your W7 installation. Then you would "dual boot" your computer. As it boots up, you choose which OS to load. Or of course you could install Ubuntu on a computer by itself.
You don't need to install Ubuntu just to use ADB. ADB runs on both Win and Linux. What is it that you are trying to do? If you just want to learn linux, then make yourself a live CD and you won't have to worry about overwriting any operating systems.
But this is not a linux forum. If this is something that you are interested in, then google is your friend.
Click to expand...
Click to collapse
thanks for the response, and sorrry i didn't see this before lol,
what i am trying to do is be able to use adb, at the moment I can't seem to use it because my default.prop is not correct so i heard i have to use linux to be able to edit my default prop...when i try to adb push or remount i get permission denied and yet I have superuser permission and everything.
do you have to root your phone while being an administrator on the computer?
Wykedx said:
thanks for the response, and sorrry i didn't see this before lol,
what i am trying to do is be able to use adb, at the moment I can't seem to use it because my default.prop is not correct so i heard i have to use linux to be able to edit my default prop...when i try to adb push or remount i get permission denied and yet I have superuser permission and everything.
do you have to root your phone while being an administrator on the computer?
Click to expand...
Click to collapse
Try putting your phone in clockwork recovery then issuing the adb commands, and yes your phone has to be rooted.
Thanks for the excellent how to, however...
I've still got a problem:
after "sudo adb devices" (step 5) I always get this message:
List of devices attached
??????????? no permissions;
while "lsusb" gives me that:
Bus 002 Device 007: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica Android Phone
so how can I solve this?
(Kubuntu 10.10 is my current os)
RiverTam said:
I've still got a problem:
after "sudo adb devices" (step 5) I always get this message:
List of devices attached
??????????? no permissions;
while "lsusb" gives me that:
Bus 002 Device 007: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica Android Phone
so how can I solve this?
(Kubuntu 10.10 is my current os)
Click to expand...
Click to collapse
you'll need to edit a usb rule to "look" for the samsung phone. i forgot what file to edit and what to put in there, once i find the file, i'll post it from my laptop.
EDIT: lol, i found it.
http://forum.xda-developers.com/showpost.php?p=7343021&postcount=1

[GUIDE] ADB Workshop and Guide for everyone

This workshop was held in #android-learning on irc.freenode.net by XDA Member Adrynalyne. All credit to him for this guide, I simply am taking it and turning it into a guide. Here we go!
You can find the raw IRC log here
Good evening folks, and welcome to my ADB workshop. This is by no means a full explanation on the subject, but more of a crash course to help folks get up to speed, and get more from their devices. There may be some things you already know here, so please be patient and respect those who do not.
Reference Files
http://adrynalyne.us/files/How to install adb.pdf
http://adrynalyne.us/files/Using ADB.pdf
So, lets just start with the basics.
What is ADB?
ADB stands for the android debugging bridge and is used for testing and debugging purposes by developers.
However, we like to get more out of our devices, and its a great way to fix things.
Knowing adb can mean the difference between a paperweight and a working phone.
So, to start with, we will look at installing ADB.
Generally speaking, the Sun/Oracle JDK is required to run all SDK functions.
ADB is but one tool in the SDK arsenal.
So, we begin by downloading and installing the JDK. This can be found here:
https://cds.sun.com/is-bin/[email protected]_Developer
Choose your OS, download and install. I recommend that 64 bit users use the regular x86/32 bit version as well.
Moving ahead, we download the Windows sdk from here:
http://dl.google.com/android/installer_r08-windows.exe
Due to already installing JDK, you won't be stopped by the install process.
Now, if you notice, I installed it to:
C:\android-sdk-windows
I did this because it makes things easier when setting up path variables.
I encourage everyone to do the same, but obviously it is not required.
So, this SDK is handy, but is only good up to 2.2. We want the latest and greatest! (Well I do)
So, we navigate to:
C:\android-sdk-windows\
and we run SDK Manager.exe
If you notice in your PDF file for installing adb, you will notice that you can update, and I made a choice not to include earlier sdk versions.
I won't go into full detail on that, but depending on the version of SDK you have, 8 or 9, it WILL make a difference in using adb.
By default, for version 8 adb.exe resides in C:\android-sdk-windows\tools
By default, for version 9 adb.exe resides in C:\android-sdk-windows\platform-tools
We will assume version 9 in this guide
Really, the SDK is installed and adb is usable right now, but in my humble opinion, its not enough
I like the ability to use adb in ANY directory on my machine.
To do this, we edit Windows's environment variables.
Specifically, the system path.
To do this, we click on start, or the orb (depending on OS), and right click on Computer, left clicking on properties in the menu.
If its windows XP, I believe it brings you into advanced system properties immediatly. Vista and 7 need a second step.
On the left hand side, as you notice I have highlighted in the pdf, left click advanced system settings.
Under advanced tab, we left click environment variables...
There are two boxes here.
We are concerned with system variables, however.
So we scroll down the list and highlight path and click edit.
Ignoring all the extra stuff in here, make sure you are at the end of the line, and type
Code:
;C:\android-sdk-windows\platform-tools
The semicolon allows us to separate it
from the previous path statement.
Click ok all the way out.
We now have ADB setup globally. We can use cmd.exe (I use powershell) and no matter what directory we are in, adb is recognized.
If it is not, make certain you entered the path into system variables, and made no typos.
If you installed to a different location, you will need to adjust the path accordingly.
This concludes the section on installing the Android SDK to use ADB.
This next section will be on using ADB, so please open that pdf now.
Now, this applies to any OS, not just Windows.
Well, with the exception of the USB drivers.
I will not go too much into that, but if you take a look at the PDF, it goes through installing usb drivers for the sdk, and how to download them.
Fiarly straightforward, in that rspect.
Now, to setup our phones to use with the SDK and ADB, we must change some settings.
First, we go to menu softkey, then settings.
We scroll down to Applications and tap it.
Under Development, we will check Enable USB Debugging. Please note the SGS phones are different in this respect.
The USB cable must be unplugged before enabling or disabling this setting.
Once this is done, we are now ready to play with adb
One quick note: If you get device not found/conencted, please reboot your phone. DJ05 has a quirk in it where ADBD randomly crashes on boot.
A reboot will fix this
ADBD= ADB Daemon
Ok, continuing on.
Lets look at installing applications. This is also known as sideloading.
Unlike installing from the SD card, it does not require unknown sources to be enabled.
The command for this is
Code:
adb install packagename
This assumes that you are working from the directory where the file is located.
This will install the application to /data/app.
It will also show sometimes useful errors if install fails.
That is not something you will see from the Android GUI.
Now, a lot of us have probably deleted files with apps like Root Explorer. While this isn't really a bad thing, it leaves behind databases and data for the application removed.
This is where the 0kb applicaiton entries come from.
If you take that application entry name, you can uninstall the extra data via adb.
First we go to the adb shell which logs into the phone.
Code:
adb shell
If we end up with a $, we will want admin rights, in many cases. This is not one of them, I don't beleive.
To get admin rights, you want to type
Code:
su
Look at your phone if this is the first time, it may prompt you to allow access. Else you will get permission denied.
If you are not rooted, this will not work either.
Ok, now that we are logged in, we will type
Code:
pm uninstall packagename
where packagename is the name of the 0kb listing.
Now this seems like a pain in the a** and I agree.
HOWEVER
There will be a time where Manage applications crashes when you try to uninstall it from the phone. In this case, a factory reset, or this method is the only effective way to fix the problem.
Moving on.
How many of us have removed system applications or renamed them? Did you know that you can simply disable them from the system?
Code:
adb shell
su
pm disable appllicationname
This will disable it, and the system will ignore it.
This can be seen as safer than deleting or renaming things, but your mileage may vary.
On the other hand, you can also re-enable these applications.
Code:
adb shell
su
pm enable applicationname
Please note: Not all applications will properly re-enable. I believe a factory reset or reinstall of said application will fix the issue.
Also, application names are absolutely case sensitive.
*nix based Operating Systems see the letter 'a' and 'A' as two different things.
when you log into adb shell, you are playing by android rules
Ok, a lot of us tweak and mod our phones and turning off the device to get to clockwork recovery, or battery pulls, or multiple button holds to get into Download mode are troublesome and annoying at best.
ADB can help us here.
Here, we do not need to be logged into the shell
If we want to merely reboot the phone:
Code:
adb reboot
If we want to go to recovery (works well with voodoo5)
Code:
adb reboot recovery
If we want to go to Download Mode because we need Odin, heaven forbid:
Code:
adb reboot download
Its instant. No waiting on animations or anything else.
Its also handy if Android has locked up, but yet still works in adb.
I for one hate taking my case off to battery pull.
So now we move on to pushing and pulling files.
Sometimes, I don't feel like mounting my sd card to copy a file over to my phone.
I can use this command to push a file straight to my sd card:
Code:
adb push filename /pathtodirectoryonphone
So for instance, if I have test.txt that I want to send, I would type:
Code:
adb push test.txt /sdcard/
and there it goes.
Ok moving on
Pushing files can be done to any directory, however, some are protected.
For instance, /system is going to give you a permission denied or a read only filesystem error.
To get around this, the easiest thing to do is push the file to your sdcard, then log into the shell:
Code:
adb shell
Code:
su
We will then mount the system as writable
Code:
mount -o rw,remount /dev/block/stl9 /system
Then we can use something like
Code:
cp /sdcard/test.txt /system/app/test.txt
cp stands for copy
and it requires the path of the file and destination path. The name of the file is optional
When you copy it, you can rename it to whatever you like.
For instance, if we wanted to backup a file
Code:
cp /sdcard/test.txt /sdcard/backuptest.txt
Now, lets assume you do not have busybox installed.
You non rooted users will not.
Then you must use a slightly more complicated command called dd
This is used like this:
Code:
dd if=/sdcard/test.txt of=/system/app/test.txt
if is for inputfile
of= output file
Not every user friendly, but probably one of the safer copy commands.
Ok, moving on to pulling files.
Lets say you want to get a file from your phone, to modify, backup, etc.
To do this, we simply use adb in this manner:
Code:
adb pull /pathtofile/filename destinationname
For instance, if I wanted to backup ADW launcher in system/app
I would do this
Code:
adb pull /system/app/ADWLaucnher.apk ADWLauncher.apk
And it will pull the file from the phone and put it in the current directory.
Like above, you can specifcy where it goes.
pushing files to the sdcard, it seems prudent to talk about changing permissions.
sdcards are typically fat32, which destroys permisisons, and Android is heavily permission based.
So if you push an application to your sd card, then try to copy it to /system/app/ bad things are going to happen, or the app may not even show up.
So in that case, we use something called chmod.
This is used in this manner
Code:
adb shell
su
chmod 755 /pathtoapplication/applicationname
Keep in mind
you dont want to do this while its still on your sd card.
an example
Code:
adb shell
su
chmod 755 /system/app/ADWLauncher.apk
755 is good for applications and script files.
Just a couple more topics to cover.
Lets go over deleting files.
This becomes especially handy for removing rogue applications.
To do this, we must be in the adb shell.
Code:
adb shell
su
rm /system/app/ADWLauncher.apk
You may need to remount system as writable with:
Code:
mount -o rw,remount /dev/block/stl9 /system
That applies when using chmod as well.
So what I did above was delete ADW Launcher from system/app
However, what if I wanted to delete the entire contents of a directory?
Same thing as before, except
Code:
adb shell
rm -f /data/dalvik-cache/*.*
I just cleared my dalvik-cache with that command
very quick, very effective.
If you just tried that, please reboot your phone now
Ok....this leaves us with the final topic: logcat
logcat allows us to log what the OS is doing, and possibly delve information for when things are not working
its quite simple Reading it is another.
To use logcat
Code:
adb shell
logcat
To logcat to a certain file do
Code:
adb shell
logcat > /sdcard/logcat.txt
Now we let the log settle down to a reasonable amount of data coming in and not a wall of scrolling, then start the app in question. When it gives an error, we hit ctrl-C and kill the adb shell session.
This should have captured enough data to see the error. Now, I prepared an example. A user came to me on IRC, and Google Maps was force closing. Clearing data didnt fix it, Clearing dalvik-cache, and fix permissions did not fix it. In this case, the user did not know how to use adb So I had him grab an app called alogcat from the market and email me the log. This is also a very valid method.
this file explains what the problem was, and highlights what to look for as an example.
http://adrynalyne.us/files/logcat.pdf
___________________________________________________________________
This concludes the guide from Adrynalyne, there will be more workshops such as this one in irc.freenode.net #android-learning.
Thanks to everyone in #samsung-fascinate !
Reserved for possible extension of topic
Great, saves a lot of questions/answers & search
Every new user should read this!!
Thread stuck as valuable reference thread
Just to add, if I may, a little about the permissions...
============================================================
File permissions for Unix... which Android is based, just so those who tinker with the file permissions may know what they are getting into.
============================================================
Use the chmod command to set file permissions.
The chmod command uses a three-digit code as an argument.
The three digits of the chmod code set permissions for these groups in this order:
1.Owner (you)
2.Group (a group of other users that you set up)
3.World (anyone else browsing around on the file system)
Each digit of this code sets permissions for one of these groups as follows. Read is 4. Write is 2. Execute is 1.
The sums of these numbers give combinations of these permissions:
0 = no permissions whatsoever; this person cannot read, write, or execute the file
1 = execute only
2 = write only
3 = write and execute (1+2)
4 = read only
5 = read and execute (4+1)
6 = read and write (4+2)
7 = read and write and execute (4+2+1)
Chmod commands on file apple.txt (use wildcards to include more files)
Command Purpose
chmod 700 apple.txt Only you can read, write to, or execute apple.txt
chmod 777 apple.txt Everybody can read, write to, or execute apple.txt
chmod 744 apple.txt Only you can read, write to, or execute apple.txt Everybody can read apple.txt;
chmod 444 apple.txt You can only read apple.txt, as everyone else.
Detecting File Permissions
You can use the ls command with the -l option to show the file permissions set. For example, for apple.txt, I can do this:
$ ls -l apple.txt
-rwxr--r-- 1 december december 81 Feb 12 12:45 apple.txt
$
The sequence -rwxr--r-- tells the permissions set for the file apple.txt. The first - tells that apple.txt is a file. The next three letters, rwx, show that the owner has read, write, and execute permissions. Then the next three symbols, r--, show that the group permissions are read only. The final three symbols, r--, show that the world permissions are read only.
Compliments and full credit from:
http://www.december.com/unix/ref/chmod.html
Amazing thread just what I needed lol thanks!
cooolone2 said:
Just to add, if I may, a little about the permissions...
============================================================
File permissions for Unix... which Android is based, just so those who tinker with the file permissions may know what they are getting into.
============================================================
Use the chmod command to set file permissions.
The chmod command uses a three-digit code as an argument.
The three digits of the chmod code set permissions for these groups in this order:
1.Owner (you)
2.Group (a group of other users that you set up)
3.World (anyone else browsing around on the file system)
Each digit of this code sets permissions for one of these groups as follows. Read is 4. Write is 2. Execute is 1.
The sums of these numbers give combinations of these permissions:
0 = no permissions whatsoever; this person cannot read, write, or execute the file
1 = execute only
2 = write only
3 = write and execute (1+2)
4 = read only
5 = read and execute (4+1)
6 = read and write (4+2)
7 = read and write and execute (4+2+1)
Chmod commands on file apple.txt (use wildcards to include more files)
Command Purpose
chmod 700 apple.txt Only you can read, write to, or execute apple.txt
chmod 777 apple.txt Everybody can read, write to, or execute apple.txt
chmod 744 apple.txt Only you can read, write to, or execute apple.txt Everybody can read apple.txt;
chmod 444 apple.txt You can only read apple.txt, as everyone else.
Detecting File Permissions
You can use the ls command with the -l option to show the file permissions set. For example, for apple.txt, I can do this:
$ ls -l apple.txt
-rwxr--r-- 1 december december 81 Feb 12 12:45 apple.txt
$
The sequence -rwxr--r-- tells the permissions set for the file apple.txt. The first - tells that apple.txt is a file. The next three letters, rwx, show that the owner has read, write, and execute permissions. Then the next three symbols, r--, show that the group permissions are read only. The final three symbols, r--, show that the world permissions are read only.
Compliments and full credit from:
http://www.december.com/unix/ref/chmod.html
Click to expand...
Click to collapse
Thanks! Added
ih4ckback said:
Amazing thread just what I needed lol thanks!
Click to expand...
Click to collapse
Thanks, all goes to Adrynalyne
Thanks for the guide. Helped me pick out the stupid stupid mistakes I was making...so just a problem. I'm able to use fastboot easily but I seem to be unable to use ADB still on my windows 7. It says there are no devices and I'm dang well sure I have USB debugging on. Is it because Windows 7 is missing drivers for the nexus one or something else?
wonderful guide. I would like to add it to the guides thread.
Really awesome work, thumbs up.
But we should also take a guide on installing adb with Ubuntu/Linux, which isn't a very difficult thing...
mm7490 said:
Really awesome work, thumbs up.
But we should also take a guide on installing adb with Ubuntu/Linux, which isn't a very difficult thing...
Click to expand...
Click to collapse
If I got time tomorrow I could do that. I work primarily in Linux also
Sent from my Samsung Fascinate using Tapatalk Pro
This is good but I have a problem, when I try to remove an .apk file from /system/app it fails and says 'rm failed, Directory not empty'
I have followed exact instructions many time but never succeeded :s any help!!
(I am runnging these commands in device mod)
when I am in recovery mod I get this prompt ~ # and I am not able to enter su mod. how to get rid of this??
Well when the $ changes to # it means you have SU access
mustafa.aziz said:
This is good but I have a problem, when I try to remove an .apk file from /system/app it fails and says 'rm failed, Directory not empty'
Click to expand...
Click to collapse
Please give us the exact command(s) you entered
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
mustafa.aziz said:
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
Click to expand...
Click to collapse
Ok i think you need to do a recursive force delete which should be rf but i am not too sure! could somebody please confirm/ correct this?
Well, I don't think so ^^ As he doesn't want to erase a whole directory, but only a file.
What surprises me the most is the returned message... You're trying to delete an apk, and it says it's a directory :/
Could you please give us the output of this :
Code:
su
mount -o rw,remount /dev/block/stl9 /system
ls -l /system/app/mytouch*
Perhaps you don't even need the su and mount lines, but I'm not sure about that, and that can't harm your system ^^
Khoral said:
Well, I don't think so ^^ As he doesn't want to erase a whole directory, but only a file.
Click to expand...
Click to collapse
I know he doesn't want to delete a whole directory, but since the apk isn't compressed perhaps android looks at is as a directory and not a file? i don't know since what was returned suggested that it was a directory i presumed it was a directory! :S
mustafa.aziz said:
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
Click to expand...
Click to collapse
rm -rf /blah/blah
here is your desired output:
sh-3.2# su
su
sh-3.2# mount -o rw,remount /dev/block/stl9 /system
mount -o rw,remount /dev/block/stl9 /system
sh-3.2# ls -l /system/app/mytouch*
ls -l /system/app/mytouch*
-rw-r--r-- root root 299838 2008-08-01 18:00 mytouchmusic-signed.apk
sh-3.2#

[TUTORIAL] How to Manually ROOT your RK3066 Device (UG007, iMitio MX1/2, mk808?)

These are instructions for rooting Android devices that utilize the RK3066 chipset (Cortex A9 Dual Core, MALI Quad-Core GFX).
I have tested and verified that these instructions work for the UG007 Android-on-a-stick...they *should* work with any other devices that utilize the same USB chipset. I can almost guarantee this will work on the Imito MX1/2 as you can swap ROMS from this device.
(Basically, if you have the right ADB drivers, you should be good to go)
As per every other thread you read on this site - I TAKE NO RESPONSIBILITY FOR ANY DAMAGES YOU MAY CAUSE TO YOUR DEVICE.
This is a fairly risk-free mod, but you know...$hit happens.
Okay. Let's start.
THIS TUTORIAL ASSUMES YOU HAVE ADB AND KNOW HOW TO USE IT, and that you're in a Windows environment. There are numerous places on the web where you can find this info...and I ain't yo mamma.
1. Download all the files attached to this thread.
2. Attach your RK3066 device to your computer via it's microUSB port. You'll need to have it hooked to a display too.
3. Once booted, go to system settings. Under settings > developer options, enable USB Debugging. Under settings > USB, click "connect to computer" (This may vary depending on your ROM configuration. The point here is to have debugging enabled and your computer to recognize the stick in device manager as something other than USB storage)
4. Extract the right drivers for your system (x86/x64)
5. Go to device manager on your computer. Look for the new "unknown device". Right-click, pick "update driver software"., "browse my computer".
6. Browse to wherever you extracted the drivers in step 4. Click Next. Confirm that you want to install.
7. Open a command window in the directory where you have ADB. Type "adb devices". Still nothing, right?
8. Navigate to C:\users\MYUSERNAME\.android, where "MYUSERNAME" is your User Name. (Duh?)
9. Create a file called adb_usb.ini
10. Open it in a text editor. Add the following string and save (This tells ADB to look for our Vendor ID:
0x2207
11. You should now be able to type "adb devices" at CMD and see your device.
12. Now for the fun. Extract the stuff from "pushme" to the same directory as ADB.
13. Enter the following commands (note: The "$" and "#" symbols do not get keyed in):
Code:
adb push psneuter /data/local/tmp
adb shell
$ cd /data/local/tmp
$ chmod 777 psneuter
$ ./psneuter
14. Psneuter should run and close shell when done. Enter MOAR commands:
Code:
adb kill-server
adb devices
adb shell
15. Take a good look. Is there now a "#" sign? Good. You now have root access. You may continue. If not, then proceed to go yell at me in the comments. If yes, then proceed to enter the last batch of commands to make your newfound privileges permanent:
Code:
mount -o remount,rw -t rfs /dev/block/st19 /system
exit
adb push busybox /system/bin
adb push su /system/bin
adb install Superuser.apk
adb shell
# chmod 4755 /system/bin/busybox
# chmod 4755 /system/bin/su
# mount -o remount,ro -t rfs /dev/block/st19 /system
# exit
adb reboot
After a reboot, download a root app from Play Store to see if it worked! I find Root Checker is boffo for this sort of thing:
https://play.google.com/store/apps/...tcheck&feature=nav_result#?t=W251bGwsMSwyLDNd
THANKS/CREDITS:
Aaron Orquia @ Pocketables.com for the original "universal" root method.
AMJtech's tutorial where I found working ADB drivers and the adb_usb.ini bit to get it recognized.
The guy(s) who make Super1ClickRoot for putting all the necessary files in one easy-to-find spot.
Thanks for this tutorial.
A couple of notes:
Wow !! That's a lot of extra steps for you Windows users. Mac and Linux users start at step 11 (but if you are a Mac or Linux user, you already knew that. )
Linux: If the device still does not show up in Step 11, post, and I can help (Hint: It may not be /just/ the udev stuff.)
Is step 13 necessary? adb remount works on mine. (not sure if I had to adb root first or not) but I can have a root shell via adb without psnueter.
If adb remount succeeds, skip step 14, and continue with the 3rd line of step 15.
Linuxslate said:
Thanks for this tutorial.
A couple of notes:
Wow !! That's a lot of extra steps for you Windows users. Mac and Linux users start at step 11 (but if you are a Mac or Linux user, you already knew that. )
Linux: If the device still does not show up in Step 11, post, and I can help (Hint: It may not be /just/ the udev stuff.)
Is step 13 necessary? adb remount works on mine. (not sure if I had to adb root first or not) but I can have a root shell via adb without psnueter.
If adb remount succeeds, skip step 14, and continue with the 3rd line of step 15.
Click to expand...
Click to collapse
Thanks for the input! Yes, yes, I know windoze makes more work. It's also pretty widespread for folks.
For step 13 - I think it depends on the device. It would be nice for others to weigh in and let me know if it's needed. If not, I can totally remove it.
Also, in the other ROM thread, I made, it's even easier to root - you just grab one of the pre-rooted ROMS and drop it in SD card...the system does the rest. Mind you, this is for the UG007.
Links UG007
If you Bluetooth connection is not working properly, try to install this custom ROM: http://blog.geekbuying.com/index.php/category/android-tv-stick-tv-box/ug007/
How to install CWM-based Recovery: http://androtab.info/clockworkmod/rockchip/
Both worked for me. I was able to connect my BT Keyboard/Mouse Pad combo
./psneuter
Failed to set prot mask (Inappropriate ioctl for device) ??
nice tutorial.. while finding the best way to work my ug007 i stumbled upon this thread via armtvtech.com
currently i only knew this tutorial to root the device, but looking at yours ill give it a try first.
digitalhigh said:
Also, in the other ROM thread, I made, it's even easier to root - you just grab one of the pre-rooted ROMS and drop it in SD card...the system does the rest. Mind you, this is for the UG007.
Click to expand...
Click to collapse
you cant install custom roms without flashmode, cant do flashmode without opening device.. or did i get it wrong!? talking about the ug007
actually you can install a custom rom once you are rooted without opening the device, here
Linuxslate said:
(Hint: It may not be /just/ the udev stuff.)
Click to expand...
Click to collapse
ehm.. im still preparing to root, i guess you hint at the android sdk?
if not ill holla back at you and complain why you didnt write it out in first place
but very good to know that i skip alot by "almost" only installing ubuntu to a vm
I may be missing something, but I couldn't get this to work on my UG007
psneuter didn't work for me, gave me an error about 'invalid ioctl' or something. But the strangest thing is that "adb shell" already shows the # in the prompt.
To confirm my suspitions, I also typed "adb root", which returned "adb is already running as root".
So I proceeded with the rest of the instructions. No errors appeared, installed Superuser and I can see su and busybox in system/bin
But when I download root checker it says it wasn't properly rooted. installing terminal and type "su" says permission denied - and that's it.
Am I missing something? I'm new to this rooting thing, so please don't be angry with my noobish questions
I managed to do it - but *not* by following this tutorial.
I used this: armtvtech.com/armtvtechforum/viewtopic.php?t=28 (Cant post links yet, sorry!)
Only ran the "TPSarky-VonDroid-Root" bat, and presto! I had root on UG007.
I even fixed the changing MAC address problem with wlan.ko from armtvtech.com/armtvtechforum/viewtopic.php?f=69&t=632&start=10 (link on page 2). I just copied it to /data/local/tmp, set permissions as rwr--r-- and then used root explorer to copy it to /system/lib/modules - now I have wifi signal every time I boot the device, and don't need to mess with my router config every time
I also manage to get xbox360 wired controller working. xpad.ko on /data/local/tmp and then insmod /data/local/tmp/xpad.ko - just connect the joystick after that, and it will be recognized. Only problem is, after a reboot I have to insmod again.
I tried doing the same thing I did with wlan.ko, but nothing happens - system won't load it on boot. Am I missing something here?
The psneuter is broken
I'm on Linux, running a RK3066, and psneuter gives "Failed to set prot mask (Inappropriate ioctl for device)". Running Ice Cream Sandwich 4.1.1, kernel 3.0.8+, build RK30_anpei10w1am-r4.0.57.20121207, A10-2 cpu.
SLotman said:
I may be missing something, but I couldn't get this to work on my UG007
psneuter didn't work for me, gave me an error about 'invalid ioctl' or something. But the strangest thing is that "adb shell" already shows the # in the prompt.
To confirm my suspitions, I also typed "adb root", which returned "adb is already running as root".
So I proceeded with the rest of the instructions. No errors appeared, installed Superuser and I can see su and busybox in system/bin
But when I download root checker it says it wasn't properly rooted. installing terminal and type "su" says permission denied - and that's it.
Am I missing something? I'm new to this rooting thing, so please don't be angry with my noobish questions
Click to expand...
Click to collapse
Try renaming old "su".
Check permissions on the su and busybox you installed.
MK808, MK809 [model T002], and the MK802 III anyone?
Hi,
Thanks OP for this information.
I have a Samsung S3 [my first android device] which I rooted with no problem, but am a total noob when it comes to these android sticks.
One can say they are very similar, so I wont be completely in the dark. OK, now that we got that out of the way...
Can anyone please confirm whether they have used this with the MK808, MK809 [model T002], and the MK802 III,
I have ordered these from 1 from amazon and 2 from ebay and am expecting delivery shortly, therefore I just want to make sure before I go bricking them one by one...
I notice that they all have RK3066 Cortex A9 chips but are manufactured by different companies. The ones I see on eBay, although they all bear the same code MK8xx, they all look very different! I presume the MK8xx code is a universal model?? just like 80486 was to the PC? given the case does this method work universally?
I intend to set them up with XBMC media centres and to use with a Xbox controller. Any advice on the best way for achieving this would be nice too.
Thanks
:good:
Linuxslate said:
Thanks for this tutorial.
Linux: If the device still does not show up in Step 11, post, and I can help (Hint: It may not be /just/ the udev stuff.)
Click to expand...
Click to collapse
Linuxslate, I have an MK808 that shows up in lsusb as 2207:300a when I put it in "flash mode" but it never shows up via "adb devices".
I got mine the other day and it turned out to be rooted already?
I decided to install SuperSu and that's how I found out it was rooted.
Immediately, installed Busybox, System Tuner Pro and Titanium Backup.
Rob
Rob sent this from his SPH-D710 via Tapatalk
So would this possibly work on this - http://www.zoostorm.com/Products/357-zoostorm-sl8-3305-1030-tablet-pc.aspx
States it's a Rockchip RK3066 Cortex A9 Dual Core 1.5GHz, running 4.1.1 Jelly Bean, quite interested in getting one & root would be a bonus.
psneuter broken
Hello,
the psneuter attached to the first post doesn't do anything to my ug007. I have the same error others have posted here and haven't gotten a reply about.
To unlock, I used the script that's mentioned in a post above, TPSarky-VonDroid-Root. If you google that, you'll find a download link amongst the results.
Thank u very much...:thumbup:
................................................................................................
Linuxslate said:
Try renaming old "su".
Check permissions on the su and busybox you installed.
Click to expand...
Click to collapse
Can you elaborate a little bit what you mean by renaming "su"?
I'm having the same issue..
Both su and busybox are having the same permission -rwsr-xr-x.
Sent from my Transformer Prime TF201 using XDA Premium HD app
I configured one of these at work. Upon using the terminal app and typing in su I got the # sign. They seem to come from the factory rooted already.
Sent from my Nexus 4 using xda app-developers app
ageerer84 said:
I configured one of these at work. Upon using the terminal app and typing in su I got the # sign. They seem to come from the factory rooted already.
Click to expand...
Click to collapse
Not exactly: this particular su can be used only from adb console, or at least that how it was on my tablet. So you need to replace it with a Superuser apk's su to get all features of rooted android. You can get one e.g. from FDroid
--
blog
Not sure what u mean by on your tablet. Android devices don't typically come rooted but I was surprised to have root access via terminal emulator on this stick PC. I just took it out of the box and definitely didn't have to go through the adb interface on a computer to flash superuser or what have you. Is this just me or is this a typical experience with this particular device?
Sent from my Nexus 4 using xda app-developers app

Rooting the TF101 from Linux using PERI zip - no VM

Did this the other night and cant find a guide on here which shows how to root the TF101 from linux/ubuntu/arch, so thought id share. I was on v9.2.1.27
Apologies if this is documented elsewhere somewhere. Props goes to Thing O Doom for the PERI script (which was the source for the adb commands, the recoveryblob and Superuser-3.0.7-efghi-signed.zip) and to Wolf for the orignal exploit.
First grab the android SDK (I cant embed external links yet as im such a noob here, so heres a sort-of link) - developer.android.com/sdk/index.html
Extract the SDK to the directory of your choice. On my boxen, the SDK lives in ~/adt-bundle-linux-x86_64-20130522/sdk
Then grab the wonderful PERI by Thing o Doom and from the zip file you get, extract two files - recoveryblob and superuser zip file to somewhere like /tmp/
Connect your transformer to the USB port and ensure 'enable usb debugging' is set in the developer settings on the TF101. Check that adb can see the tablet, you should see a device ID returned;
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb devices
Got a device ID back? great, lets push the recovery blob onto the device;
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb push /tmp/recoveryblob /sdcard/
That should transfer sucessfuly. If not, its time to check up why. If it worked, time to run some commands. Run them one at a time and if any fail, stop and find out why.
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell mv /data/local/tmp /data/local/tmp.bak
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell exit
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell ln -s /dev/block/mmcblk0p4 /data/local/tmp
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell exit
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb reboot
Device should now reboot and look as normal. Wait for it to fully boot up. All worked? Great. Lets run this. now do NOT unplug your computer, USB or TF101 during this process - brick warning!
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell dd if=/sdcard/recoveryblob of=/dev/block/mmcblk0p4
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb shell exit
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb reboot
All worked OK? you should have seen the tablet reboot with a blue bar on the screen and now be back into your OS as normal. Nearly there!
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb push /tmp/Superuser-3.0.7-efghi-signed.zip /sdcard/
Once completed, reboot the tablet by holding VOL-DOWN and POWER. Keep holding it down until some white text appears on the boot screen, top left. Once you see "Checking for RCK" then let go and press VOLUME-UP. You should now be in the recovery.
From the recovery menu, touch 'wipe' then touch 'wipe cache'. After that completes, touch 'wipe dalvik-cache'. After they are both wiped, go back and touch 'install', select 'install from internal' and look for the Superuser-3.0.7-efghi-signed.zip and install it. Once done, go back and hit reboot
Thats it - you are rooted!
Disclaimer: do this soley at your own risk. I am not responsible if you break anything, kill your hamster, your fluffy cat or your guinea pig.
I'll automate this when I get linux running on my machine again, I just don't exactly know how to make .sh or bash or whatever the linux .bat equivalent scripts work.
If you could help me out I can do this with the .5 release of peri, good guide though c:
I remember attempting this a while back but I believe I couldn't get the sdk working properly..
x
Thing O Doom said:
I'll automate this when I get linux running on my machine again, I just don't exactly know how to make .sh or bash or whatever the linux .bat equivalent scripts work.
If you could help me out I can do this with the .5 release of peri, good guide though c:
I remember attempting this a while back but I believe I couldn't get the sdk working properly..
Click to expand...
Click to collapse
No problem. Have PMd v1
Thanks to both of you, I confirm this works on my tf101 .27. It would be good to have the commands also in the README of one click install.
Hi guys! Thank you for sharing this, I really appreciate it.
I was able to get to the end flawlessly but I have a problem, the touchscreen doesn't work in TWRP so I was wondering if it's really necessary to wipe the cache and if so what other recovery image can I use? I know there is CWM but I found too many in Google that it confuses me.
Thank you very much for your answers!
I have an Asus Slider SL101 with firmware 9.2.1.27, Android 4.0.3
Hi guys. I whipped up this script just for shiggles. Same commands as above, you just don't have to type them.
Unzip the script in the same directory as the recoveryblob and Superuser files, make it executable (right click -> Properties -> Permissions -> Execute), and then you can run it from a terminal with: ./TF101_1Click.sh
Code:
~$ adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb devices
List of devices attached
0428008242a0b117 device
Code:
~$ ~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb push ~/recoveryblob /sdcard/
bash: /home/xxx/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb: File not found
---------- Post added at 12:18 PM ---------- Previous post was at 12:17 PM ----------
The-Undertaker said:
Code:
~$ adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb devices
List of devices attached
0428008242a0b117 device
Code:
~$ ~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb push ~/recoveryblob /sdcard/
bash: /home/xxx/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb: File not found
Click to expand...
Click to collapse
Code:
~$ adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb devices
List of devices attached
428008242a0b117 recovery
Thanks! I used this successfully today.
simonplexus said:
Code:
~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb devices
Click to expand...
Click to collapse
A very minor suggestion. If you can trim the commands to just `adb` instead of `~/adt-bundle-linux-x86_64-20130522/sdk/platform-tools/adb` it will be easier to read and copy. Right now the code box has to be scrolled to see the full command.

Categories

Resources