Android root guide on Mac OS X Step #4 (Final): Unlock, Recovery and Root


Author: macgeekalex
37460 View
12m 37s Lenght
127 Rating


You can now root (almost) any Android device on Mac OS X! (For caveats regarding the Samsung Galaxy S3 and (most) HTC devices, please see further down the description) The series is now complete!!! This is the 4th and final installment of my fail-proof guide to rooting (almost) any Android device on Mac OS X. Make sure you have performed the first 3 steps beforehand. Here is the complete series!! Step #1, Android SDK: http://www.youtube.com/watch?v=-OgYscP-bho Step #2 Android File Transfer: http://www.youtube.com/watch?v=pi2DQA7pEhg Step #3 Download SuperSU and ClockworkMod Recovery: http://youtu.be/xpt8ak5zHco Step #4, Unlock, flash ClockworkMod and root (this video): http://youtu.be/DCqebSxUItw BONUS!! After rooting, you'll definitely want to flash a custom ROM. Click here to find out how! https://www.youtube.com/watch?v=qjWGbiuUlpA ***Watch in 1080P and FULL SCREEN for BEST RESULTS!!*** Unlock the boot loader 1. Make sure USB debugging is enabled. 2. Navigate to android-sdk-macosx/platform-tools 3. Verify device has been detected ◦ ./adb devices 4. Reboot in to bootloader ◦ ./adb reboot bootloader 5. Unlock ◦ ./fastboot oem unlock 6. Tap confirm button on Nexus 7 Replace recovery with clockworkmod 1. Boot into bootloader ◦ ./fastboot reboot-bootloader 2. Flash ClockworkMod ◦ ./fastboot flash recovery recovery-clockwork-touch-6.0.0.6-grouper.img [replace recovery-clockwork-touch-6.0.0.6-grouper.img with the device specific img that you download in step 3 of this video playlist] 3. ReBoot into bootloader ◦ ./fastboot reboot-bootloader 4. On Nexus 7 ◦ Select Recovery using volume button, press power button to enter CWM ◦ Navigate to Mounts and Storage ◦ Select Mount /system 5. Prevent CWM from being overwritten by stock software. Back in terminal ◦ ./adb shell ◦ cd /system ◦ mv recovery-from-boot.p recovery-from-boot.bak 6. On Nexus 7 ◦ Navigate back to root, Reboot Root 1. On Mac ◦ Start Android File Transfer if not already open ◦ Copy CWM-SuperSU-v0.94.zip from platform-tools to root directory of Nexus 7 SD Card. 2. Turn of Nexus 7. 3. Reboot in to recovery by holding Volumes and Power 4. On Nexus 7 ◦ Choose Install ZIP from SD Card ◦ Select CWM-SuperSU-v0.94.zip ◦ Yes 5. Rooted!!! Don't forget to leave a comment! For frequent updates, SUBSCRIBE!! Happy Rooting!! [GALAXY S3 USERS PLEASE READ] UPDATE SEPT 23rd 2012: If you've updated to the latest Samsung Manufacturer ROM, USB drivers for Mac is now BROKEN. Hence, this root method will not work because OS X will not recognize the phone as a mass storage device. Until suitable drivers become available, S3 users will need to go a different route. [GALAXY S3 USERS PLEASE READ] UPDATE OCT 5th 2012: As the Jelly Bean OTA update (slowly) rolls out to users across the globe, I hope to be able to test USB functionality when it becomes available in my region. If the new firmware fixes it, then the above methods will be applicable to the S3. Stay tuned! HTC Devices: Please head over to http://htcdev.com/bootloader to download the bootloader unlock software. After that, you may proceed with the rest of the root process according to this video starting at 4:12.


