Project

General

Profile

Support #438

Updated by Daniel Curtis over 9 years ago

The system I used for installing CyanogenMod is Arch Linux, and as such the process for following this guide may differ if running a different Operating System. But Linux is Linux, so it should work in any case. 

 h2. Important Notes 

 h3. *Note*: Unified device 

 Soon after the release of CM 11 M3, all Qualcomm-based variants of this device were merged into a single build: d2lte. The device information pages for the individual variants still exist so that you can reference any device-specific unlock instructions, download recoveries, or would like to build, for example, CM 10.2: d2att, d2cri, d2mtr, d2spr, d2tmo, d2usc, d2vzw. 

 h3. *WARNING*: Firmware update notice 

 CM10.1 and newer are not compatible with ICS bootloaders on this device. Update your device's firmware or you will get assert failures in recovery. 

 h3. *WARNING*: Verizon variant 

 The d2vzw variant cannot follow these installation instructions. For this variant, reference the device-specific installation instructions: Install CM for d2vzw. 

 h2. Installing a custom recovery on Galaxy S III LTE 

 Samsung devices come with a unique boot mode called Download Mode which is very similar to Fastboot Mode on some devices with unlocked bootloaders. Heimdall is a cross-platform, open source tool for interfacing with Download Mode on Samsung devices. The preferred method of installing a custom recovery is through this boot mode. Rooting the stock firmware is neither recommended nor necessary. 

 h3. 1 - Download and install the Heimdall Suite 

 * Linux: Pick the appropriate installation package based on your distribution. The -frontend packages are not required for this guide. After installation, heimdall should be available from the terminal; type heimdall version to verify installation succeeded. 
 * Building from source: The source code for the Heimdall Suite is available on Github. For more details about how to compile the Heimdall Suite, please refer to the README file on Github under the relevant operating system directory. You can also refer to the Install and compile Heimdall instructions on this wiki. 

 h3. 2 - Download recovery -- visit clockworkmod.com/rommanager to check for the latest version of ClockworkMod (if your device can be found there). Be careful to select the right image! I have included a copy of the Galaxy S III Sprint recovery images for posterity. 

 h3. 3 - Power off the Galaxy S III LTE and connect the USB adapter to the computer but not to the Galaxy S III LTE, yet. 

 h3. 4 - Boot the Galaxy S III LTE into download mode.  

 * Power off the device and hold *Home Home & Volume Down & Power*, then Power Accept the disclaimer on the device, and finally device. Then, insert the USB cable into the device. 

 * Build and install heimdall from the Arch User Repository: 
 <pre> 
 sudo pacman -S install android-udev 
 mkdir ~/src && cd ~/src 
 wget https://aur.archlinux.org/packages/he/heimdall/heimdall.tar.gz 
 tar xzf heimdall.tar.gz 
 cd heimdall 
 makepkg -s PKGBUILD 
 sudo pacman -U heimdall*.xz 
 </pre> 

 h3. 5 - Flash ClockworkMod Recovery 

 At this point, familiarize yourself with the Flashing heimdall notes below so that you are prepared for any strange behavior if it occurs. 

 * Open a terminal    in the directory where the recovery image is located and type: 
 <pre> 
 heimdall flash --RECOVERY recovery-clockwork-touch-6.0.4.5-d2spr.img recovery.img --no-reboot 
 </pre>  

 *Tip*: The file may not be named identically to what's in this command. If the file is wrapped in a zip or tar file, extract the file first, because heimdall isn't going to do it for you.  

 h3. 6 - A blue transfer bar will appear on the device showing the recovery being transferred. 

 h3. 7 - Unplug the USB cable from your device. 

 h3. 8 - You can now manually reboot the phone into recovery mode.  

 * Power off the device and hold *Vol Vol Up & Home & Power* Power Be sure to reboot into recovery immediately after having installed the custom recovery.  

 Otherwise the custom recovery will be overwritten and the device will reboot (appearing as though your custom recovery failed to install). 

 The Galaxy S III LTE now has recovery installed. Continue to the next section. 

 *Note*: Flashing with heimdall 
 * Protocol initialization can fail if the device is connected via a USB hub - connect the USB cable directly to the PC 
 * It may be necessary to run the heimdall flash command as root in Linux or Mac OS X: sudo heimdall flash [...]. Typical symptoms of this are: 
 #* a blue bar doesn't show up after the process has finished 
 #* Failed to confirm end of file transfer sequence! 
 * It may be necessary to capitalize the name of the partition on some devices. Try --KERNEL instead of --kernel and/or --recovery instead of --RECOVERY. 
 * If on Linux 64bit you get "unable to execute ./heimdall: No such file or directory", try the 32bit version and make sure to run it with sudo: reference. 

 h3. Helpful Tip 

 * The stock ROM may overwrite your custom recovery on boot. To prevent this, boot immediately into recovery after leaving Download Mode instead of letting the ROM boot up normally. If your recovery is overwritten, simply redo the steps you followed above and catch it before it boots next time. 
 * Note for upgrades from gingerbread to jellybean remember the recovery is changed. This means once you install do NOT restore to old-gingerbread-stock ROM from cwm-recovery. Trying to do this will completely mess up and lead to phone rebooting in boot screen. In such case download Heimdall firmware packages for stock GT-I9000 from XDA and completely reinstall device. 
 * For upgrade from stock/CM7/CM9/CM10.1.2/CM10.1.3 to CM10.2: Reboot into CWM-recovery. Backup. Wipe (data/factory reset), and wipe cache (important). Now install the new CM10.2. If you _not_ wipe cache, you will get new boot animation, spinning arrow forever. The partition layout of CM10.2 is different so it is must to wipe cache. See thread. More about repartitioning. If you missed it (like me), then go back to stock firmware as given in previous step and repeat the whole process. 
 * Some users have reported connection errors if the device is connected to a USB hub. If you experience such errors it is recommended that you try connecting your device to a USB port on the motherboard. 
 * Antivirus software may prevent Heimdall from connecting properly. Disable your antivirus before proceeding. 
 * When Heimdall fails to connect, the Download mode may get stuck, making all further attempts fail too. To retry, you may need to restart the Download mode: turn off the phone by holding Power for 5-10 seconds (or by pulling out the battery), then boot into Download mode and run Heimdall again. 
 * If Heimdall fails to connect (errors related to initializing the protocol, or transferring data): 
 #* if you just installed the driver, try rebooting your computer and trying again.  
 #* if you still have troubles after reboot, in Zadig try installing the libusbK driver rather than the WinUSB driver.  

 h2. Installing CyanogenMod from recovery 

 h3. 9 - Download the CyanogenMod package for your device that you'd like to install to your computer. I have included a copy of  

 Optional: Download 3rd party applications packages, like Google Apps which are necessary to download apps from Google Play.  

 h3. 10 - Boot to recovery mode, and connect the phone to your computer through USB. 

 * Power off the device, then hold the Vol Up & Home & Power buttons 

 h3. 11 - In ClockworkMod Recovery, use the physical volume buttons to move up and down.  

 On most devices, the power button is used to confirm a menu selection, but for some devices a physical home key acts as a selector. Some devices have touch enabled ClockworkMod Recovery, in which case you may be able to swipe to, or touch, menu selections. 

 Optional (Recommended): Select backup and restore to create a backup of your current ROM. 

 h3. 12 - Select wipe data/factory reset. 

 h2. Install the CyanogenMod ROM 

 You have two options for transferring and installing the installation packages. Both cases require adb to be working in recovery. The sideload method is more universal across devices, whereas the push and install method is more commonly used: 
 # Sideload method: select +Install zip > Install zip from sideload+. Follow the on-screen notices to install the package. The installer does not necessarily display an "Install complete." message. You can tell the install is complete if there were no fatal error messages and you have regained control over the menu. 
 # Push and install method: Open a terminal and navigate to the directory holding the package(s) you would like to install. On the device, navigate to the mounts and storage menu. If you see /storage/sdcard0 as a mountable volume, go ahead and mount it. If you do not see this directory, then instead mount the /data directory. Take note of which volume you mounted. Now, push the package(s) to your device: 
 #* If you mounted /storage/sdcard0, then:  
 <pre> 
 adb push update.zip /storage/sdcard0/ 
 </pre>  
 #* If you mounted /data, then:  
 <pre> 
 adb push update.zip /sdcard/0/ 
 </pre>  

 Where *update.zip* should be replaced with the package filename.  

 * Go back to the main menu and select install zip.  
 * Choose to install from the same directory where you pushed the package(s). If you are installing multiple packages, install CyanogenMod first and then install any subsequent packages on top of it.  
 * Once installation has finished, return to the main menu and select reboot system now. The device will now boot into CyanogenMod. 

 h2. Resources 

 http://wiki.cyanogenmod.org/w/D2lte_Info 
 http://wiki.cyanogenmod.org/w/Install_CM_for_d2lte 
 http://clockworkmod.com/rommanager 
 http://download.cyanogenmod.org/?device=d2lte&type=snapshot 

Back