How to Root Galaxy S3 on Linux/Ubuntu!

So you want to root your Galaxy S3 on Linux/Ubuntu?  Using Heimdall, you can.

THIS IS ONLY FOR GALAXY S3 GT-I9300!

For Windows, please see How to Root Galaxy S3 on Windows!

For Mac OSX, please see How to Root Galaxy S3 on Mac OSX!

Step 1. Put your phone into download mode by holding down Volume Down, Center Home, and Power button together for about 10 seconds.

Step 2. When you see the warning sign, press Volume Up button to enter Download ODIN mode.

Step 3. Connect a microUSB cable from your Galaxy S3 to your Linux/Ubuntu computer.

You may also like...

118 Responses

  1. Adam says:

    Will this affect the phone’s ability to receive updates OTA?

    • Max says:

      Nope u can always manually install updates or unroot.

      • Adam says:

        That doesn’t really answer my question 😉

        I’m happy to know I can manually install updates, or unroot (how?). But will it affect the ability to receive OverTheAir updates? Your ‘nope’ indicates it doesn’t, but your alternatives suggest it does. Which is it? 🙂

        • Max says:

          Yes it will affect over the air updates but you can manually install updates.

          • Adam says:

            Cool! Thanks! Rooting worked perfectly, too. 🙂

          • Eric Veldhuyzen says:

            I installed this root image and it seems to work perfectly. However I also recieved an update for the phone’s firmware. It tels me to reboot and then the recovery image comes with:

            CWM-based Reovery v5.5.0.4 :: CF-v1.3
            E:Invalid command argument
            Finding update package…
            Opening update package…
            Verifying update package…
            E:failed to verify whole-file signature
            E:signature verification failed
            Installation aborted

            How can I activate this update?

            • Max says:

              You can reinstall stock recovery.

              • Eric Veldhuyzen says:

                I am sorry, I need a little more help on this.
                How do I get the stock recovery? Do I need to install it with the heimdall tool again? I assume when I do install the stock recovery image I will lose the root access, so if I want thta back I’ll have to reinstall the ClockworkMod recovery agian?

  2. Colin Murphy says:

    Thanks for the guide, but I am having some problems.

    Firstly, I think the text is wrong for Step 1 of http://galaxys3root.com/galaxy-s3-ro…n-linuxubuntu/, where you say “Step 1. Put your phone into download mode by holding down Volume Up, Volume Down, and Power button together for about 10 seconds.”. This just kept restarting the phone. The video shows you doing VolDown, Home, and Power, which did allow me to go onto the next stage.

    Secondly, I’ve done step 6 of http://galaxys3root.com/galaxy-s3-root/how-to-root-galaxy-s3-on-linuxubuntu/ , all seems to have gone well according to the terminal output from Heimdall. I can’t do step 7 because, when I hit Vol Down, Home, and Power, I now get an “Android System recovery (3e)” headed screen, not the ClockworkMod recovery screen I’m expecting. This recovery screen does not have the option to install from SDCard.

    This in on an un-branded phone that has been updated with a recent OTA firmware upgrade.

    How should I now proceed?

  3. felix says:

    This didn’t work for me. Everything seemed to go successfully up until I rebooted “into ClockworkMod Recovery”. The recovery menu I get looks different to the picture. The title is “Android system recovery (3e)” and I don’t have an option to “install zip from sdcard”. Presumably this is just the samsung recovery menu? The output when i flashed the recovery image looked fine:

    —-
    Initialising connection…
    Detecting device…
    Claiming interface…
    Attempt failed. Detaching driver…
    Claiming interface again…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    Handshaking with Loke…

    Beginning session…
    Session begun with device of type: 131072

    Downloading device’s PIT file…
    PIT file download sucessful

    Uploading RECOVERY
    100%
    RECOVERY upload successful
    Ending session…
    Rebooting device…
    Re-attaching kernel driver…

    I even tried it twice with the same result. Any ideas what I’m doing wrong?

    kthxbai

    • Chris says:

      Same for me here.
      Is is maybe because I don’t have an external SD card inserted?

      • Dave says:

        Having the exact same problem, tried it twice. Can someone post a solution here.

        • Felix says:

          Afraid I ended up dropping into windows and following the relevant guide for that.

          • ar17787 says:

            hey I ran into this problem too but its an easy fix with heimdall all you need to do is follow the steps in the q and a about it but instead of ticking the box that says auto-reboot off, which is a windows thing, you add –no-reboot to the end of the heimdall command so it looks like “sudo heimdall flash –recovery recovery.img –no-reboot” then, when it has finished flashing, pull the battery out and immediately reboot into clockworkmod recovery. worked a treat

            • Max says:

              Another easy way I found was right when it hits “PASS!” simply hold down Volume Down and Center button.

            • yes says:

              confirmed to work. Pull out the battery a while after you see the blue bar and then go straight to the new recovery.

              On a updated handset running stock firmware one needs to append “–no-reboot” to the end of the heimdall arguments and rip out the battery manually once its done, otherwise the recovery will be wiped upon automatic reboot.

              • atis says:

                Confirmed with pulling out battery.

                Some more little details (had to flash several times until discovered them all).

                Use heimdall 1.3.1 for amd64 (they had warning about compatibility with newer version, and didn’t had compiled amd64 version).

                * Hold VolDown + Home + Power and don’t release it immediately after screen gets black, keep holding until phone enters flash mode

                * Flash with:

                sudo heimdall flash --recovery recovery.img --no-reboot

                After flashing remove USB cable and then battery. Put back on battery and then hold VolUp (NOT Down) + Home + Power and keep holding until you see CWM.

  4. VR says:

    Hello,

    Good instruction set. I was able to root my S3 from Ubuntu 11.10 64 bit (I had to build and install heimdall_1.3.2_i386 from source though). Thanks for putting it together.

    Minor correction in Step 1 (for both Linux and Mac OSX): Should be Home button instead of Volume Up button. The pic is correct. And I didn’t have to wait for 10 secs. It was almost instantaneous.
    In Step 8, it would be nice to have: Use Volume Up/Down to navigate and Power button to choose. May be it is trivial, but this is the first time I rooted galaxy device and I spent few mins figuring this out.

    VR

  5. Thanks for the guide – just going through it now. I think you want VolDown+home+power at the start though – voldown+volup+power seems to just reboot. voldown+home+power worked first time to get to a “really download? press up” screen.

  6. jt says:

    john@paloalto:~/Desktop/android-sdk-linux/tmp$ sudo heimdall flash --recovery recovery.img
    Heimdall v1.3.2, Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
    http://www.glassechidna.com.au

    This software is provided free of charge. Copying and redistribution is
    encouraged.

    If you appreciate this software and you would like to support future
    development please consider donating:
    http://www.glassechidna.com.au/donate/

    Initialising connection...
    Detecting device...
    Claiming interface...
    Attempt failed. Detaching driver...
    Claiming interface again...
    Setting up interface...

    Checking if protocol is initialised...
    Protocol is not initialised.
    Initialising protocol...
    ERROR: Failed to initialise protocol!
    Re-attaching kernel driver...
    john@paloalto:~/Desktop/android-sdk-linux/tmp$

    Why am I getting this error?

  7. Mark Scott says:

    I have a SIM-free Galaxy S3 and I tried this technique but it didn’t work for me. I got a copy of the zip file from http://downloadandroidrom.com/file/GalaxyS3/rooting/GalaxyS3RootLinux.zip (Is that the right version? You could perhaps include a link to a known good copy of the file in your article.)

    I unpacked it and installed the heimdall application using
    sudo dpkg -i heimdall_1.3.2_i386.deb

    I got the phone into ODIN mode as described, connected via USB, and ran the command
    sudo heimdall flash --recovery recovery.img
    — that appeared to work, got success messages as follows:

    Heimdall v1.3.2, Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
    http://www.glassechidna.com.au

    This software is provided free of charge. Copying and redistribution is
    encouraged.

    If you appreciate this software and you would like to support future
    development please consider donating:
    http://www.glassechidna.com.au/donate/

    Initialising connection…
    Detecting device…
    Claiming interface…
    Attempt failed. Detaching driver…
    Claiming interface again…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    Handshaking with Loke…

    Beginning session…
    Session begun with device of type: 131072

    Downloading device’s PIT file…
    PIT file download sucessful

    Uploading RECOVERY
    100%
    RECOVERY upload successful
    Ending session…
    Rebooting device…
    Re-attaching kernel driver…

    I copied the CWM-SuperSU-v0.87.zip file to the root of my external SD card.

    When I pressed VolumeUp+Home+Power I did not get Clockworkmod recovery – instead I got what looked like a stock Android recovery screen, which has no option to install a zip.

    Did I do something wrong? Did I get a bad version of the original zip package?

  8. Mark Scott says:

    I’ve already tried three or four times, same results each time.
    I don’t have a Windows machine or a Mac I can use.

    It seems like the heimdall step isn’t working despite what it reports, because I’m not seeing the CWM recovery manager…

  9. Ryan says:

    Will this work for the t-999?

  10. Danilo Bardusco says:

    For those of you guys not getting the CWM to work, follow the instructions over here:
    http://forum.xda-developers.com/showthread.php?t=1695238

    I think the problem is the missing cache part as follows:
    sudo heimdall flash –recovery recovery.img –cache cache.img

  11. Magian says:

    It was my first time rooting a phone. Succeed to do this on the Fedora system.

    It took me some tries to figure out all these VolumeUp versus VolumeDown key trios. Seems like you need to press the trio almost simultaneously, or it can be interpreted as a single Power during 10 seconds (doing shutdown). And if you had the usb cable connected to the computer before the procedure, you need to reconnect it (since it should be seen differently, idProduct=685d versus 6860). Also some screen-screenshot app uses the same keys as the trio, so it made several screenshots (one corrupted), which was annoying. 🙂

    To do it, I installed dpkg rpm and extracted the binary from the deb file (it’s simplier using mc). I think that /etc/udev/rules.d/60-heimdall-galaxy-s.rules file is not needed, but I created it too (the path is slightly different on Fedora). Used adb from android-sdk to transfer the zip file. After that selected “install zip from internal sdcard”.

    platform-tools/adb push CWM-SuperSU-v0.87.zip /sdcard/

    Thank you.

  12. andddlay says:

    will this work with sprint’s s3?

    • Max says:

      No will not but i will have a new one soon like tomorrow.

      • andddlay says:

        awesome thank you very much for the quick response. i was in the process of installing heimdall…glad i stopped there 😛 awesome work on these instructions by the way – they’re very clear

      • Josh says:

        Why will this not work with the Sprint model? I’ve done some research and it seems that most of the other root methods are applicable to all models other than the verizon one. The windows method uses Odin.exe which seems to be a windows wrapper for a heimdall-esque application.

        I’ve only got access to my linux machine at the moment and would love if this could work.

        Thanks!

      • Kurtis says:

        On July 6th you said tomorrow. It is now september and we don’t have a sprint Linux tutorial. Can we please get that? Thank you.

        • Max says:

          Actually I found out you can’t use Heimdall for U.S. versions, that is why I didn’t post, use VMWare or borrow your friend’s computer is my best advice.

  13. earthforce_1 says:

    I have a problem when I get to this step:

    sudo heimdall flash –recovery recovery.img
    Heimdall v1.3.2, Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
    http://www.glassechidna.com.au

    This software is provided free of charge. Copying and redistribution is
    encouraged.

    If you appreciate this software and you would like to support future
    development please consider donating:
    http://www.glassechidna.com.au/donate/

    Initialising connection…
    Detecting device…
    Claiming interface…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    ERROR: Failed to initialise protocol!

    • Max says:

      Hmmm not sure, can you try a different USB cable? Only thing I can think of to fix.

      • Adam says:

        people are receiving this error using both your mac and linux instructions

        i wont have my PC for another week (waiting for RMA on SSD), so I’ve tried both Mac & Ubuntu (via VM).

        I end up with the failed to initialize protocol.

        on the mac i even installed libusb 1.0 via macports

        no luck!

      • Jake says:

        It’s not the USB cable, it just doesn’t work. No matter what I try (multiple computers, multiple cords, even tried the mac tutorial… nothing), I get this error:

        Checking if protocol is initialised…
        Protocol is not initialised.
        Initialising protocol…
        ERROR: Failed to initialise protocol!
        Re-attaching kernel driver…

        I hope this gets fixed, kind of ironic how you need a windows computer to root a linux device….

    • Joe Hughes says:

      I am getting this error as well…

      • Cahdek says:

        The issue is with an invalid udev rule:

        udevd[11181]: unknown key ‘SYSFS{idVendor}’ in /etc/udev/rules.d/60-heimdall-galaxy-s.rules:1
        udevd[11181]: invalid rule ‘/etc/udev/rules.d/60-heimdall-galaxy-s.rules:1’

        SUBSYSTEM==”usb”, SYSFS{idVendor}==”04e8″, SYSFS{idProduct}==”685d”, MODE=”0666″

        NOTE: I changed my product ID to match what I was seeing from `lsusb` with same result

  14. robert mccall says:

    Thanks man it work

  15. nick says:

    i cant even get hiemdall to install, it starts to install …the progress bar goes through the motions and finishes, does nothing and the install button is back

    • Max says:

      i9300 right? no error messages?

      • nick says:

        Initialising connection…
        Detecting device…
        Claiming interface…
        Attempt failed. Detaching driver…
        Claiming interface again…
        Setting up interface…

        Checking if protocol is initialised…
        Protocol is not initialised.
        Initialising protocol…
        ERROR: Failed to initialise protocol!
        Re-attaching kernel driver…
        venom797@venom797-Inspiron-M5030:~/Downloads/GalaxyS3RootLinux$

        • Max says:

          Make sure to run it as root, do:

          sudo -i

          • Jake says:

            That does not work. including “sudo -i” in the command does nothing. I still receive the following error:

            Checking if protocol is initialised…
            Protocol is not initialised.
            Initialising protocol…
            ERROR: Failed to initialise protocol!
            Re-attaching kernel driver…

  16. nick says:

    nope didnt work same error, thanks anyway for the help… ill just have to wait till a updated mac version comes out as i don’t have a windows comp

  17. Jake says:

    The Mac and Linux tutorials do not work. I’ve tried multiple cords, multiple computers — Your Mac and Linux tutorials simply do not work.

    Thanks for the effort, I hope you can update the tutorial with a fix!

    As others have mentioned, it fails here:

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    ERROR: Failed to initialise protocol!
    Re-attaching kernel driver…

    • Max says:

      They do work (you can see video proof) but there may be driver kext issues which is out of my hands since I don’t know what kind of software is installed on your computer. My best advice is to try another computer or use Windows method using VMWare.

      • charles says:

        No, it does not work. It worked for you on your computer. Once maybe. I’ve used your method on TEN! different computers with multiple cables. Both Linux and Mac. Your method is flawed. You should mention that.

        • Max says:

          Do you have i9300? This isn’t for U.S. versions, only for GT-i9300 model #s, works fine.

          • travis sanabria says:

            if this only works for non us model

            SAY THAT IN THE TITLE OR SOMEWHERE SO WE DONT WASTE OUT TIME TRYING!!!!!!!!! i just spend like four hours!

            • Max says:

              Sorry, my apologies, when Galaxy S3 first came out, i9300 was the only version that existed and also at the time of writing this article, I’ve update now though!

  18. Floris says:

    Hi, I have rooted the S2 and some HTC’s before from linux.
    This time around (when it should be easier!) I wasn’t able to.
    The zip file fails with verification signature error when selected,
    so I can’t move forward.

    Any experience with this error? I bought the phone in The Netherlands,
    in begin July, and received 1 major (80Mb) update, which I installed.

    • Max says:

      most likely a bad file. Try re-downloading the file.

      • Buzzthebuzzsaw says:

        Hi,

        As Floris above says I also get a “verification signature error”.
        heimdall has installed correctly and I’m able to get into the recovery, but when I got to install CWM from sdcard it fails.

        I’ve downloaded the file a number of times and also used a number of apps to copy the file onto the external sdcard on the phone.

        None of these have worked. I keep getting the following:
        E:signature verification failed

        Is there something I’m missing?

        Any help would be great,
        Thanks,
        Buzz.

  19. kenny says:

    maybe its not working because the s3pit.pit file isnt in the downloadable zip

  20. Carlos says:

    I can confirm that this works as today (08-21-2012) on a Galaxy S3 I9300 with the 4.04 update from Ubuntu 11.04. But I may add some clarification to the instructions as posted. It is better if you do the preparation of the files on your computer BEFORE starting with the phone. Also, if you download the updated version of CF-Root, just extract the img files from the CF-Root zip and replace the recovery.img provided in the bundle zip. Don’t download the cache.img (I’t didn’t work for me, I got a scare and it is not necessary). Also, you can put the CWM-SuperSU-v0.87.zip in the SDcards (it doestn matter if external or internal) BEFORE starting with Heimdall, so you can focus only on the flashing itself. it is easier if you use the –no-reboot flag so you have all the time in the world to remove the battery before booting into recovery. In resume: Prepare your computers files (including installing Heimdall .deb), Copy the CWM-SuperSU-v0.87.zip to the phone, Boot your phone into download mode, connect your phone, run a detect test with sudo heimdall detect, flash your phone with sudo heimdall flash –recovery recovery.img –no-reboot, once your computer is back to prompt and the blue bar in the phone has finished, remove you battery, then put it in again and boot into recovery, install the CWM-SuperSU-v0.87.zip file, and reboot your phone.

  21. sianhulo says:

    i get this:

    Initialising connection…
    Detecting device…
    Failed to detect compatible download-mode device.
    heimdall isn’t detecting the phone at all

  22. Paul says:

    How do I do this on T-Mobile?

  23. x0xhellx0x says:

    ubuntu us users getting no love for t999

  24. Mike says:

    doesnt work for my sprint US S3 on Ubuntu 32bit 11.04 – getting the same error as everyone else –
    Initialising connection…
    Detecting device…
    Claiming interface…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    ERROR: Failed to initialise protocol!

    anyone have a correct working method to root a sprint s3 from linux?

  25. Christopher Bowley says:

    I am getting error

    Checking if protocol is initialised...
    Protocol is not initialised.
    Initialising protocol...
    ERROR: Failed to initialise protocol!

    Works with my GS2 and all searches came to the conclusion that the GS3 was unsupported, yet you got it to work.. Any ideas?

  26. Holytotemic says:

    holytotemic@TotemSoupStudio:~/Downloads/GalaxyS3RootLinux$ sudo heimdall flash --recovery recovery.img
    Heimdall v1.3.1, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna
    http://www.glassechidna.com.au

    This software is provided free of charge. Copying and redistribution is
    encouraged.

    If you appreciate this software and you would like to support future
    development please consider donating:
    http://www.glassechidna.com.au/donate/

    Initialising connection...
    Detecting device...
    Failed to detect compatible download-mode device.

    This is what happens when I try to follow the provided instructions. I am running ubuntu 12.04 x64 and I have a brand new Verizon Samsung Galaxy S3. Only real reason I want to root it is so I can use Widgets properly in Apex Launcher, Jellybean is coming very soon tho…

  27. Ronnie says:

    I am stuck in Step 6.
    I cant mount the phone. I have tride USB debugging on and off. I have also tried MTP and PTP mode.
    I have tried to google a solution but there seemes that the problem known.

    Any solutuions? How did you manage to mount? I see that you are using Ubuntu but I am using mint XFCE. But I remembered having the same issue with ubuntu.

    Thanks

    Ronnie

    • ronnie says:

      I just want to reply my solution. I used Astro filemanager and sent the file through my Wifi. I didnt have USB-adapter today so…
      Cheers

    • Max says:

      use AirDroid app from Play Store for temporary fix.

      • Ronnie says:

        thanks max. But now in volup+home+power I get into Android system recovery. Not the CWM recovery. The options is only
        reboot now
        apply update
        wipe data/factory
        wipe cache
        appy update

        My phone was rooted before and got unroted when updating new update in Kies. But now I dont use windows anymore so I cant use odin.

        Maybe I have to make a factory reset and start over? Will my pictures be deleted?

        • Ronnie says:

          Problem solved. I installed stock jb with Odin so the old cwm really got deleted on a friends Windows And then rooted it again with linux. Works perfect. Thank u.

  28. Enkidu says:

    Hi Max,

    I tried to root my new S3 (1 week old, 4.0.4) with your manual and given files. All looks fine. But recovery reboot still ends up in the old original recovery.

    What’s wrong? Maybe you have a hint for me? heimdall seems to work fine. adb also.

    Tnx in advance,
    Enkidu


    $ sudo heimdall flash --recovery recovery.img
    Heimdall v1.3.2, Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
    ...
    Initialising connection...
    Detecting device...
    Claiming interface...
    Attempt failed. Detaching driver...
    Claiming interface again...
    Setting up interface...

    Checking if protocol is initialised...
    Protocol is not initialised.
    Initialising protocol...
    Handshaking with Loke...

    Beginning session...
    Session begun with device of type: 131072

    Downloading device's PIT file...
    PIT file download sucessful

    Uploading RECOVERY
    100%
    RECOVERY upload successful
    Ending session...
    Rebooting device...
    Re-attaching kernel driver...

    PIT:

    Heimdall v1.3.2, Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna
    ...
    Initialising connection...
    Detecting device...
    Claiming interface...
    Attempt failed. Detaching driver...
    Claiming interface again...
    Setting up interface...

    Checking if protocol is initialised...
    Protocol is not initialised.
    Initialising protocol...
    Handshaking with Loke...

    Beginning session...
    Session begun with device of type: 131072

    Downloading device's PIT file...
    PIT file download sucessful

    Entry Count: 16
    Unknown 1: 1598902083
    Unknown 2: 844251476
    Unknown 3: 30797
    Unknown 4: 0
    Unknown 5: 0
    Unknown 6: 0
    Unknown 7: 0
    Unknown 8: 0

    --- Entry #0 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 80
    Partition Flags: 2 (R/W)
    Unknown 1: 1
    Partition Block Size: 0
    Partition Block Count: 1734
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: BOOTLOADER
    Filename: sboot.bin

    --- Entry #1 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 81
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 1734
    Partition Block Count: 312
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: TZSW
    Filename: tz.img

    --- Entry #2 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 70
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 34
    Partition Block Count: 16
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: PIT
    Filename: mx.pit

    --- Entry #3 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 71
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 50
    Partition Block Count: 2048
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: MD5HDR
    Filename: md5.img

    --- Entry #4 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 1
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 8192
    Partition Block Count: 8192
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: BOTA0
    Filename: -

    --- Entry #5 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 2
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 16384
    Partition Block Count: 8192
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: BOTA1
    Filename: -

    --- Entry #6 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 3
    Partition Flags: 5 (R)
    Unknown 1: 5
    Partition Block Size: 24576
    Partition Block Count: 40960
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: EFS
    Filename: efs.img

    --- Entry #7 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 4
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 65536
    Partition Block Count: 16384
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: PARAM
    Filename: param.bin

    --- Entry #8 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 5
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 81920
    Partition Block Count: 16384
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: BOOT
    Filename: boot.img

    --- Entry #9 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 6
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 98304
    Partition Block Count: 16384
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: RECOVERY
    Filename: recovery.img

    --- Entry #10 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 7
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 114688
    Partition Block Count: 65536
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: RADIO
    Filename: modem.bin

    --- Entry #11 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 8
    Partition Flags: 5 (R)
    Unknown 1: 5
    Partition Block Size: 180224
    Partition Block Count: 2097152
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: CACHE
    Filename: cache.img

    --- Entry #12 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 9
    Partition Flags: 5 (R)
    Unknown 1: 5
    Partition Block Size: 2277376
    Partition Block Count: 3145728
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: SYSTEM
    Filename: system.img

    --- Entry #13 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 10
    Partition Flags: 5 (R)
    Unknown 1: 5
    Partition Block Size: 5423104
    Partition Block Count: 1146880
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: HIDDEN
    Filename: hidden.img

    --- Entry #14 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 11
    Partition Flags: 5 (R)
    Unknown 1: 1
    Partition Block Size: 6569984
    Partition Block Count: 16384
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: OTA
    Filename: -

    --- Entry #15 ---
    Unused: No
    Partition Type: 2 (EXT4)
    Partition Identifier: 12
    Partition Flags: 5 (R)
    Unknown 1: 5
    Partition Block Size: 6586368
    Partition Block Count: 0
    Unknown 2: 0
    Unknown 3: 0
    Partition Name: USERDATA
    Filename: userdata.img

    Ending session...
    Rebooting device...
    Re-attaching kernel driver...

    (I had to modify the output because your log system thought I am spamming…

    • Enkidu says:

      Found the problem! As long as it is not rooted an “triangle away” is not set, always on boot, recovery will be set to original.

      But you can prevent this by pressing Volume Up, Center Home, and Power button together just after heimdall reboots system. But release buttons immediately when boot logo is shown. Otherwise device will reboot.

  29. Frank says:

    I am trying to root my SG3. It is with T-Mobile and have gotten the JB update recently. When I try to flash I get this…

    Initialising connection…
    Detecting device…
    Claiming interface…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    ERROR: Failed to initialise protocol!

    It won’t go passed that. Since the JB update has the rooting method changed or should it still work?

  30. FSHero says:

    HI guys, I was using Kubuntu 12.04 (precise pangolin) amd64. I downloaded the Heimdall amd64 binary (version 1.3.1) from http://www.glassechidna.com.au/products/heimdall/ in place of the one supplied in the zip file on this page.

    I also used the “–no-reboot” switch, manually rebooted the phone (I think simply by using the power button) and followed all the instructions above. I can confirm it works! Thanks GalaxyS3Root.com, Heimdall team and CyanogenMod team!

  31. Al says:

    Hi,
    Intstalled cwr using heimdall. After reboot can only get into android recovery 3e

    Would it be easier to try again using Odin on a windows pc and disable rebooting??

    Cheers

  32. Al says:

    Forget last post,

    Flashed cwr with heimdall again, this time I had the phone upside down with the back off. As soon as cwr flash was complete flicked the battery out when before it could reboot the phone.

    Was able to install Super Su in recovery. All Good Now!!

    Cheers

  33. Albert says:

    I dont know what im doing wrong but this shows up

    Initialising connection…
    Detecting device…
    Claiming interface…
    Attempt failed. Detaching driver…
    Claiming interface again…
    Setting up interface…

    Checking if protocol is initialised…
    Protocol is not initialised.
    Initialising protocol…
    ERROR: Failed to initialise protocol!
    Re-attaching kernel driver…

    btw i have a T-mobile T999 4.1.1

  34. Brendan Rosenberg says:

    Hey Max,

    I have the been trying all of your different methods (primarily OSX, but also Windows and Ubuntu [through VMWare Fusion]) and I have recently run into a wall. Normally in OSX I get the “Failed to initialise protocol” error, Windows it Odin does not even recognize the device, and Ubuntu the “failed to detect compatiable Download-Mode” error keeps coming up even after rebooting.. Would i need to wipe data/factory reset in the 3e recovery? (i’d prefer not to, but I want a ROOT!) This is my third Android device and you have helped me through it all on the previous 2!
    Thanks

  35. Derek says:

    I would like to thank eveyone for the excellent advice given, adding –no-reboot at the end of flashing and pulling the battery before it rebooted worked for me. I was receiving the red (E: signature verification failed) and was unable to find advice on the forms. My Samsung Galaxy S3 is not rooted and will be playing with custom roms very soon. Thank you all.

  36. Chris says:

    Does this method still work with I9300XXEMC2? TIA

  37. Chris says:

    Cool! Thanks, Max!

  38. Nicholas says:

    This works great until i attempt to run heimdall, which my system (ubuntu 12.04) says it cannot initialize protocol 🙁

  39. cale says:

    I am using Linux Mint 11 , I have downloaded the root files and I already have Heimdall installed on my computer , I go to ” Terminal and type in the command cd Downloads/GalaxyS3RootLinux/ and I get this message : No such file or directory
    ………WTF? Please help!! Thank You!

  40. Mario says:

    Hi,
    I am trying to root my S3 GT-9300:

    When I tryied

    sudo heimdall flash –recovery recovery.img

    and the result was:

    Initialising connection…
    Detecting device…
    Claiming interface…
    Attempt failed. Detaching driver…
    Claiming interface again…
    Setting up interface…

    Initialising protocol…
    Protocol initialisation successful.

    Beginning session…

    Some devices may take up to 2 minutes to respond.
    Please be patient!

    Session begun.

    Downloading device’s PIT file…
    PIT file download successful.

    ERROR: Partition “recovery” does not exist in the specified PIT.
    Ending session…
    Rebooting device…

    Then I found a hint on YouTube that I should use:

    sudo heimdall flash –RECOVERY recovery.img

    and the result was:

    Initialising connection…
    Detecting device…
    Claiming interface…
    Attempt failed. Detaching driver…
    Claiming interface again…
    Setting up interface…

    Initialising protocol…
    Protocol initialisation successful.

    Beginning session…

    Some devices may take up to 2 minutes to respond.
    Please be patient!

    Session begun.

    Downloading device’s PIT file…
    PIT file download successful.

    Uploading RECOVERY
    0%[timestamp] [threadID] facility level [function call]
    ——————————————————————————–
    [ 0.000000] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 0.253060] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 0.753313] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 1.503494] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 2.503619] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 3.753786] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12

    ERROR: Failed to send file part packet!
    ERROR: RECOVERY upload failed!

    Ending session…
    [ 3.753907] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 4.004076] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 4.504272] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 5.254433] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 6.254637] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    [ 7.504834] [00003007] libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=12
    ERROR: Failed to send end session packet!
    Releasing device interface…
    Re-attaching kernel driver…

    Please help!

    • Max says:

      Do you have GT-i9300? This is only for Octa-core.

      • Mário says:

        Hi Max,

        Thank you for your reply! I do have a GT-i9300 international, I forgot the i on my previous message ;D

        I used a friend’s computer (windows) and already rooted my S3.

        Best regards!

  41. Paolo says:

    I was using the described method with ubuntu 13.04 – i9300 internationat, but unfortunatly when selecting th CWM-SuperSU-v0.87.zip I get a red

    E:signature verification failed

    two times, and the device isn’t rooted.

    How can I solve this?

    Thank you!

  42. FreeBobby says:

    For those who have troubles with the new CWM Recovery that should be installed after the manipulation with heimdall, here’s the solution (i’m a french guy, so I found the answer here : http://blog.vilaran.com/2012/10/25/devenir-root-sur-un-samsung-galaxy-s3-gt-i9300/ ).

    Personally, I picked another image of CWM. I picked the image in the previous link.

    Then I added to the comandline “–no-reboot”. THIS IS THE MOST IMPORTANT PART.
    Why ? Because my (and surely yours) SGS3 re-install the official CWM Recovery whenever the phone is rebooted.
    So I added “–no-reboot” and when heimdall finished the work, I put the battery off, to totally shut down the phone. Then I entered the ClockWorkMod Recovery (Up + Home + Power) and the new CWM worked perfectly. Then I followed the steps of this tutorial.

    Enjoy, and don’t be gross to the author of this tutorial, don’t be a noob and search on your own.

    Kisses.

  43. Anthony says:

    Thank you. Big problems with the Mac:
    1. Problem: Not picking up S3 in ODIN mode. Fix: Change the USB cable to the out of box Samsung cable. Apparently ODIN is sensitive to changes in data.
    2. Problem: Heimdall not flashing to phone. Fix: Virtual box with Ubuntu Linux (make sure you add the “Device”). Rooted out of the Virtual box Linux.
    3. Problem: Can’t find “install from SD Card”. Fix, add the “–no-reboot” command to end of the command line.

  44. dady says:

    Beginning session…

    Some devices may take up to 2 minutes to respond.
    Please be patient!

    Session begun.

    Downloading device’s PIT file…
    PIT file download successful.

    ERROR: Partition “recovery” does not exist in the specified PIT.
    Ending session…
    Releasing device interface…
    Re-attaching kernel driver…

    ?

    • dady says:

      I solved this problem: my partion name is Kernel2 not Recovery. But now i have new problem after i put UP+Center button+On button i see just frozen clock.
      ?

  45. Doug says:

    I have a US Cellular S3 running Jelly Bean 4.3 and I am running Ubuntu. I can’t seem to find a way to root my phone. I am going to look up how to use vmware, but I was wondering if I was missing something that may be easier. Thanks.

  46. Benjisan says:

    This just doesn’t work.
    You have to type : sudo heimdall flash –RECOVERY recovery.img instead of sudo heimdall flash –recovery recovery.img
    And Supersu doesn’t install because of lack of binaries and “E signature is not recognized”or something like that.. I tried superuser , and this did not work two for the same reasons.
    So what to do now?

  47. Benjisan says:

    “–RECOVERY recovery” instead of “–recovery recovery” works.
    But that doesn’t install SuperSu.
    How to do?

  1. September 7, 2012

    […] Then, flash via this site. […]

Leave a Reply

Your email address will not be published. Required fields are marked *