I know I was a bit confused when initially rooting and installing custom ROMs on my Android device and while I don’t consider myself an expert there are a few terms that could use a quick definition to know your way around custom ROM installations.
Device Modes/States
When you start your device you can boot into 1 of 3 modes
- Bootloader: a mode that can boot into Recovery or start the regular boot process (into Android) and also shows some details of your device. ROMs can be flashed in the bootloader but it is not the typical case
- Recovery: a mode to flash ROMs (stock / custom)
- Regular system boot: boots into the operating system while would typically be Android
Communication Tools
These tools can be used to communicate and even transfer files with your device
Unlocking the Bootloader
Boot loaders can be locked which prevents custom ROMS from being flashed. Unlocking the bootloader can be done with the following commands (this was done on a Nexus 7 2013, other devices may need other commands)
- Reboot into the bootloader
adb reboot bootloader
- Unlock the bootloader
fastboot oem unlock
Once the bootloader is unlocked you can install a custom ROM. While I believe it is possible to install custom ROMs without a custom recovery program, the typical way to install a ROM is with one. I’ve used ClockWorkMod Recovery and Team Win Recovery Project (TWRP) but there are others other there. Just make sure you install the right one for your device.
Flashing a Custom ROM
- Install a custom recovery
- Install it on your device
- Download your custom ROM
- Reboot your device into recovery
adb reboot recovery
- Follow the on screen instructions to install the ROM
- Typically you have to wipe your device (dalvik cache, system and personal data)
- Install the custom ROM from a zip file
- Reboot into your new ROM
Custom ROMS
- Custom builds/implementation of Android with some famous ones such as CyanogenMod and ParanoidAndroid (currently I’m using OmniROM)
- Stock ROMs are the original ROM that came with the device
- Custom ROMs typically will not have the Google services and usually need to be manually installed. Typically packaged / called gapps
- Some problem with custom ROMs is usually hardware support: some things may not work as well as they do on stock ROMs. Thus custom ROMs that are based on stock ROMs will probably have better hardware support compared to generic custom ROMs
Rooting
- Rooting gives you more control on your device and lets you run apps that have special abilities. Some features that I use are
- A complete Linux installation on your Android device: Complete Linux Installer / LinuxOnAndoird.org
- Screen recordings on the device with mic audio: SCR Screen Recorder
- Rooting can be done on a device with a stock ROM or can be automatically bundled with a custom ROM
- Applications that use root privileges have to request for these functions to be run and these can be managed using superuser apps such as Superuser from ChainsDD / Superuser from ClockworkMod / SuperSU from Chainfire
Other Terms
- “Unlocked”: this can mean several things
- Unlocked from a carrier: it can us SIM cards from any carrier
- Unlocked bootloader: it can load custom ROMs
Things I’m still unsure of
- If the bootloader needs to be unlocked in order to flash a custom recovery
- “Secure boot”: shown on the boot loader but doesn’t affect flashing a custom ROM
Links