Related
This is an FAQ for the Huawei Ideos as there have been many questions on how to do the same things. Hopefully this should help. There are other FAQs but this one tries to compile as many as it can into one FAQ.
Feel free to reply to this if there are any questions or if you want me to make any additions. The FAQ won't be complete to begin with but I will add as I get time.
One thing I will say is that I WON'T TAKE RESPONSIBITY IF YOU DAMAGE YOUR PHONE. I AM PROVIDING THE INFORMATION AND WILL TRY TO HELP YOU IF SOMETHING BAD HAPPENS BUT I CAN'T TAKE ANY RESPONSIBILITY
1. How to root the IDEOS
This can be done quite simply by adapting what quail wrote:
There is a couple away you can go about gaining root access with this phone I have tested all 3 ways but only had success with 2 of them.
a) You can download 'z4root' from here (WORKS)
b) Search the XDA forums for 'SuperOneClick' which requires mono to work on Linux. I have read people that have had success with 'SuperOneClick' but that was not the case for me. (HAVEN'T CHECKED)
c) My preferred method: (HAVEN'T CHECKED)
Prerequisite:
knowledge of Linux and Terminal
knowledge of ADB (guide available in forums)
I did all this using Debian (testing) 64bit, Android SDK.
Creating correct permissions to access the phone via USB:
i) create
Code:
/etc/udev/rules.d/51-android.rules
ii) in the file put
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
iii) then
Code:
chmod a+r /etc/udev/rules.d/51-android.rules
iv) restart udev or reboot
Downloading and/or Installing required software:
1) Downloading and installing the android-sdk from: developer.android.com/sdk/index.html
2) Downloading and extracting 'SuperOneClick' (you will only need these 5 files: rageagainstthecage, sqlite3, su, busybox and superuser.apk)
3) Copy rageagainstthecage, sqlite3, su, busybox and superuser.apk into the platform-tools directory of android-sdk. Put phone in debug mode.
4) From a terminal (command line) change to the android/platform-tools directory and carefully do these steps.
Check to see if adb can see your phone properly:
Code:
./adb devices
You should see the serial number of you device, if you see bunch of '?' you have done something wrong.
Now for the fun part rooting the phone: <= no phun intended hehe
Code:
./adb push rageagainstthecage /data/local/tmp/rageagainstthecage
Code:
./adb shell
Code:
cd /data/local/tmp
Code:
chmod 0755 rageagainstthecage
Code:
./rageagainstthecage
5) Now wait until you get kicked out from adb before you do the following:
Code:
./adb shell
If everything worked now you should see a "#" instead of the "$" you saw previously in the adb shell which means you shouldn't get "permission denied" in the following steps:
Code:
mount -o rw,remount /dev/block/mdtblock4 /system
Code:
exit
Code:
./adb push su /system/bin/su
Code:
./adb push busybox /system/bin/busybox
Code:
./adb push sqlite3 /system/bin/sqlite3
Code:
./adb push Superuser.apk /system/app/Superuser.apk
Code:
./adb shell
Code:
cd /system/bin
Code:
chmod 4755 su
Code:
chmod 4755 busybox
Code:
chmod 4755 sqlite3
Code:
./adb reboot
Now you should be able to use apps like 'Cache Cleaner NG', 'Root Explorer', 'SetCPU' etc that require root access to work correctly.
Enjoy
2. How to flash the Ultrakiller Recovery Image
Now this has been covered many times but there have been a lot of problems with the BSOD on the IDEOS. A few days ago Ultrakiller came up with a solution that works regardless of the LCD type. Now this was distributed as an IMG file so many people were confused so here is a link to one with everything you need included. All I did was remove the amon'ra image and copied the Ultrakiller recovery IMG to the folder and edited the scripts to point to the new file.
After you download the file:
* Put your device in bootloader mode - turn it off, then press the power button while holding the 'Volume Down' and 'End (Red)' keys (Yes, bootloader is just the IDEOS logo) WHILE YOUR DEVICE IS PLUGGED IN
* WINDOWS - double click 'install-recovery-windows.bat'
* MAC - Open a terminal window to the directory containing the files, and type 'chmod +x install-recovery-mac.sh' followed by './install-recovery-mac.sh'
* LINUX - Open a terminal window to the directory containing the files, and type 'chmod +x install-recovery-linux.sh' followed by './install-recovery-linux.sh'
See Q3 if you have Windows and the prompt hangs on "Waiting for Device"
3. How to solve problems with drivers on Windows in bootloader mode?
1. Unplug your phone
2. Download and install PDANet from here - at the end of the setup it will tell you to plug in your phone - do that
3. Put the phone into bootloader (See Q2 above)
4. Go to device manager and right click on "Android 1.0" and click "Update drivers"
5. Click "No, not this time" and Next
6. When it asks you where to look for drivers point it to PDANet's install location
7. Hopefully it should find the driver and prompt you to install it - it will take some time
8. You can now access your device in bootloader!
Thanks to the following people:
Quail for the base of the guide and the ROM I'm using - it's amazing BTW
Ultrakiller for the recovery image
Changelog:
21/01/2010: Initial writeup
22/01/2010: Added Q3 and made some minor changes
i unfortunately deleted a system app and upon restarting my phone it wont boot.....it keeps hanging at the startup and reboots.. help me how to system restore...
Hi - the Ultrakiller recovery IMG in the ZIP from the Link above is "Ultrakiller.img.img". Dunno if it didnt work cause of this - sry didnt test, just downloaded new Ultrakillers "UltraJack-Recovery_v4.6.2.img", saved into that folder and changed the .bat to "fastboot-windows.exe flash recovery UltraJack-Recovery_v4.6.2.img" and it worked for me Even superuser.apk didnt work for usb-root but z4root does it perfect and DroidExplorer showing files now .
Thanks so far to all investing their time here
P.S.: the HUAWEI background of Ultrakillers recovery is very delicious
General guide to Flash ROM
Can you please provide a detailed guide for flashing Huawei Ideos. Because it is super guide. So it must contain this topic also.
I want to flash official ROM on following link:
http://forum.xda-developers.com/wiki/index.php?title=Huawei_U8150_IDEOS
Waiting for your response
yrnehukuht said:
i unfortunately deleted a system app and upon restarting my phone it wont boot.....it keeps hanging at the startup and reboots.. help me how to system restore...
Click to expand...
Click to collapse
Dear have u find out the solution of this problem?? COZ im also suffering from this if u find it then plz tell me [email protected]
I have downloaded a rom from xda-developers wiki from this link
http://forum.xda-developers.com/wiki/index.php?title=Huawei_U8150_IDEOS
then updated my device software by going in to update mode(press vol up + end key + power button) .
This step returned me my original recovery.
But I am not going to recommend it bcoz i am facing problems like my cd drive which is automatically displayed has become inaccessible.
I am having problem to copy files to sd card.
My upgrade mode is not working now.
all these things were working immediately after the above mentioned process but I am now stuck with these things.
I think it is because i have flashed lower version number of rom on phone.
If you want to recover recovery mode only then I have successfully flashed UltraJack-Recovery 5.2.1 from this link
http://forum.xda-developers.com/showthread.php?t=860189&page=24
Inform about your progress
Thanx. Very useful
Hi guys. I am in a lot of trouble with my ideos.
Tried installing a custom ROm using ROM manager and it failed, although the original ROM is still there and its booting up and working perfectly.
However, when i try to boot into recovery, only the lit blackscreen shows.
I have tried everything from running ULTRAjack recovery on windows(which only shows 'waiting for device' on cmd, with the pdanet drivers installed) to ubuntu(which shows 'waiting for device' on Amon-ra recovery and permission denied on ULTRAjack).
Could it be i didnt root the device properly since i used z4 root?
Any more ideas?
900/2100 or 850/1700/1900/2100
Hello, How do I tell which sub-model my U8150 is please? Either HSDPA 900 / 2100 / AWS or HSDPA 850 / 1900 / 2100 / 1700. baseband = 22201003; build no.= U8150V100R001C183B825; IMEC = 355093040562676; IMEC-SV = 39.
Check out your fcc id suffix. I have heard there is a b version and a d version.
hi do flashing many roms affects my ideos mobile?
netskink said:
Check out your fcc id suffix. I have heard there is a b version and a d version.
Click to expand...
Click to collapse
All I got is a U8510-1, no letter... any thoughts?
Unlock u8150
Hello.
i have a T-Mobile Ideos u8150, also known as Comet.
it is locked to T-Mobile and requests a pin code when using another sim card.
is there a way to unlock the phone?
please help me...
thank you.
Enable USB Debugging & One Click Root with Unlock Root Tool
ABOUT:
This tutorial explains how to use adb to flash the following items starting from a UCLB3 base w/ root.
- Custom kernel w/ CWM recovery
- Modified 3e recovery
- Custom firmware (ROMS)
- Busybox
These instructions will most likely work coming from other rooted Infuse firmwares, but were tested starting from my Odin UCLB3 Unbrick package with root.
ADB SETUP:
Download: adb.zip
Download: SAMSUNG_USB_Driver_for_Mobile_Phones.exe
Setup instructions are for Windows, but adb is also available for Linux and Mac.
a.) If necessary, uninstall any previous Kies or Samsung USB Driver installations, and install the Samsung USB driver from the above download link.
b.) Unzip contents of adb.zip and copy the folder contents to C:\Windows\
c.) If your phone is booted up and running, make sure you select USB debug mode in settings. ADB also works in CWM recovery, and in modified 3e recovery.
d.) To test your installation, open a command prompt (Press WINDOWS KEY + R - type cmd - press Enter).
Type:
Code:
adb devices
If all is working, you will see your device listed.
Some quick command tips:
To move a file from your computer to the phone, "push" it:
Code:
adb push myfile.zip /directory-on-phone/
Of course, you need to be in the computer directory for your file in the command line to push it to the phone.
To get a file from your phone onto your computer, "pull" it:
Code:
adb pull /sdcard/myfile.zip
To access a command prompt for the phone:
Code:
adb shell
Inside that shell, you can use unix commands from within the Android OS to manipulate your phone.
------------------------------------------------------------
INSTRUCTIONS FOR GINGERBREAD:
(Scroll down for ICS Instructions.)
------------------------------------------------------------
Instruction steps must be followed in order.
Step 1: Use adb to install a custom kernel
Download: flash_image.zip (Extract and use flash_image for instructions below.)
You'll also need a Gingerbread kernel zImage.
Code:
adb push flash_image /data/local/tmp/flash_image
adb push zImage /data/local/tmp/zImage
adb shell
$ su
# chmod 755 /data/local/tmp/flash_image
# chmod 755 /data/local/tmp/zImage
# /data/local/tmp/flash_image boot /data/local/tmp/zImage
# reboot recovery
Step 2: Use adb to install modified 3e recovery
Necessary for Step 3.
Download: 3e_recovery_no_sig_check.zip (Extract and use recovery for instructions below.)
Code:
adb remount
adb push recovery /system/bin/recovery
adb shell "chmod 755 /system/bin/recovery"
adb reboot recovery
Step 3: Use adb to install a custom firmware
This step uses the modified 3e recovery to flash unsigned firmware.
You'll need to download the zip file for the Gingerbread (or possibly Froyo) rom that you would like to flash. These instructions have been tested by flashing my Ethereal rom.
Replace YourFirmware.zip with the actual name of your rom zip.
Code:
adb push YourFirmware.zip /sdcard/
adb remount
adb shell
# echo "boot-recovery" > /cache/recovery/command
# echo "--update_package=SDCARD:YourFirmware.zip" >> /cache/recovery/command
# reboot recovery
Let firmware flash complete, and then type:
Code:
adb reboot
EXTRA: Use adb to install busybox
Download: Busybox-1.20.2.zip (Extract and use busybox for instructions below.)
Code:
adb remount
adb push busybox /system/xbin/busybox
adb shell
# chmod 755 /system/xbin/busybox
# ln -s /system/xbin/busybox /system/bin/busybox
# /system/xbin/busybox --install -s /system/xbin
# exit
----------------------------------------
INSTRUCTIONS FOR ICS:
----------------------------------------
STEP: Use adb to flash an ICS kernel; then use blue CWM recovery to install an ICS rom.
Download: flash_image.zip (Extract and use flash_image for instructions below.)
You'll also need an ICS kernel boot.img and it is recommended that you push an ICS rom zip to your sdcard. Once you are in blue CWM recovery, you won't be able to use adb to push anything else to the device.
Replace YourFirmware.zip with the actual name of your rom zip.
Code:
adb push YourFirmware.zip /sdcard/
adb push flash_image /data/local/tmp/flash_image
adb push boot.img /data/local/tmp/boot
adb shell
$ su
# chmod 755 /data/local/tmp/flash_image
# chmod 755 /data/local/tmp/boot
# /data/local/tmp/flash_image boot /data/local/tmp/boot
# reboot recovery
From here, just follow the normal instructions for flashing your ICS rom in blue recovery.
I'll add to these instructions as I find more for ICS, and as support increases for adb in the CWM recovery we're using in ICS roms. At this time, adb support isn't fully working in Infuse ICS CWM recoveries. If you use adb to get an ICS kernel / CWM recovery combination, just use the recovery menu to do anything else. If you need to get other files onto the device while in blue CWM recovery, go to mounts and storage, mount /sdcard/, and mount USB storage.
Hope this is useful to someone else. I mainly wanted to see how much could be done with just adb, and I learned quite a bit about how the phone works in the process.
Wow my friend...nice and thx for what you provide the Infuse Community.
It is people like you, why i stay!
very nice how-to!
bigjoe2675 said:
Wow my friend...nice and thx for what you provide the Infuse Community.
It is people like you, why i stay!
Click to expand...
Click to collapse
SiL3nTKiLL said:
very nice how-to!
Click to expand...
Click to collapse
Thanks fellas. And, by the way, I know that most general users aren't going to use adb to flash kernels and firmware. It's of course easier to use all of the Heimdall one-click and Odin tools that we have - as well as the Infuse Toolkit, Heimdall suite, SGS Kernel Flasher, and CWM recovery. So, for the person asking, "Why would someone still do this, when we have all of the tools that we have?" - this isn't for you.
I approached this from the standpoint of asking, "What if we didn't have access to all of the easy tools?".
At some point, if someone is having issues with Odin and Heimdall, or if they can't use their hardware buttons, maybe they will find this useful. I like to do things from the command line and not have to touch the phone while I'm working on development stuff - plus I type fast, and since I spent years in the command line on Slackware linux, prefer using unix commands. I'm actually faster at CLI stuff than with GUI stuff, plus I like the control that CLI gives you.
I had to help a forum member restore his phone over a remote tech support session using https://join.me/ . He claimed that he couldn't get Heimdall or Odin to recognize his phone. I was able to use adb to do things from his computer, which was helpful, since I couldn't see or directly use his phone. I had to ask him to do some things on the phone, so I later wanted to figure out how to do more using just adb. That's what this is all about. If I had to help someone over a remote session now, I could do most everything without them ever touching their phone.
First of all thank you very much for the guide, but I seem to be having a problem
Whenever I try this:
Code:
adb push YourFirmware.zip /sdcard/
adb remount
adb shell
# echo "boot-recovery" > /cache/recovery/command
# echo "--update_package=SDCARD:YourFirmware.zip" >> /cache/recovery/command
# reboot recovery
the first issue is the phone reboots but continues to system and not to recovery.
now if I manually make it boot recovery, CWM gives me an error that it couldn't mount: SDCARD:update.zip
the update.zip that I'm trying to flash is CM9 RC2, also tried other zip files and also failed.
what am I doing wrong ?!
Thanks in advance.
DeepUnknown said:
First of all thank you very much for the guide, but I seem to be having a problem
Whenever I try this:
Code:
adb push YourFirmware.zip /sdcard/
adb remount
adb shell
# echo "boot-recovery" > /cache/recovery/command
# echo "--update_package=SDCARD:YourFirmware.zip" >> /cache/recovery/command
# reboot recovery
the first issue is the phone reboots but continues to system and not to recovery.
now if I manually make it boot recovery, CWM gives me an error that it couldn't mount: SDCARD:update.zip
the update.zip that I'm trying to flash is CM9 RC2, also tried other zip files and also failed.
what am I doing wrong ?!
Thanks in advance.
Click to expand...
Click to collapse
If you follow the steps correctly from Gingerbread (including the step to install modified 3e recovery), and replace "YourFirmware.zip" with the name of your firmware, these adb commands use 3e recovery to flash firmware. These flashing instructions are not for CWM recovery, and the steps you are following aren't for flashing ICS from Gingerbread. Look further down in the first post for ICS adb instructions.
Sent from my SGH-I997 using Tapatalk 2
jscott30 said:
If you follow the steps correctly from Gingerbread (including the step to install modified 3e recovery), and replace "YourFirmware.zip" with the name of your firmware, these adb commands use 3e recovery to flash firmware. These flashing instructions are not for CWM recovery, and the steps you are following aren't for flashing ICS from Gingerbread. Look further down in the first post for ICS adb instructions.
Sent from my SGH-I997 using Tapatalk 2
Click to expand...
Click to collapse
Thanks for clearing it up. The reason why I used that method is because I looked online and I found it on another forum and the post owner didn't mention anything about it should be used with GB.
infuse CM9 rainbows
I'm caught with a half-done CM9 install of the infuse upgraded from cm7.
Somehow I was able too boot once sucessfully into CM9 though with the initial rainbow screen, but now my device hangs in recovery which is also garbled. I've been searching all over for a nice thorough guide to getting this thing going again and your post here was the only one I found remotely applicable to my situation.
I've been trying your ADB instructions for flashing with ICS but I'm stuck at second step: where I only get: cannot stat "flash-image": no such file or directory.
Since I'm stuck in CWM recovery none of the other options seems to see my device, ie. Heimdall or Odin.
Is there a better solution out of my woes?
Excuse my noobiness.
By stucked at recovery you mean it always boots up into recovery (recovery bootloop)?
You should go back to ULCB3 stock, preferably using Jscott's "option C" and flash the GB bootloaders. Then proceed to installing CM9, and remember to do a double flash. (wipes, flash, reboot, phone hangs, boot into cwm with 3-finger combo, wipe and flash!)
This way you'll solve both the recovery bootloop and the rainbows, and bring you CM9
Sent from my sweet and buttery Infuse
andros11 said:
By stucked at recovery you mean it always boots up into recovery (recovery bootloop)?
You should go back to ULCB3 stock, preferably using Jscott's "option C" and flash the GB bootloaders. Then proceed to installing CM9, and remember to do a double flash. (wipes, flash, reboot, phone hangs, boot into cwm with 3-finger combo, wipe and flash!)
This way you'll solve both the recovery bootloop and the rainbows, and bring you CM9
Click to expand...
Click to collapse
Yes the problem right now is that the only understandable thing I get out of the phone is the samsung logo at boot.
I think it goes into recovery but I can't really tell because the screen is garbled. Also using "adb reboot download" seems to make no difference to Odin or Heimdall which both refuse to see the phone.
I would love to find out exactly which state the phone is in but my knowledge of adb isn't that great to say the least.
How do I flash bootloaders using adb only?
I totally appreciate your help Andros, totally out of luck with this so far.
The only way to flash bootloaders is in download mode using either odin or heimdall.
Adb reboot download should get you into download mode as long as you have adb access while on recovery. If not, get into download mode this way:
Take out battery, and put it back in.
Hold both vol+ & vol- (don't press power)
plug in usb cable to phone.
Once in download mode, your phone should be recognized by Odin. If not, try reinstalling the drivers using the ones in the iset thread.
There are many threads about this situation that should also help you out, just search around
Sent from my sweet and buttery Infuse
Okay, somehow I missed how to use the keys to enter download state.
In my mind using adb to enter download state should be the same as the keys but somehow that isn't the case.
Got the GB bootloaders installed and used an odin package and then redid the CM9 installation.
Sorry about spamming this thread, and thanks to andros for getting me going again.
Interesting, I also didn't know that could make a difference. Lesson learned lol
Glad you got it running again
Sent from my sweet and buttery Infuse
hi , i am having serious problem ,
my i997 was ok before after doing a mess , now its in 3e reocvery restarts in samsung logo comes to 3e recovery again and so on.....i did everything ,flashed with I997UCKH1 but all in vain .
Could somebody guide what to do ?
umairrashid1 said:
hi , i am having serious problem ,
my i997 was ok before after doing a mess , now its in 3e reocvery restarts in samsung logo comes to 3e recovery again and so on.....i did everything ,flashed with I997UCKH1 but all in vain .
Could somebody guide what to do ?
Click to expand...
Click to collapse
Use odin or heimdall to repartition back to uclb3 stock.
andros11 said:
Use odin or heimdall to repartition back to uclb3 stock.
Click to expand...
Click to collapse
i used heimdall ,it flashed successfully but still no result .
how to do he same using odin ?
could you please add more steps in order o recover the phone fully .
i am in a big problem .
[GUIDE] Make your android device True Root! - by Napalm
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
better late than never.....a thorough quide
Thanks for this guide.
Sent from my Nexus 7
Thanks.
Napalm2 said:
[GUIDE] Make your android device True Root! - by Napalm
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
Click to expand...
Click to collapse
can't find recovery-from-boot.p. Y?
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
Try not to quote a post that big mate, makes navigation a pain
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
That part is only for the Nexus 7, and if you are using a Nexus 7 with custom ROM then this file may not exist. If you are using stock on a Nexus 7 then the only other question is whether you have renamed/moved/deleted it before. Once you
Code:
cd /system
type
Code:
ls -l recovery*
and see if anything is listed.
Napalm
Where did you find the info for step one?
Sent from my Nexus 7 using Tapatalk 2
I worked it out. You can find your VID and PID from your unknown device in Device Manager. You have to right click the device > Properties > Details > Choose Hardware Ids from the list. Since the driver from Google supports the same interfaces for other devices we can assume it works with the Nexus 7. I made the modifications and it works. Below is a full list of IDs if anyone wants them.
Napalm
Code:
Nexus 7
USB\VID_18D1&PID_4E40 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_18D1&PID_4E42 : composite-adb-interface (with mtp)
USB\VID_18D1&PID_4E42&MI_00: mtp-composite
USB\VID_18D1&PID_4E42&MI_01: adb-composite
USB\VID_18D1&PID_4E44 : composite-adb-interface (with ptp)
USB\VID_18D1&PID_4E44&MI_00: mtp-composite
USB\VID_18D1&PID_4E44&MI_01: adb-composite
USB\VID_18D1&PID_4E41 : mtp-only
USB\VID_18D1&PID_4E43 : ptp-only
Galaxy Nexus
USB\VID_18D1&PID_4E30 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_04E8&PID_6860 : composite-adb-interface (with mtp)
USB\VID_04E8&PID_6860&MI_00: mtp-composite
USB\VID_04E8&PID_6860&MI_01: adb-composite
USB\VID_04E8&PID_6866 : composite-adb-interface (with ptp)
USB\VID_04E8&PID_6866&MI_00: ptp-composite
USB\VID_04E8&PID_6866&MI_01: adb-composite
USB\VID_04E8&PID_685C : mtp-only
USB\VID_04E8&PID_6865 : ptp-only
Great guide, but why not just post up the new initrd for people that don't want to do this? It looks as if its the same for all devices.
As requested. Attached are the compiled tools and modified scripts used and the original and modified boot partition image files for the Nexus 7 running Android 4.1.2.
Napalm
Update for Android 4.2
Attached is the original and modified boot partition image files for the Nexus 7 running Android 4.2.
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasi-jop40c-android42-boot-new.img
Napalm
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.1
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jop40d-android421-boot-new.img
Napalm
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
JulienDev said:
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
Click to expand...
Click to collapse
If I'm not mistaken, they are the same for wifi and 3g versions?
Same as before.. just an update for Android 4.2.2... as per the previous posts.. no idea if the non-GSM variant has the same boot partition. If anyone can test please post.
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.2
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jdq39-android422-boot-mod.img
Getting a No_Command error
Hi, I am trying to true root Android M on my Nexus 7 2012 Wifi edition. I followed the steps here and was able to create the boot.img with the ro.debuggable=1 and ro.secure=0. however if i flash this boot.img the device boots and gets stuck in a android bot with a Red ! (bang) triangle. and says No command.
Any idea how to get ro.debuggable on for Android M?
Hi all!
Was about to purchase a Nexus 7 when I saw a huge discount on the Asus TF101 and decided to take it. How I have a it in front of me proudly informing it has the firmware revision IML74K.WW_epad-9.2.1.27-20120615. BTW, the s/n starts with B50 if it matters.
And now what? Wait for the official JB or root it right now? I usually root all my devices at least to have nandroid + TiBu, even if I don't plan to install any alternative FW.
The problem is it's an ICS 4.0.3 with the problem to enter into recovery mode and I have only a Mac computer, no Windows and no Linux machines around. I read the threads and see every time the Windows tools, nothing for Mac. No root from SD card neither.
Any advice how to root using the Transformer itself or my Mac? And any advice regarding best JB ROM or at least best kernel for stock 4.0.3 ROM with exFAT support? I don't use NTFS because my Macs can't write on and old FAT16 has the famous 4 Gb limit, not good for the movies.
Many thanks in advance.
You could try and install Windows on your Mac to essentially have a dual boot of both OS's. Or you could use something like VMWare (I think that's what it is but I'm like 5% sure) which allows you to run windows without necessarily installing it. Anyway, I suggest, if you can, to go ahead and root your device and install a JB ROM like EOS or CM10 or something.
If it's not possible to do Android modifications on a Macintosh it looks like your only option would be to setup a dual boot with Linux to do your Android Rooting and ROM flashing since I would imagine you would want to avoid having to use Windows for this It would be better to avoid virtual machines to do device modifications and just stick to the dual boot option since support for USB devices is iffy in virtual machines.
Hi all,
Shmi117 said:
You could try and install Windows on your Mac to essentially have a dual boot of both OS's.
Click to expand...
Click to collapse
No chance! I don't like to spend hours installing Windows and all this stuff again !!! :crying:
WCL1990 said:
If it's not possible to do Android modifications on a Macintosh it looks like your only option would be to setup a dual boot with Linux to do your Android Rooting and ROM flashing since I would imagine you would want to avoid having to use Windows for this It would be better to avoid virtual machines to do device modifications and just stick to the dual boot option since support for USB devices is iffy in virtual machines.
Click to expand...
Click to collapse
Basically what Linux can to Mac OS X can do. At least regarding adb and the command line use. The problem is I have found tons of good information about how to do it using Windows, but nothing for Linux nor Mac.
OK, here is the answer. One can root the Asus Eee Pad Transformer TF101 using Mac OS X only!
Developing in next message...
OK, here is the solution. :fingers-crossed:
First of all, I presume the Android SDK for Mac OS X is installed and upgraded.
Next, on the Transformer please go to Settings -> Developer options and activate the USB debugging. Finally, please check this forum thread and download the latest version of PERI. Yes, PERI for Windows 0.4 as of today. Please unzip the downloaded file.
No sorcery or black magic here, I've just learned from the bat file and tried to reproduce the whole procedure manually using adb.
Most Linux users will smile, but I will show the commands the way most Mac OS X user will need to input them. Basically, you don't really know that the shell path is and what "finally add adb to your path" means, right?
1. OK, please open the Finder and go to the directory where the adb executable lives. Something like ~/Downloads/android_sdk/android-sdk-macosx/platform-tools/.
2. Now please open the Terminal.app inside Application/Utilities folder and go to the same directory.
3. Please connect the Transformer to the Mac using the USB cable.
4. First of all, let's see if adb sees the Transformer. Please input
Code:
./adb devices
If everything is OK, you'll see something like this:
Code:
List of devices attached
024640c082db4561 device
5.
Code:
./adb push /Users/YOURUSERNAME/Downloads/OneclickrecoveryV0.4/recoveryblob /sdcard/
Basically you input ./adb push, drag the a.m. file and next input /sdcard/
6.
Code:
./adb shell mv /data/local/tmp /data/local/tmp.bak
7.
Code:
./adb shell exit
8.
Code:
./adb shell ln -s /dev/block/mmcblk0p4 /data/local/tmp
9.
Code:
./adb reboot
Wait while the Transformer reboots.
10.
Code:
./adb shell dd if=/sdcard/recoveryblob of=/dev/block/mmcblk0p4
11.
Code:
./adb shell exit
12.
Code:
./adb reboot
Wait while the Transformer reboots.
13.
Code:
./adb push /Users/YOURUSERNAME/Downloads/OneclickrecoveryV0.4/Superuser-3.0.7-efghi-signed.zip /sdcard/
See #5.
14.
Code:
./adb reboot
Wait while the Transformer reboots.
15. Now please shut down the Transformer manually and boot into recovery. Please hold Power + Volume Down buttons and next confirm with Volume Up button when asked. Rogue XM recovery will boot.
16. Wipe cache, wipe Dalvik cache, next choose Install zip file from internal storage and choose the Superuser-3.0.7-efghi-signed.zip.
17. When it's done, reboot.
18. PROFIT. :good: Your device is rooted with Rogue XM recovery installed.
From there I suggest to install SuperSU and eventually SuperSU Pro as it seems to work better than Superuser and Superuser Elite respectively. You can eventually get rid of Superuser if you wish so, instructions available in this forum thread. As I own both SuperSU Pro and Superuser Elite, I've installed SuperSU and upgraded Superuser, just in case of. You should not mix them, though, thus I've revoked the root permission of Superuser.
Next I've installed Busybox. I don't know if it's the best version for TF101, works well on my GNote.
Finally, let's play with the recovery options courtesy of some awesome developers. :good: We can choose among Rogue XM Touch, CWM classic, CWM 6.x and official or modified TWRP. I've chosen the official TWRP with GooManager.
Next stop, Titanium Backup.
Should you have other recommendations, please do not hesitate.
Thanks a lot friend. I used the same procedure to root my TF101 using Ubuntu Are you using any Customised ROM ? I am using CM10 based ROM built by RaymanFX and it is simply awesome
iLearner said:
OK, here is the solution. :fingers-crossed:
First of all, I presume the Android SDK for Mac OS X is installed and upgraded.
Next, on the Transformer please go to Settings -> Developer options and activate the USB debugging. Finally, please check this forum thread and download the latest version of PERI. Yes, PERI for Windows 0.4 as of today. Please unzip the downloaded file.
No sorcery or black magic here, I've just learned from the bat file and tried to reproduce the whole procedure manually using adb.
Most Linux users will smile, but I will show the commands the way most Mac OS X user will need to input them. Basically, you don't really know that the shell path is and what "finally add adb to your path" means, right?
1. OK, please open the Finder and go to the directory where the adb executable lives. Something like ~/Downloads/android_sdk/android-sdk-macosx/platform-tools/.
2. Now please open the Terminal.app inside Application/Utilities folder and go to the same directory.
3. Please connect the Transformer to the Mac using the USB cable.
4. First of all, let's see if adb sees the Transformer. Please input
Code:
./adb devices
If everything is OK, you'll see something like this:
Code:
List of devices attached
024640c082db4561 device
5.
Code:
./adb push /Users/YOURUSERNAME/Downloads/OneclickrecoveryV0.4/recoveryblob /sdcard/
Basically you input ./adb push, drag the a.m. file and next input /sdcard/
6.
Code:
./adb shell mv /data/local/tmp /data/local/tmp.bak
7.
Code:
./adb shell exit
8.
Code:
./adb shell ln -s /dev/block/mmcblk0p4 /data/local/tmp
9.
Code:
./adb reboot
Wait while the Transformer reboots.
10.
Code:
./adb shell dd if=/sdcard/recoveryblob of=/dev/block/mmcblk0p4
11.
Code:
./adb shell exit
12.
Code:
./adb reboot
Wait while the Transformer reboots.
13.
Code:
./adb push /Users/YOURUSERNAME/Downloads/OneclickrecoveryV0.4/Superuser-3.0.7-efghi-signed.zip /sdcard/
See #5.
14.
Code:
./adb reboot
Wait while the Transformer reboots.
15. Now please shut down the Transformer manually and boot into recovery. Please hold Power + Volume Down buttons and next confirm with Volume Up button when asked. Rogue XM recovery will boot.
16. Wipe cache, wipe Dalvik cache, next choose Install zip file from internal storage and choose the Superuser-3.0.7-efghi-signed.zip.
17. When it's done, reboot.
18. PROFIT. :good: Your device is rooted with Rogue XM recovery installed.
From there I suggest to install SuperSU and eventually SuperSU Pro as it seems to work better than Superuser and Superuser Elite respectively. You can eventually get rid of Superuser if you wish so, instructions available in this forum thread. As I own both SuperSU Pro and Superuser Elite, I've installed SuperSU and upgraded Superuser, just in case of. You should not mix them, though, thus I've revoked the root permission of Superuser.
Next I've installed Busybox. I don't know if it's the best version for TF101, works well on my GNote.
Finally, let's play with the recovery options courtesy of some awesome developers. :good: We can choose among Rogue XM Touch, CWM classic, CWM 6.x and official or modified TWRP. I've chosen the official TWRP with GooManager.
Next stop, Titanium Backup.
Should you have other recommendations, please do not hesitate.
Click to expand...
Click to collapse
Thanks, that worked nicely for me!
One thing I can't figure out yet, though, is how to do a backup - the microsd card doesn't mount at /sdcard/ and backing up to internal storage is not recommended...
Wheelie
Hi!
A linux only solution for B70(+) devices can be found here:
http://androidroot.mobi/2012/05/27/introducing-wheelie-nvflash-for-asus-transformer-tf101-b70/
It is what I used twice so far. Works as it should.
I do not claim credit for anything! I just stumbled upon the solution.
Problem rooting
Hi,
this is my first post on XDA.
After a lot of readings here, I think I have tried everything I could, but my knowledge in rooting is too limited to understand these bugs:
At first, when I tried running these lines on the terminal, I couldn't push the files to /data/local: permission denied.
Then, I tried pushing to /sdcard/ and it worked.
But the next error I get is when linking:
"link failed Function not implemented"
Can you help me please?
My computer is a Mac, so I have tried you method first. I also tried on my Parallel Desktop with Windows 8 and on the PC with Windows 8.1 of my girlfriend, with RootDebugFs.
Here is the description of my Infinity pad:
model: ASUS Transformer Pad TF700T
Android: 4.2.1
Kernel: 3.1.10-g9827b9a, [email protected] #1
Build: JOP40D.WW_epad-10.6.1.14.8
I had the build 14.10 but I found that I should downgrade to 14.8, so I did, but nothing changed.
I also unlocked my tablet by mistake, thinking it would help rooting.
Thanks for your help.
Best,
Yohan.
Just did this!!! Still works!!! Followed your steps. Now the recovery is TWRP 2.5!!! As the peri version changed I checked if the .bat was still doing the same things, and it is!!
Thanks for your tuto! Saved me some time installing W**** ...
Hello,
I have nerve-breaking issue with CWM Recovery wich loads up every time i turn on my tablet. So if i wish to restart or to go to CWM i have to hold volume down button to get to bootloader and then select Android to get back to CWM.
So my first question is how do i resolve this problem with constant booting into CWM Recovery? so it would go to recovery only when i select reboot to recovery option in CWM
My next issue is that i have tried to install Ubuntu Touch for TF101 (from ubuntu touch wiki). And in installation guide it says you have to download cm-10.1-20130404-UNOFFICIAL-tf101.zip, and then quantal-preinstalled-phablet-armhf.zip. The fist zip i got successfully but the second link did not exist, so i checked their repository and found similar zip named saucy-preinstalled-phablet-armhf.zip (i tought it's a newer version) well, then i made data wipe and installed both as stated in guide, i also deleted cache and now when i try to boot my tablet i get to blue spinning CWM logo and it stays there for eternity.
So my second question is how to put some other rom on SD card so i can install another rom? or what i have to do to make Ubuntu Touch work?
My third thing that i noticed (for me it seems wrong) is that with every data wipe it makes new 0/ folder and it keeps everything before wipe in it. I made couple of data wipes and now my data structure looks something like this:
Code:
0/
0/
0/
0/
ASUS/
Alarms/
Albums/
AndroZip/
...other folders (apps and data from stock rom)
Alarms/
Android/
Autodesk/
DCIM/
...other folders (probably from first wipe)
Alarms/
Android/
DCIM/
Downloads/
...other folders (probably from second or third wipe)
legacy/
obb/
obb/
So my third question is if this is the correct data structure because it seems wrong for me? And how to resolve that issue?
My un-educated guess is that all three problems are connected, but my android experience and knowdlege is far to small to have a clue how to begin resolving this twisted problem.
I did some researching and as far it goes with second question i think i have soft-bricked tablet (maybe there is still hope?). So i would like to make it back to original rom or 4.2 jelly bean as i had till now without CWM Recovery issue, if possible of course
(Using ClockworkMod Recovery v5.8.3.4 now, and i think at beginning there was ROM Manager used, i bought used tablet)
Please help, thx
The issues are somewhat intertwined, and run back to using CWM 5.8.X.X
The first thing you MUST do is stop the CWM bootloop or you will not be able to install any other ROM or recovery.
If you can boot to a ROM, run a terminal window with SU permissions. If you cannot boot to a ROM, you will need to run from an ADB Shell from a computer when booted to recovery:
Code:
echo boot | dd of/dev/block/mmcblk0p3 bs=1 seek=0
Then reboot normally and your bootloop to CWM should be fixed.
Next, I HIGHLY HIGHLY recommend upgrading to TWRP 2.3.2.3 or higher. The /0/0/0/0 issue has to do with the new directory structure of Android 4.2 for multi-users. CWM 5.8.X.X cannot handle multi-users properly.
TWRP 2.3.2.3 can be updated using the GooManager app (tap the menu key in the top right and choose Install OpenRecovery Script).
IMO, TWRP is far superior to CWM as it has a file manager and terminal emulator.
I am running SidneyK's TWRP 2.6.3.0. He has a zip that can be flashed from CWM to update, however you have to have the boot loop issue resolved or it will not flash.
Ok, as you said i cannot boot to ROM so i tried with ADB Shell but it says
error: device not found
I have device connected on keyboard dock and cable from dock to pc
Any advices how to reslove that issue? Am i missing some drivers?
In device manager i can see that there is a Transformer device with yellow exclamation. I tried to install drivers from asus webpage but it wont install.
Should i get copy of live linux and try from there?
EDIT:
I got the connection working with ADB Shell but i got this response from code you provided
Code:
~ # echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
5+0 records in
5+0 records out
5 bytes (5B) copied, 0.006079 seconds, 822B/s
Ok now i'm not getting to recovery after restart, but now my tablet is constantly restarting... after Asus eee image there is few secodnds of black screen and then it restarts itself.
Could this be due to my Ubuntu Thouch installation attempt?
Or how can i remove CWM Recovery and install TWRP whitout working ROM on tablet?
boonz said:
Maybe i should type?
Code:
echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
Click to expand...
Click to collapse
Damn, yeah, it should be ...of=dev/block/...
D'OH!
I made few more edits on previous post as i was trying diffrent things. So currently i'm at this position:
Code:
~ # echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
5+0 records in
5+0 records out
5 bytes (5B) copied, 0.006079 seconds, 822B/s
Ok now i'm not getting to recovery after restart, but now my tablet is constantly restarting... after Asus eee logo there is few secodnds of black screen and then it restarts itself.
Could this be due to my Ubuntu Thouch installation attempt or should i push some basic ROM from asus webpage to tablet and replace it with Ubuntu Touch in order to proceed with your instructions?
Or how can i remove CWM Recovery and install TWRP whitout working ROM on tablet?
Thx
boonz said:
I made few more edits on previous post as i was trying diffrent things. So currently i'm at this position:
Code:
~ # echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
echo boot | dd of=dev/block/mmcblk0p3 bs=1 seek=0
5+0 records in
5+0 records out
5 bytes (5B) copied, 0.006079 seconds, 822B/s
Ok now i'm not getting to recovery after restart, but now my tablet is constantly restarting... after Asus eee logo there is few secodnds of black screen and then it restarts itself.
Could this be due to my Ubuntu Thouch installation attempt or should i push some basic ROM from asus webpage to tablet and replace it with Ubuntu Touch in order to proceed with your instructions?
Or how can i remove CWM Recovery and install TWRP whitout working ROM on tablet?
Thx
Click to expand...
Click to collapse
There are a few ways.
You can use ADB to push the TWRP.zip from sidneyk's thread in the dev section, install that from the internal storage.
If you have a TF101 (non 3G) you can use one of my repacked EasyFlasher in APX mode to push TWRP: http://forum.xda-developers.com/showpost.php?p=43986513
Another option is to use the .blob file (extracted from the zip) and use adb to install when in CWM recovery.
Push the blob file to the /sdcard/ (called twrp.blob for this example)
Use adb shell and execute:
Code:
dd if=/sdcard/twrp.blob of=/dev/block/mmcblk0p4
Then reboot normally (you need to see the progress indicator complete before rebooting to recovery). What I do is just hold the power button for 10 seconds, once the progress bar completes and it flashes black, hold VOL DOWN until you see the RCK message then tap VOL UP to boot to recovery. With any luck you will see TWRP.
Now i downloaded TWRP 2.6 for TF101 from teamw.in page and i got that twrp.blob file.
Then i executed adb push and it says it successfully copied file
But when i check in adb shell it says i cannot go or look into sdcard.
Am i missing some sort of permissions? or would live linux still be better option and using it with su might help?
Or is it ok and i should just run dd if=/sdcard/twrp.blob of=/dev/block/mmcblk0p4?
Code:
C:\Program Files\Android\sdk\platform-tools>adb push C:\Users\BoonZ\Downloads\twrp.blob sdcard
1322 KB/s (4984908 bytes in 3.682s)
C:\Program Files\Android\sdk\platform-tools>adb shell
~ # cd sdcard
cd sdcard
/sbin/sh: cd: can't cd to sdcard
boonz said:
Now i downloaded TWRP 2.6 for TF101 from teamw.in page and i got that twrp.blob file.
Then i executed adb push and it says it successfully copied file
But when i check in adb shell it says i cannot go or look into sdcard.
Am i missing some sort of permissions? or would live linux still be better option and using it with su might help?
Or is it ok and i should just run dd if=/sdcard/twrp.blob of=/dev/block/mmcblk0p4?
Code:
C:\Program Files\Android\sdk\platform-tools>adb push C:\Users\BoonZ\Downloads\twrp.blob sdcard
1322 KB/s (4984908 bytes in 3.682s)
C:\Program Files\Android\sdk\platform-tools>adb shell
~ # cd sdcard
cd sdcard
/sbin/sh: cd: can't cd to sdcard
Click to expand...
Click to collapse
Try doing cd /sdcard/
If that does not work, you can also just push the twrp.blob to the / directory and push it from there too.
frederuco said:
Try doing cd /sdcard/
If that does not work, you can also just push the twrp.blob to the / directory and push it from there too.
Click to expand...
Click to collapse
Ok superb, i have TWRP it says v2.3.2.3
How do i perform something like format or delete everything (so there will be no 0/0/0/ folders or whatsoever) and make my tablet usefull again. I would like to run jellybean again because i'm pretty used to it and delete that Ubunto Touch mess i made. Maybe little help here, so i don't mess anything up?
Thx
Go to the Wipe section.
Wipe the system, davlik and also the cache.
Choose the FORMAT DATA option to completely wipe the /data/ partition (this deletes everything in the /data/media/ aka /sdcard/ directory)
Then I would reboot back to recovery (suggested after a format data) and then install your ROM, applicable GAPPS and kernel if necessary.