hello friends! new(ish)!
Android ROMs
About Android
Android is a mobile operating system designed by Google with surveillance and freedom restriction in mind. It is based on the open source Linux kernel. Android is Open Source (a fully free fork called Replicant exists but only supports a small amount of old devices), the majority of it is licensed under Apache or GPLv2. Android has components that can easily be swapped out that will change the user experience.
Rooting
Rooting is the process of gaining access to root privileges on your device. It will allow you to modify aspects of the Android system that wouldn't be possible with normal privileges. Rooting your device is a prerequisite of many customization options. Rooting your device may void its warranty. However, there are usually ways to unroot your device in the event you wish to do so, and remove all traces of it ever happening. Keep in mind, that security-wise, rooting your device can be very harmful if you don't know what you are doing, and since all apps will know that you have a rooted device and being able to alter system from userland destroys the purpose of the Android sandbox. Be careful what you install. A solution to this problem is called "systemless root". It prevents apps from detecting that you have access to root permissions, which can also be useful when trying to trick proprietary software that refuses to work on rooted devices into thinking that it's running on an unrooted one. The most popular type of systemless root (and as of today, Android rooting in general) is Magisk.
Bootloaders
Some OEMs lock the proprietary bootloaders of your device. You might have to unlock it, see your device's XDA Forum section for instructions. Some smartphone manufactures such as ASUS or HTC allow you to unlock it with a tool or registering your device with it's developer program. In some cases you can use a LB (locked bootloader) ROM, with limitations that come with it. There are also devices that have a custom dual or multi-bootloader written for them by the developers at XDA. Unlocking the bootloader will often void the warranty of your device, but some manufacturers such as ASUS allow you to keep so called "limited warranty", which means some things won't be fixed by the manufacturer (e.g you hard-brick your phone installing a custom-recovery or ROM).
Custom Recovery
Android devices ship with a "recovery mode" that allows you to flash vendor approved (signed) software and perform a factory reset. A custom recovery replaces that stock recovery mode with one that is much more powerful, allowing you to make backups of the device and flash unsigned custom ROMs. There are two main custom recovery software: TWRP and ClockWorkMod.
What is a ROM?
Despite being called "ROMs" (standing for "Read-Only Memory"), Android ROMs are not actually Read-Only and can be (over)written as many times as you wish (until your flash memory dies or you brick your device). ROMs are different versions of the Android operating system. Many companies make devices with their own ROMs (such as HTC Sense or Samsung TouchWiz) that control the user experience. Although not necessary, downloading and installing a different ROM to your phone may be able to give you more features and increased customization. To do this, you need to root your device to gain administrative access and install a custom recovery, which will install and manage ROMs.
Check the XDA forums, find your device, look at the ROMs section and find yourself a recent and stable system.
Popular Choices
Some popular ROMs and their respective benefits and features include:
CyanogenMod Lineage OS
- Relatively similar to stock or AOSP (Android Open Source Project) Android
- Very mature ROM, has a large community
- Clean and uncluttered (in comparison to TouchWiz, for example)
- Variety of features (ex. Pie Controls, Quick Settings, etc.)
- Easy installation process (simply follow the Installer App)
- If you're not going to install Google Play because of its proprietary nature, use freecygn or LineageOS for microG to remove the rest of the proprietary userspace, which includes Google Analytics in the settings app.
GrapheneOS
- Open source mobile operating system focused on privacy and security
- Since Android 10, it is thought to be more secure than the current Apple iOS iterations
- Seamlessly downloads all security updates in the background (OTA delta-updating is actually better than you might think)
- File-based Encryption (most customs ROMs won't have encryption and even require you to kill dm-verity which disables verified boot
- Has a built-in chromium-fork (Vanadium, only for GrapheneOS), which is on par with Bromite security/privacy
- Aims to provide the highest privacy and security currently possible
- GrapheneOS project is known for the linux-hardened kernel and even Google uses it for Android
- No Root - since user freedom and control is supposedly a security threat (you can still build the OS yourself to add changes you want - https://grapheneos.org/build)
- Runs on small number of devices due to the project's security requirements, currently supported devices are Google Pixels 4 through 7a, as well as the Google Pixel Tablet
CalyxOS
- Focused on privacy and security similar to GrapheneOS
- Preloads apps such as Signal and K-9 Mail
- Includes Seedvault for encrypted device backups
- Supports more devices than GrapheneOS, but still small. Supported devices are all Pixels 3 through 7, Fairphone 4 and SHIFT6mq
- Backed by the Calyx Institute
Resurrection Remix
- Based on AOSP
- Very feature rich, containing most of the features from other ROMs.
Paranoid Android
- Again, lots of options for customization
- Not many features anymore, since the Oreo-based OA1 release
- Very light
AOSP Extended
- Aims to provide stock experience with customization features
- Supports more devices than other popular ROMs such as LineageOS
Dirty Unicorns
- Stopped development as of 2021 (last version supported was 11)
OmniROM
- Developed by former CyanogenMod community members after it went corporate
- Multi-window support
Pixel Experience
- Basically converts your phone to a Google phone.
- Copies the entire Google Pixel Experience (hence the name).
Bootleggers ROM
MIUI
- Created by Chinese company Xiaomi intended to replicate the iOS experience.
- Contains lots of features such as a wide plethora of MIUI-exclusive themes and an easy-to-edit bootscreen.
- Forces all apps to front due to no app tray, which can be very problematic for some people.
- One of the fastest ROMs available.
- No longer open source as of Android 7.0
- >Botnet
Replicant
- A project to replace all proprietary components of Android, the only known ROM that is fully free. Only works on a small number of (old) devices, relies on proprietary software stored elsewhere on the device, lacks full functionality such as hardware acceleration.
Other ROMs
There are a plethora of custom ROMs available. For most devices, your best bet is to search the XDA-developers forum for your specific device's subforum, and see what is available and compatible with it.
Installing A ROM
Typically, there are a number of set steps to installing a ROM on your Android phone. Unfortunately, these steps are simply guidelines and can vary depending on what ROM you wish to install. You can typically find specific instructions by searching the for the ROM followed by your device name. Nevertheless, these steps include:
- Rooting your phone. Rooting is the easiest step in installing a ROM. There should be many guides describing the process for your exact phone model and Android version, which can be found be searching the web.
- Installing a ROM managing app. This is also quite easy; simply go to the Play Store and download a ROM managing app that appeals the most to you. For the purpose of these steps, I will assume you downloaded the "ROM Manager" App. You can also use an app like Flashify or FlashFire and download the custom recoveries and/or ROMS from XDA. You can also use the fastboot command, by installing the Android SDK Tools, although we won't get too into that right now.
- Open the app and back up. Perform a manual backup of your device by selecting that option on your ROM Manager App.
- Flash a Recovery Image to your phone. Within your ROM Manager App, select the Flash Recovery Image option (typically, you should be flashing ClockworkMod Recovery or TWRP).
- Download and copy your ROM. Find the ROM you want and then download it (if you would like any of the ROMs listed above, simply click on a title to be redirected to the ROM's website). Ensure that the ROM is in a .ZIP file (do not extract!) and copy it to your phone.
- Flash the ROM. Within your ROM Manager App, select an option that resembles "Install ROM from SD Card" and select the .ZIP file you downloaded earlier. Be sure to select options to wipe data and cache when prompted. Installation should take approximately 5-10 minutes, whereas the first boot should take 10 minutes or more.
- Optional: Restore from your backup. If you are unsatisfied with your ROM, that's OK. Re-install your ROM Manager App and select an option similar to "Manage and Restore Backups" and select your backup. This should restore your phone to its original state before flashing.