Skip to main content
2 of 4
added 105 characters in body
Chahk
  • 19.5k
  • 3
  • 56
  • 80

"ICS" stands for Ice Cream Sandwich, or Android 4.0 release.

"Bootloader" is code that runs before the operating system even starts. See more details here:

In literal terms, bootloader is code that is executed before any Operating System starts to run. The concept of bootloaders is universal to virtually all Operating systems that inculcates operating systems on your PC, laptop, smartphones, and other such devices. Bootloaders basically package the instructions to boot operating system kernel and most of them also have their own debugging or modification environment. As the bootloader kicks off before any piece of software on your device, it makes it extremely processor specific and every motherboard has it’s own bootloader. This is one reason that all Android phones have different Custom ROMS developed due to high variance of processing hardware present on the device. ... Every Android phone has a bootloader that instructs the operating system kernel to boot normally. But you need to understand one thing here that as Android OS is an open source OS and is available on a variety of different hardware, every manufacturer has their own version of bootloader specific for the hardware present in it’s environment.

"Heimdall" and "Odin" are tools for flashing images to Samsung phones.

The issue is that Samsung made some modifications to the bootloader code for their release of Android 4.1 on Galaxy S3 models. This means that custom ROMs that were created on older 4.0 base will no longer be compatible with new bootloader. The new bootloaders, however, are backwards-compatible with older pre-4.1 based ROMs, so upgrading the bootloader will not prevent you from flashing CM9, for example.

The assert errors you are seeing are from trying to flash such incompatible ROMs. These validations were put in for your protection, and you should not remove them from the updater scripts. Instead, you should upgrade your phone's bootloader to the proper version, as specified in that blog post.

The instructions for updating the bootloader are here:

Download the correct update: I747UCDLK3 - Nov 3, 2012 - boot_CWM_I747UCDLK3.zip - 1.13 MB

  • if your bootloader is upgraded to I747UCUEMJB, do NOT downgrade it, as it can brick your phone.

Depending on which type of update package you downloaded, follow one of the following steps:

  • Flashing with Odin Download Odin: link Put your phone into download mode. Some ROMs have this option in the Power > Reboot menu, otherwise just hold "Volume Down" and "Home" while powering on your device. Launch Odin, then connect the USB cable to your device.
    Click the "PDA" button and select the package you downloaded in step
  1. Click "Start" in Odin and wait for the process to complete. Your device should reboot automatically when the flash is complete, and you're done.
  • Flashing in recovery If you've downloaded a flashable .ZIP from above, copy it to your SD card or internal storage. Reboot your phone into recovery mode (you can do this by holding "Volume Up" and "Home" while powering on your device; let go of the buttons when you see "Recovery booting..." in blue text in the top left of the screen) and install the .ZIP as an update. Reboot, and you're done. Note: After flashing in recovery, you need to reboot before you (and ROM installers) actually see the new version number.

After you flash the upgraded bootloader you should be able to install newer CM versions without any errors.

Chahk
  • 19.5k
  • 3
  • 56
  • 80