We are still actively working on the spam issue.

Android ROMs

From InstallGentoo Wiki
Revision as of 20:52, 8 July 2024 by Davyjonez521 (talk | contribs) (Assorted changes and updates)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

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
  • List of features - https://grapheneos.org/features
  • Web and CLI install options - https://grapheneos.org/install/
  • 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 adds a lot of privacy/security related patches on top of Chromium
  • Provides many features on top of AOSP such as Storage Scopes, Contact Scopes as well as Sandboxed Google Play (ability to run Play Services/Store without granting them privileged access)
  • GrapheneOS project is known for the linux-hardened kernel and even Google uses it for Android
  • You can 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 8a, as well as the Google Pixel Tablet and Pixel Fold (https://grapheneos.org/faq#supported-devices)
  • Backed by non-profit GrapheneOS Foundation

CalyxOS

  • Open source mobile operating system focused on privacy and security
  • Install using their "device-fasher" program - https://calyxos.org/install/
  • Preloads apps such as Signal and K-9 Mail
  • Includes Seedvault for encrypted device backups (however, don't rely on it, as it is notoriously buggy)
  • Supported devices are all Pixels 3 through 8a, Pixel Tablet, Pixel Fold, 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

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).

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

Warning: Do not try and install a ROM by using the steps here. Follow the steps from the place you downloaded it from (aka the XDA thread). Each ROM and each phone are different so make sure you are following the correct instructions for the right ROM and the right phone. Don't skip steps and if something is off, try to work out why before you continue further.

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.

See also