We are still actively working on the spam issue.

Difference between revisions of "Android ROMs"

From InstallGentoo Wiki
Jump to: navigation, search
(Popular Choices)
(Assorted changes and updates)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Warning|The majority of the Android Rooting/Ricing/Unlocking/Etc community is filled to the brim with idiotic, self-contradictory Engrish Pajeetism. Due to this, a majority of things you have to do outside of the common <code>`adb`</code> and <code>`fastboot`</code> commands (such as if you have accidentally bricked your device due to deleting the main system) are virus-ridden software tools that not only glow-in-the-dark, but are often malicious and in a Pseudo-English that you can not understand. They also are prone to failure 80% of the time. Yes, this <i>does</i> include the XDA Forums. If you absolutely are moronic enough to have a Smart Phone as a daily driver and wish to put an (allegedly) non-ZOG ROM on it to get rid of Android Botnet, you should proceed with caution. I'm telling you the truth here: your years of experience with Computer Systems, your PhD in CS and EE, and your own hobbyist experience ''have not'' prepared you for the clusterfuck that is the Android Embedded System.}}
 
 
 
==About Android==  
 
==About Android==  
Android is a mobile operating system based on the open source Linux kernel. Android is Open Source (a fully FOSS fork called [http://www.replicant.us/ Replicant] exists but is only on a small amount of 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.
+
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 [http://www.replicant.us/ 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===
Rooting is the process of gaining access to superuser 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, 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.
+
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 [https://github.com/topjohnwu/Magisk Magisk].
  
 
===Bootloaders===
 
===Bootloaders===
Some OEMs lock the [[bootloaders]] of your device. You might have to unlock it, see your device's [http://forum.xda-developers.com/ 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).
+
Some OEMs lock the proprietary [[bootloaders]] of your device. You might have to unlock it, see your device's [http://forum.xda-developers.com/ 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===
 
===Custom Recovery===
Line 16: Line 15:
 
==What is a ROM?==
 
==What is a ROM?==
  
ROMs are different versions of Android firmware.  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.
+
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.
Check the [http://forum.xda-developers.com/ XDA forums], find your device, look at the ROMs section and find yourself a recent and stable system.
 
  
 
==Popular Choices==
 
==Popular Choices==
Line 34: Line 32:
 
=== [https://grapheneos.org/ GrapheneOS] ===
 
=== [https://grapheneos.org/ GrapheneOS] ===
 
* Open source mobile operating system focused on privacy and security
 
* Open source mobile operating system focused on privacy and security
* Since Android 10, it is even more secure than the current Apple iOS iterations
+
* List of features - https://grapheneos.org/features
* Seamlessly downloads all security updates in the background (OTA delta-updating is acutally better than you might think)
+
* 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 [https://source.android.com/security/verifiedboot/dm-verity dm-verity] which disables verified boot
 
* File-based Encryption (most customs ROMs won't have encryption and even require you to kill [https://source.android.com/security/verifiedboot/dm-verity dm-verity] which disables verified boot
* Has a built-in chromium-fork (Vanadium, only for GrapheneOS), which is on par with Bromite security/privacy
+
* Has a built-in chromium-fork (Vanadium, only for GrapheneOS) which adds a lot of [https://github.com/GrapheneOS/Vanadium/tree/main/patches privacy/security related patches] on top of Chromium
* Aims to provide the highest privacy and security currently possible
+
* Provides many features on top of AOSP such as [https://grapheneos.org/features#storage-scopes Storage Scopes], [https://grapheneos.org/features#contact-scopes Contact Scopes] as well as [https://grapheneos.org/features#sandboxed-google-play Sandboxed Google Play] (ability to run Play Services/Store without granting them privileged access)
* GrapheneOS project is know for the [https://github.com/anthraxx/linux-hardened linux-hardened kernel] and even Google uses it for Android
+
* GrapheneOS project is known for the [https://github.com/anthraxx/linux-hardened linux-hardened kernel] and even Google uses it for Android
* No Root - since that's a security threath
+
* You can build the OS yourself to add changes you want - https://grapheneos.org/build
* Runs on small number of devices, currently supported devices are Google Pixel 2 (legacy), Pixel 2XL (legacy), Pixel 3, Pixel 3 XL, Pixel 3a and Pixel 3a XL.
+
* 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
 +
 
 +
=== [https://calyxos.org/ 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
 +
 
  
 
=== [https://www.resurrectionremix.com/ Resurrection Remix] ===
 
=== [https://www.resurrectionremix.com/ Resurrection Remix] ===
Line 47: Line 57:
 
* Very feature rich, containing most of the features from other ROMs.
 
* Very feature rich, containing most of the features from other ROMs.
  
=== [https://plus.google.com/+ParanoidAndroidCorner/posts Paranoid Android] ===
+
=== [https://aospa.co/ Paranoid Android] ===
 
* Again, lots of options for customization
 
* Again, lots of options for customization
* A large variety of features, many of which are not based off of stock Android (HALO, Pie Controls, Hybrid Properties, etc.)
+
* Not many features anymore, since the Oreo-based OA1 release
 
* Very light
 
* Very light
 
=== [https://www.aospextended.com/ ASOP Extended] ===
 
* Aims to provide stock experience with customization features
 
* Supports more devices than other popular ROMs such as LineageOS
 
 
=== [http://www.dirtyunicorns.com Dirty Unicorns] ===
 
* Stopped development as of 2019 (last version supported was Pie)
 
  
 
=== [http://omnirom.org OmniROM] ===
 
=== [http://omnirom.org OmniROM] ===
Line 66: Line 69:
 
* Basically converts your phone to a Google phone.
 
* Basically converts your phone to a Google phone.
 
* Copies the entire Google Pixel Experience (hence the name).
 
* Copies the entire Google Pixel Experience (hence the name).
 
=== [http://www.bootleggersrom.xyz/ Bootleggers ROM] ===
 
  
 
=== [http://en.miui.com/ MIUI] ===
 
=== [http://en.miui.com/ MIUI] ===
Line 74: Line 75:
 
* Forces all apps to front due to no app tray, which can be very problematic for some people.
 
* Forces all apps to front due to no app tray, which can be very problematic for some people.
 
* One of the fastest ROMs available.  
 
* One of the fastest ROMs available.  
 +
* No longer open source as of Android 7.0
 
* >Botnet
 
* >Botnet
  
 
=== [http://www.replicant.us Replicant] ===
 
=== [http://www.replicant.us Replicant] ===
* A project to replace all proprietary components of Android. Only works on a small number of devices.
+
* 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 ===
 
=== Other ROMs ===

Latest revision as of 20:52, 8 July 2024

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