Comments

  1. where is the platform tools? thx!!
  2. Everything worked, thank you. New HTC Desire EYE unlocked with custom marshmallow firmware. Thank you very much!
  3. I can't seem to fastboot my phone any hints? I keep getting ERROR: Unable to create a plug-in (e00002be) and everything freezes and I have to unplug the battery of my android but it starts normal.
  4. Question on an OLD Samsung SGH-A927 that's LOCKED! I've done all the steps through 3. Once in terminal, the ./adb devices command doesn't show any device. When I turn phone on in boot mode, it says ... "DEMSBL BOOT Loader for MSN6290 More than Downloader v5.43". At this point, I could really use your help to get to the phone. I've opened Android transfer and it doesn't recognize phone either. If I turn the phone on just as normal, it takes me to the lock screen only. HELP? Thanks much for all your video work. Also, I'm sorry for ignorant comments by some who have never been outside of USA (it appears) and don't understand cultures. I total appreciate your input, advice and help. Looks like HK in the background. Though it could be Singapore too. :) Enjoy both place and have been to 55 countries at this point. THANKS AGAIN and any feedback would be helpful.
  5. Can someone help me ?!! When i type in terminal this command " ./adb reboot bootloader " my phone restart automatically... and i don't see the bootloader interface... please help ^^
  6. Thank you so damn much, I thought I had no chance of successfully rooting with my Mac and thanks to your videos I've just done it.
  7. Hi Alex,
    I don't understand why I download a .zip file instead of a .img file about the "recovery clockwork touch". Is there something wrong from me?
    I try the same process but the smarthphone (samsung S2) just restart at point "./adb reboot bootloader"
    Thanks in advance for your help.
  8. @macgeekalex i have a prob with my my nexus 7 2013 3G. stuck on bootlogo. I can't mount cache or restore to factory settings. Can't fast boot oem unlock either! can you help?
  9. I keep getting "illegal instruction 4"
  10. MacBook-Air-van-jelle:platform-tools Jelle$ ./adb devices
    adb server is out of date.  killing...
    * daemon started successfully *
    List of devices attached 

    MacBook-Air-van-jelle:platform-tools Jelle$ 

    it said this too,
    Out of date. killing
    i don't know what it means but, i can connect to LGPCSuite, thats an program that you need to install from the LG website if you want to share music, photos, and documents to your phone, plz help
  11. hey, can someone plz help me, I've got an Lg Labello, also known as Lg L80+, i can't do that all with terminal, is just says:
    Last login: Sun Jun 21 12:11:00 on ttys000
    MacBook-Air-van-jelle:~ Jelle$ cd /Users/Jelle/Library/Android/sdk/platform-tools 
    MacBook-Air-van-jelle:platform-tools Jelle$ ./adb
    Android Debug Bridge version 1.0.32

     -a                            - directs adb to listen on all interfaces for a connection
     -d                            - directs command to the only connected USB device
                                     returns an error if more than one USB device is present.
     -e                            - directs command to the only running emulator.
                                     returns an error if more than one emulator is running.
     -s <specific device>          - directs command to the device or emulator with the given
                                     serial number or qualifier. Overrides ANDROID_SERIAL
                                     environment variable.
     -p <product name or path>     - simple product name like 'sooner', or
                                     a relative/absolute path to a product
                                     out directory like 'out/target/product/sooner'.
                                     If -p is not specified, the ANDROID_PRODUCT_OUT
                                     environment variable is used, which must
                                     be an absolute path.
     -H                            - Name of adb server host (default: localhost)
     -P                            - Port of adb server (default: 5037)
     devices [l]                   list all connected devices
                                     ('-l' will also list device qualifiers)
     connect <host>[:<port>]       - connect to a device via TCP/IP
                                     Port 5555 is used by default if no port number is specified.
     disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
                                     Port 5555 is used by default if no port number is specified.
                                     Using this command with no additional arguments
                                     will disconnect from all connected TCP/IP devices.

    device commands:
      adb push [-p] <local> <remote>
                                   - copy file/dir to device
                                     ('-p' to display the transfer progress)
      adb pull [-p] [-a] <remote> [<local>]
                                   - copy file/dir from device
                                     ('-p' to display the transfer progress)
                                     ('-a' means copy timestamp and mode)
      adb sync [ <directory> ]     - copy host->device only if changed
                                     (-l means list but don't copy)
                                     (see 'adb help all')
      adb shell                    - run remote shell interactively
      adb shell <command>          - run remote shell command
      adb emu <command>            - run emulator console command
      adb logcat [ <filter-spec> ] - View device log
      adb forward --list           - list all forward socket connections.
                                     the format is a list of lines with the following format:
                                        <serial> " " <local> " " <remote> "\n"
      adb forward <local> <remote> - forward socket connections
                                     forward specs are one of: 
                                       tcp:<port>
                                       localabstract:<unix domain socket name>
                                       localreserved:<unix domain socket name>
                                       localfilesystem:<unix domain socket name>
                                       dev:<character device name>
                                       jdwp:<process pid> (remote only)
      adb forward --no-rebind <local> <remote>
                                   - same as 'adb forward <local> <remote>' but fails
                                     if <local> is already forwarded
      adb forward --remove <local> - remove a specific forward socket connection
      adb forward --remove-all     - remove all forward socket connections
      adb reverse --list           - list all reverse socket connections from device
      adb reverse <remote> <local> - reverse socket connections
                                     reverse specs are one of:
                                       tcp:<port>
                                       localabstract:<unix domain socket name>
                                       localreserved:<unix domain socket name>
                                       localfilesystem:<unix domain socket name>
      adb reverse --norebind <remote> <local>
                                   - same as 'adb reverse <remote> <local>' but fails
                                     if <remote> is already reversed.
      adb reverse --remove <remote>
                                   - remove a specific reversed socket connection
      adb reverse --remove-all     - remove all reversed socket connections from device
      adb jdwp                     - list PIDs of processes hosting a JDWP transport
      adb install [-lrtsd] <file>
      adb install-multiple [-lrtsdp] <file...>
                                   - push this package file to the device and install it
                                     (-l: forward lock application)
                                     (-r: replace existing application)
                                     (-t: allow test packages)
                                     (-s: install application on sdcard)
                                     (-d: allow version code downgrade)
                                     (-p: partial application install)
      adb uninstall [-k] <package> - remove this app package from the device
                                     ('-k' means keep the data and cache directories)
      adb bugreport                - return all information from the device
                                     that should be included in a bug report.

      adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
                                   - write an archive of the device's data to <file>.
                                     If no -f option is supplied then the data is written
                                     to "backup.ab" in the current directory.
                                     (-apk|-noapk enable/disable backup of the .apks themselves
                                        in the archive; the default is noapk.)
                                     (-obb|-noobb enable/disable backup of any installed apk expansion
                                        (aka .obb) files associated with each application; the default
                                        is noobb.)
                                     (-shared|-noshared enable/disable backup of the device's
                                        shared storage / SD card contents; the default is noshared.)
                                     (-all means to back up all installed applications)
                                     (-system|-nosystem toggles whether -all automatically includes
                                        system applications; the default is to include system apps)
                                     (<packages...> is the list of applications to be backed up.  If
                                        the -all or -shared flags are passed, then the package
                                        list is optional.  Applications explicitly given on the
                                        command line will be included even if -nosystem would
                                        ordinarily cause them to be omitted.)

      adb restore <file>           - restore device contents from the <file> backup archive

      adb disable-verity           - disable dm-verity checking on USERDEBUG builds
      adb keygen <file>            - generate adb public/private key. The private key is stored in <file>,
                                     and the public key is stored in <file>.pub. Any existing files
                                     are overwritten.
      adb help                     - show this help message
      adb version                  - show version num

    scripting:
      adb wait-for-device          - block until device is online
      adb start-server             - ensure that there is a server running
      adb kill-server              - kill the server if it is running
      adb get-state                - prints: offline | bootloader | device
      adb get-serialno             - prints: <serial-number>
      adb get-devpath              - prints: <device-path>
      adb status-window            - continuously print device status for a specified device
      adb remount                  - remounts the /system and /vendor (if present) partitions on the device read-write
      adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
      adb reboot-bootloader        - reboots the device into the bootloader
      adb root                     - restarts the adbd daemon with root permissions
      adb usb                      - restarts the adbd daemon listening on USB
      adb tcpip <port>             - restarts the adbd daemon listening on TCP on the specified port
    networking:
      adb ppp <tty> [parameters]   - Run PPP over USB.
     Note: you should not automatically start a PPP connection.
     <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
     [parameters] - Eg. defaultroute debug dump local notty usepeerdns

    adb sync notes: adb sync [ <directory> ]
      <localdir> can be interpreted in several ways:

      - If <directory> is not specified, /system, /vendor (if present), and /data partitions will be updated.

      - If it is "system", "vendor" or "data", only the corresponding partition
        is updated.

    environmental variables:
      ADB_TRACE                    - Print debug information. A comma separated list of the following values
                                     1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
      ANDROID_SERIAL               - The serial number to connect to. -s takes priority over this if given.
      ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.
    MacBook-Air-van-jelle:platform-tools Jelle$ ./adb devices
    adb server is out of date.  killing...
    * daemon started successfully *
    List of devices attached 

    MacBook-Air-van-jelle:platform-tools Jelle$ ./adb reboot bootloader
    adb server is out of date.  killing...
    * daemon started successfully *
    error: device not found

    so, no devices found, i did plug it in and out a few times but it won't
  12. I successfully reached till step 3, then step 4, the first command just reboots the device, and the second command i get this message below.
    " ERROR: could not get pipe properties
    < waiting for device >
    ERROR: could not get pipe properties
    ERROR: could not get pipe properties
    ERROR: could not get pipe properties
    ERROR: could not get pipe properties
    ERROR: Unable to create a plug-in (e00002be)
    ERROR: could not get pipe properties
    ERROR: could not get pipe properties
    ^C

    i have a samsung tab 3 SM-T210 with version 4.4.2

    I am a iPhone guy, i just got this coz it was laying in the house and my sis wasn't using it.
    I must say that, in iPhone to jailbreak, it was the easiest thing ever, restore firmware and your done, but for samsung, till date i have spent more than 24hours now, trying almost all apps , black mart, iroot, kingoroot, framatech, and what not, finally i was happy that i found a nice detailed video, but again, i am stuck. 
    i am thinking that maybe android 4.4.2 is hard, so i am trying to revert it back to the factory android which was android 4.1 or 4.2 ,  i don't remember, but that also i can't see an easy way to find.  

    I am really fed up, but unfortunately i cannot give up........  :-|
  13. Hi there, will this work on a Samsung Dual Plus (SM-G3502L)? Thanks in advance
  14. I am glad that pros like you take time to share your knowledge with us ! Thank you very much !
  15. Does LG G3 S ( Beat ) has a bootloader because my Reboot and doesn't get to bootloader
    Plz Help!!!
  16. what about Sony Xperia? will that method work on my phone also?
  17. the bootloader lock does not come up my device just reboots
    plzz help
  18. step 3 and 4 can't be useful for me as I use samsung galaxy tab 37.0
  19. Thank You for Your videos. I have two questions:1. ./fastboot oem unlock fails with a message: remote: unknown oem command. However, ./adb root end with a message: adbd is already running as root. Does this mean that I can skip this step? 2.What do I need to do if my device is not on the list at clockworkmod ROM manager and sending flash recovery for other devices ends with an error: flash_cmds error. 
  20. I know that it is not an easy question but I have a noname P8510 3G WCDMA Quad Core MTK8389 Tablet. Do you know which superSU is right for it?