3hours
Android
Hard
Android, CyanogenMod
Step-by-step tutorial to replace the stock Verizon version of Android (4.4.1) on the Samsung Galaxy Note 2 with a fresh install of CyanogenMod.
Overview
It's been almost four years since I've written to this blog and many things have changed.
First, the blog should no longer be called "Programming Blackberry" because I gave that up a long time ago for Android and iOS. I think I made the right choice to switch platforms at the right time. Second, I'm going to move this blog to a self-hosted site and until the complications are ironed out I figured I'd document something I struggled with over the last couple days.
Getting my Note 2 flashed with CyanogenMod 11.
It wasn't a straightforward install since I had a different version of stock Samsung Android than required and I ran into an issue that took some tricks to get it working.
I will give credit where it's due. Without a host of websites out there I would not have been able to accomplish this. There are also a number of developers out there, such as Adam Outler,, who have written exploits and tools without which we wouldn't have the ability to break free from the Samsung's, HTC's, and LG's of the world and get the latest Android on devices.
My Note 2 was always stock Samsung/Verizon version of Android and was never flashed with any other ROM nor did I accept any OTA upgrades from 4.1.1. Follow this guide step-by-step only if you're currently in the same boat as me. If you have upgraded there's still hope. You can check some of the linked sites below to see if your version will work with the Odin3 tool.
I needed to use both Windows and Mac machines to get this job done. I used the Windows version of Odin upload files to the device. JOdin3 apparently will work on Mac but I did not see it existed until after the job was done.
Lastly, I don't claim to be an expert in custom ROMs and as a result there may be many other superior ways to get CM on your Note 2. All I can say is that this is the method that worked for me and as a result it may help you as well.
Please do refer to these sites if you run into problems with what's written up here. These other sites have extensive troubleshooting guides as well as hundreds of pages of user comments that you can browse.
Revert Android to the VRALJB Version
The exploits linked here will only work on certain releases of Android. Someone wrote the Samsung Odin tool that will allow replacement of whatever version is currently installed with one that's suitable for rooting and customizing (EXCEPT 4.3 OTA)
It all depends on which OTA update you've taken for Step 3 below, in my case I hadn't upgraded in awhile and didn't accept the VRALL4 or VRAMC3 OTA updates so I downloaded the stock version indicated. I didn't document which version I had but I believe it was I605VRBLJ1. Check section 1b on this site before downloading for Step 3. Using this strategy, I did the following:
- Step 1: Download and install Odin for Windows here
- Step 2: Download SCH-I605_16gb Pit file here
- Step 3: Download VRALJB stock version of Android here
- Step 4: Set device into Odin mode by pressing down volume, home button, and power button at same time. You'll get a warning screen, press volume up and the device will be set in Odin mode, ready to accept the stock VRALJB version.
- Step 5: Assuming there are no USB driver issues connecting your device to the Windows machine, connect the Note 2 to the Windows machine and open Odin3. Make sure that in the ID:COM section there is a COM port listed indicating Odin can see the Note 2. See pics below:
- Step 6:Select the Pit button and point to the pit download from Step 2, then the PDA button and point to the VRALJB version downloaded previously.
- Step 7: Hit start in Odin3 and after a few minutes the VRALJB version will be flashed. Progress can be seen on the blue bar at the bottom of the "Downloading" screen on the Note2.
When you reboot the device, go to Settings>About Phone and confirm the Baseband Version is now I605VRALJB and you're on Android 4.1.1
Rooting and Bootloading: ClockworkMod vs TeamWinRecovery
This setup is where I ran into a bit of trouble as I was following this guide and installed this custom version of TWRP instead of CWM. With TWRP downloaded from the guide I was unable to load any current version of CyanogenMod 11.
I was getting the Status 7 error on installation of the image which I traced back to the updater-script of CyanogenMod in the META-INF/com/google/android directory of the tar where it tries to get the properties of the device and run an assert on the model. I'm not sure why my device doesn't pass the assert but deleting that line resulted in other errors so I gave up and was forced to replace TWRP with CWM to get Cyanogen installed.
I suggest installing the latest touch version of CWM for the Note2 on Verizon, found here . I'll document installing the wrong one and how I fixed it in the steps below. Additionally, make sure you've enabled Developer Options on the device and have already installed Odin3 from the previous section.
Note: Careful on the download links, there's some seediness going on around on a few of these pages but the downloads are ok.
- Step 1: Download the following files:
- VRALJB Pit File: Used to prep for unlock.
- Baseline Bootloader: Stock bootloader and kernel
- CASUAL Injection 9 : CASUAL leverages adb to automate the specific Verizon exploit
- Bootloader 2:Validates and executes the kernel, runs every time at startup
- Step 2: Install Baseline Bootloader
- Place device into Odin mode by hitting volume down, home key, and power button. When warning screen comes up, hit volume up. Connect device to Windows laptop and launch Odin.
- Select the Pit button and point to the VRALJB pit file downloaded above
- Select the bootloader button and point to the Baseline bootloader downloaded above (BootloaderBaseline2.tar.md5.gz)
- Select start, wait until complete and reboot device
- Step 3: Run the CASUAL Exploit
- Reconnect device to windows laptop and and double-click the CASUAL jar file downloaded above
- Select the Pit button and point to the VRALJB pit file downloaded above
- Wait until device is recognized by CASUAL - You'll know when the "Root and Unlock Me Now" button is enabled.(make sure your USB debugging is enabled on the device)
- Select the "Root and Unlock Me Now" button and wait a little while, press Volume Up when prompted on the device and reboot.
- Step 4:Install Bootloader
- Put phone back into Odin mode.
- Select the Bootloader button and point to the SuckItVerizon_Odin_Package2.tar.md5.gz file downloaded above. Again, this is the step where you could instead install CWM as described above.
- Select start and wait until complete. Disconnect and reboot
Installing the non-working TWRP bootloader is alright since you can actually easily replace it with CWM using Heimdall tools which I'll document in the next step.
You can confirm you've got root access to the Note 2 at this point by attaching to adb, running 'adb shell' and trying to 'su root'. The Heimdall tool is a command line program that will allow us to flash firmware onto Samsung specific devices.
Replacing TWRP Bootloader with CWM
We must replace the TWRP bootloader with the CWM bootloader and we'll use the Heimdall tools to do it. I did this on a Mac but the tools should work on Windows or Linux just as well. In my case I had an issue with blocking on the USB port so I couldn't run Heimdall. I determined that the errors encountered are specific to Mac with Samsung drivers installed and they should be unloaded to run the toolset.
- Step 1: You can find the toolset here. Download and install the tools, open a terminal window and test 'heimdall' at the command line. If you get a usage script you're good to go.
- Step 2: Download the ClockworkMod here
- Step 3: Connect your Note 2 to the computer and run the following command 'heimdall flash --RECOVERY /recovery-clockwork-touch- --no-reboot' where the path and version is specific to what you downloaded and where you placed it. In my case the command was specifically 'heimdall flash --RECOVERY ~/Desktop/recovery-clockwork-touch-6.0.4.3-i605-2.img --no-reboot'
- Step 4: If you get no errors you'll see 'RECOVERY upload successful' however in my case I needed to unload the Samsung driver that was taking over the USB port. I received the error 'libusbx: error [darwin_claim_interface] USBInterfaceOpen: another process has device opened for exclusive access'.
- Run the following set of commands from Terminal:
- 'sudo kextunload -b com.devguru.driver.SamsungComposite;'
- 'sudo kextunload -b com.devguru.driver.SamsungACMData;'
- 'sudo kextunload -b com.devguru.driver.SamsungACMControl'
- Step 4:Now try the same heimdall command again 'heimdall flash --RECOVERY /recovery-clockwork-touch- --no-reboot' and you should get a successful result.
You now have CWM Recovery installed and you are ready to get up and running on CyanogenMod.
Install CyanogenMod 10/11
CyanogenMod for the Note 2 on Verizon can be found here. I attempted to go straight to the latest nightly version of CM11 and found that it too couldn't be installed even with CWM. Not wanting to give up since I'd invested so much time thus far, I tried to see if I could go with CM10 then upgrade it with the CM update system and.....SUCCESS!!! So here's what you do:
- Step 1: Download Stable version of CM10 here
- Step 2: Download the Jellybean version of Gapps found here and the KitKat version of Gapps found here The reason we need both versions is that the CyanogenMod stock launcher for CM 11, Trebuchet, crashed repeatedly for me so we are going to use the Play app to download a set of different launchers before installing CM 11. However, it became clear to me in researching that the KK version of Gapps won't work with JB and vice-versa. You could try to use it without replacing in a later step but do at your own risk (of time wasted...or not wasted)
- Step 3: Burn all the files to a Micro SD card and place in the Note 2
- Step 4: Boot into CWM by holding the up volume key, home key and power key.
- Step 5: Clear the cache partition and do a wipe data/factory reset using the touch interface of CWM
- Step 6: Install CM 10.1.3 by selecting 'install zip' then 'install zip from /external_sd'. Select the cm-10.1.3-605.zip file and accept the install. Repeat the same process and install the Jellybean version of GApps which should be named 'gapps-jb-20130812-signed.zip'. Refer to images below:
- Step 7: Reboot the device and you should successfully get into CyanogenMod 10!!!!
- Step 8: Sign into your Google account during setup then open Play and download and install a set of launchers of your choice (good and popular ones are Google's Now Launcher, NOVA Launcher, Apex, and Buzz
- Step 9: Relish the success but we're not done yet because we want CM 11. In the settings menu of Cyanogen Mod 10 browse to 'About this Phone->CyanogenMod Updates'-> Select 'Update Types->All Versions Stable Only'. Select the cm-11-20140609-SNAPSHOT release and download/install.
- Step 10: After CM 11 installs the phone will reboot, stop it before it starts up by pulling the battery. We will then enter the CWM bootloader one last time by pressing volume up, home, power. Install zip as before from external SD card and browse to the KitKat version of Gapps: gapps-kk-20140105-signed.zip. Install it. Reboot
- Step 11: Now you can truly relish the victory of getting CM 11 installed on the Note 2!!!
Wrapup
If you run into issues during these steps please refer to the linked sites which helped me to get through this process. So far I'm enjoying CM11 but I'll have to dig deeper into it to truly discover the benefits and customizations. I can say that I've noticed the Note 2 is much more responsive and snappy than before which is a nice bonus.