The nuances of installing third-party firmware on Android smartphones. First steps. Installing third-party Recovery


The advantage of Android is that it is an open source operating system, which makes it possible to develop custom OS builds, or firmware, based on its source code. They keep the OS running and add new features. The main reason for their appearance is the refusal of companies to update their devices 2-3 years after their launch. Third-party firmware speeds up the operation of outdated smartphones and tablets, expands functionality, and protects against malware.

Good firmware can be immediately recognized by its active community and user support, unlike many official OSes. Smartphones become obsolete very quickly, manufacturers stop supporting them, and you have to buy a new generation smartphone. Another reason is that the functions of a standard operating system can be limited. Read the article to the end and find out about the best firmware for Android.

LineageOS

LineageOS firmware began life as CyanogenMod. Back in the fall of 2016, Cyanogen Inc. announced that it was ceasing development and closing this area. But the developer community kept the project alive by changing the name to Lineages.

Lineage has a compact launcher, a full-featured camera application, several pre-installed applications (that do not take up much memory space), and different volume profiles. And most importantly, Lineage makes old smartphones fast again.

Built on top of Google's AOSP code and adding its own custom code to it, LineageOS runs as a standalone OS and officially supports over 160 smartphone models from Samsung, HTC, Motorola, LG, Xiaomi, OnePlus and more. This project has the largest development team.

The OS includes features that go beyond customizing the notification bar, changing the overall theme, editing the navigation bar, etc. Google's AOSP is the skeleton, LineageOS helps it grow its muscles.

Changing system settings (build.prop)

The system image contains an interesting file called build.prop, which contains a lot of useful information about the device’s hardware and default settings for various stock applications. To be fair, I note that this is not always the case. For example, in Gigaset ME and ME Pro build.prop is divided into two parts. One part contains settings for Gigaset ME, and for ME Pro some lines are duplicated, but the keys (smartphone name, etc.) are different. This was done to ensure more or less correct operation of the same firmware on different devices.


Additional file for Gigaset ME and ME Pro

Build.prop contains (or can contain) a huge number of settings. Some of them do not change anything, some improve one thing at the expense of another, but there are those that are really useful:

  • ro.product.model and ro.product.manufacturer - smartphone model and manufacturer name. By replacing these lines, you can make the Play Store think that you have a different smartphone, which will open access to more software. For any little-known Chinese smartphones, these lines can be life-saving;
  • hw.qemu.mainkeys - accepts only two values: 0 - show on-screen navigation keys, 1 - do not show buttons. The absence of a line corresponds to 0;
  • debug.sf.nobootanimation - value 1 disables the boot animation, which slightly increases its speed. Setting it to 0 or deleting the line returns the animation to its place;
  • ro.telephony.default_network - tells the system what mode the mobile network should be switched to upon boot;
  • ro.sf.lcd_density - display DPI, the most accurate value for the display can be calculated through a convenient website. But no one forbids you to set a higher or lower value to your liking: higher values ​​make the interface elements larger, lower values ​​make the interface elements smaller;
  • ro.config.vc_call_vol_steps — number of volume steps during a call (default 8);
  • ro.config.media_vol_steps - number of media volume steps (default 15).

Paranoid Android

Paranoid Android is one of the recognized firmware. The development team brings everything to perfection with minimal use of the smartphone's computing resources. There are few options and settings compared to other firmware, but there is a unique hover mode: viewing and interacting with notifications from any screen (later integrated into AOSP as part of Heads-up notifications). The developers' unconventional approach to improvement has already allowed Google to transfer several of its options to its devices.

In the summer of 2016, the release of updates for Paranoid ceased. Since June 2022, they began to appear again, and the developers promised to release them more often. After a break, this firmware is better than ever, officially supporting Nougat and Oreo 8.0 on Nexus, Pixel, OnePlus, Sony, Oppo and more devices. Compared to LineageOS, Paranoid offers easier OS upgrades.

Unpack system.new.dat

The files system.new.dat and system.transfer.list are of greatest interest to us. More precisely, not they, but the system contained in them. But getting to it is not so easy.

Script

The laziest can disassemble the firmware using the System_Extractor-Linux script.

  1. Unpack the archive with the firmware into any folder.
  2. Download the script from the link and unzip it into any folder.
  3. We launch the ext file (if it complains about the lack of Java, just skip by pressing y; Java is only needed for packaging).
  4. Now select unpacking by pressing button 1 and then Enter.
  5. A new folder named extract_* will appear next to the ext file and the tools folder. Copy the files system.new.dat and system.transfer.list into it.
  6. After copying the files, press Enter and wait. After a while, you will need to press Enter again, enter the administrator password and press Enter again.
  7. Ready. The contents of system in the extract_*/output folder.


Script for unpacking system.new.dat in Linux

Manual method

Unpack the archive with the firmware into any folder (for example, rom):

$ mkdir ~/rom $ unzip path_to_archive -d ~/rom/

Download the tools we need into this folder:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Let's run the script:

$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

It converts the system.new.dat file into a raw image called system.img. Mount the image to the mnt subfolder:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt


System image contents

MIUI

This is the most global project from mobile device developer Xiaomi. MIUI is one of the biggest success stories of the last decade. Despite the fact that the stated basis is Google's Android OS, in fact it is a standalone firmware that uses only its shell.

MIUI can even be installed on iPhone. All applications are visible on the main screen, the interface is very bright. The operating time of MIUI without recharging is the highest to date. Although MIUI is officially used only on a few devices (Xiaomi, Huawei, Meizu, Oppo, Moto), it has been unofficially applied on many other smartphones from well-known manufacturers.

Preamble

Someone will note that all the necessary and unnecessary information on the flashing process is on the well-known forum. I, in turn, will answer that, firstly, not all problems and their solutions are described there, and secondly, not everyone will be able to immediately find the information they need among such an abundance of information. I come from my own experience.

Important: I am not responsible for your actions after reading this article, be sure to back up your data to external storage (SD cards or computer). But don’t be alarmed - if you managed to unlock the bootloader and install recovery, you always have the opportunity to restore the device even from “System Destroyed”, and in most cases, implement “turn it back” - install an official system with bootloader lock (like, for example, Xiaomi ).

FlymeOS

Those who are not interested in technological innovations from China are most likely unaware of the existence of FlymeOS. In fact, this is the official OS, installed on a number of Meizu smartphones. Originally developed for Meizu, the project has been adapted for other OEM devices.

FlymeOS acts as a direct competitor to MIUI, but the interface is almost identical. The built-in set of tools is unique: compass, ruler, settings switches directly from the main menu and others. This operating system has its own Security Center that provides support for FlymeOS.

Finally, this build comes with an mBack key. If you're tired of the look of Android and MIUI looks too basic for you, you might like FlymeOS. It officially supports Marshmallow, but just a couple of weeks ago a build with Nougat appeared. The development of the project is gradual, but it is there, so you can be confident in its future.

What is firmware

The word “firmware” hides two interrelated concepts:

  • Operating system installation process.
  • Software (distribution) for unpacking and installing the OS on a mobile device. Essentially, this is a binary file that is written to non-volatile memory using special software.

The OS is a set of program files, algorithms and codes that makes hardware, often called hardware, function. And firmware is both a set of these tools and the process of completely rewriting them.

The work requires special software, sometimes a computer. After flashing, all user data is erased. The procedure is not safe (you can get the opposite result to what you want), although it is not complicated.

XOSP

The Sony Xperia line was a completely different version of Android that users loved. The quality of video and sound was really excellent. The Xperia Open Source Project (OSP) has a number of useful settings and features that allow you to achieve the same high-quality audio and video. Use Sony's Walkman apps and enjoy your music. Although you can get the same result by combining a Walkman with Viper4Android.

XOSP has stable versions for Marshmallow 6.x, Nougat 7.x, but not yet for Oreo 8.0. It will appear only after Sony officially announces its intention to release it.

Resurrection Remix

The philosophy of the developers of Resurrection Remix is ​​to offer the maximum number of functions available to the user. The operating system is based on AOSP, some SlimRoms and Paranoid Android features.

Most developers fill the software with standard functions and a couple of new ones, while the creators of RR add almost everything that can be offered to their firmware. This, of course, has its price: the system becomes quite heavy and more demanding of system resources, and bugs arise periodically. In our test conducted in January 2022, not a single application could be installed from the Play Store (error 963).

RR works on all major devices from Samsung, HTC, LG, Moto, Lenovo, Huawei, OnePlus and more. And in the near future there will be a software version that will support Android Oreo 8.0.

Changing the sound design

In fact, all the sounds that the system plays are stored in the /system/media/audio folder. Inside it you will find the following folders:

  • alarms — alarm ringtones;
  • notifications - notification sounds;
  • ringtones - ringtones;
  • ui - system sounds, for example, low battery, camera focusing, selection of interface elements.

In alarms, notifications, ringtones you can add as many melodies as you like. You can take them, for example, here:

  • standard ringtones from different Nokia phones and smartphones;
  • famous standard ringtones;
  • just a lot of ringtones;
  • ringtones from different phones.

And a little life hack: deleting files from the ui folder will not lead to crashes and errors, but to the disappearance of system sounds. Therefore, you can easily turn off the sound of taking a picture from the camera, taking a screenshot, simply by erasing the files containing these sounds (their names are intuitive).

Dirty Unicorns

Dirty Unicorns is a remix version of Resurrection with lots of customization features. The increased stability of the firmware is that Dirty Unicorns, like RR, combines various codes into one main project. But the Dirty Unicorns team is actually rewriting all the code from scratch to ensure system stability. For this reason, updates are delayed. They usually appear every two weeks.

The developers use their own DU-SmartBar and FlingBar. The former adds buttons to the navigation bar, the latter replaces the navigation bar with the ability to customize it according to personal preferences.

Dirty Unicorns recently removed features from the OS that are rarely used in real life. As a result, the latest versions have become more stable: the system weight and system requirements have decreased.

Dirty Unicorns currently supports Android Nougat 7.1.2, with Oreo 8.0 expected to arrive in a couple of weeks. The build will work on all major devices: Samsung, Xiaomi, LG, OnePlus, Nexus, Pixel and so on.

Unlocking the bootloader

What is the bootloader and why unlock it? A bootloader or Bootloader in simple words is a relatively small piece of software code that runs the installed system. In itself, it is an indispensable part of the device, but its functions also include the implementation of Verified Boot technology. This technology is designed to limit OS installations to those authorized by the manufacturer (by checking the file signature). On the one hand, this will protect your data from an attacker (he will not be able to install another firmware without formatting your device), on the other hand, many popular firmware provide reliable encryption of the Data partition. Our goal is to disable the Verified Boot mechanism so that we can install a third-party system.

I’ll say right away that there is no universal instruction for all phones and there cannot be. Moreover, some devices do not have a way to unlock the bootloader at all, and some are not initially blocked by the manufacturer. You can check whether the bootloader is locked using adb in fastboot mode - fastboot oem device-info (I’ll explain what this is and how to use this tool in the installation section). If true - blocked, otherwise - not. All further actions will be considered using the example of a Xiaomi Redmi 8T device based on a Qualcomm processor.

So, if, based on the results of the check, you find that the bootloader is locked, then only the TechnoTrinity will help you find a way to unlock it - the Father (manufacturer's website), the Son (4pda) and the Holy Spirit (Google). In the case of Xiaomi, everything is quite simple - on the manufacturer’s website there is a proprietary utility for unlocking the bootloader, its use is intuitive. After the unlocking process is successfully completed, you need to format the Data partition, since it is encrypted by the current system and the new one simply will not decrypt it (in Xiaomi, this is done by switches in the bootloader unlock window) and you can begin the process of installing third-party Recovery.

AOSP Extended

As the name suggests, the AOSP Extended firmware is built directly from the AOSP source code and adds features that are present in other projects. The firmware is stable and does not slow down, just like the official version of Android OS, which lacks some features, such as the ability to change the notification bar, lock screen, etc. The navigation bar is the same as that of Dirty Unicorns. There are other useful features that work well with Google Android.

The AOSP Extended development team is very active, providing major updates every month, usually early in the month. The assembly has a high level of reliability. It rarely lags, and all detected bugs are quickly fixed. Updates with improved protection are released regularly. As soon as Google releases patches, they almost immediately become available to AOSP Extended owners.

The software supports many models, including LG, Xiaomi, Lenovo, HTC, Samsung and OnePlus.

Outside the test

  • NexSense 6.0 is an attempt to port HTC Sense 6.0 (Android 4.4.2) to the Nexus 5. At first, only the firmware itself was launched, but over time, enthusiasts were able to get Wi-Fi, Bluetooth, GPS, and various sensors to work. But for a very long time this could not be achieved from the camera and sound. Over time, the developers came to the conclusion that it was necessary to rewrite some libraries almost from scratch. Local craftsmen seemed to have tried to do this, but to no avail.
  • ASUS ZENUI CM 13 (Nightly) Based is a project to port applications from Asus ZenUI to CyanogenMod 13. Officially, development is carried out only for LG G2. According to the developers, about 90% of all applications have already been moved.
  • MIUI - the firmware has been officially ported to 286 different devices. Developed by Xiaomi and based on the source codes of CyanogenMod and AOSP. Many features have migrated here from iOS, TouchWiz, UX (LG), HTC Sense, but there are also some of our own. There are so many useful functions that their description is a topic for a separate article.
  • Maru OS is a very original firmware that, when you connect a smartphone to a monitor, turns it into a full-fledged desktop. You can read a detailed review and interview with the developer here.

Pure Nexus

Imagine that you were given the opportunity to change the operating system of your smartphone, add new features to it without affecting the system requirements. The Pure Nexus project has been around since the Nexus 4 was introduced and supports all Nexus and Pixel devices.

The developers use AOSP as source code, which is exclusive to the Google line and time-tested. The number of errors occurring in the system is minimal. Pure Nexus firmware is officially only available for the Pixel and Nexus lineup, although it has been ported to other devices. It already has support for Android Oreo 8.0.

Afterword

I deliberately do not support each step with an abundance of screenshots, since each case is unique, each recovery has its own interface, but the basic principles remain the same. Also, you will not see an abundance of links here - all the projects listed are easily searched in search engines. Finally, I would like to give the current configuration of my phone:

Model: Xiaomi Redmi Note 8T Operating system: Android 11 ArrowOS Recovery: Pitch Black Recovery Project (twrp-based) GoogleServices: NikGApps based

I'm open to constructive criticism, thanks for reading!

Carbon ROM

This build is very popular. When you first launch it, it is difficult to detect any fundamental differences from standard Android. But when used for several days, you can see all the charms and experience the true beauty of Carbon ROM.

Added a large number of mods for the system, notification lines, buttons, signals, and other options. At the same time, Carbon ROM does not lag behind RR in the race for the highest possible settings. Those who have been using this build for a long time rarely switch to another: the interface is simple, there are additional functions, and stability is high.

CarbonROM works on many devices: Samsung, HTC, LG. With Android Oreo 8.0 support, the problem will be resolved soon.

Pixel Experience

The Pixel ROM is built with everything Google has to offer, including every app with great boot animations and tons of advanced settings. A distinctive feature is 3D Touch (you can get some options for applications if you long press the icon for 1-2 seconds). For example, instead of opening the contact app and creating a contact, we can long press on the contact app and immediately get the option to create a new contact. Another amazing and fantastic feature is the Google Assistant. The user can ask whatever he wants without touching. The Google Assistant gives answers, and the person asks certain commands (calling a subscriber, setting an alarm, and much more).

SlimRoms

SlimRoms has the lightest, minimal firmware, based on the AOSP code, but containing a number of useful settings. This is a stripped-down version of Android with a convenient selection of Google Play services. The user himself decides which of them to add to the operating system; It itself changes the resolution of fonts and icons, making them as small as needed.

Slim Recents and Simple display recently used apps in a sidebar, meaning they won't take up the entire screen like on the official Android version. Navbar works well in idle mode. Other features of SlimRoms OS can change the interface of the dialer window, create lock screen tiles and shortcuts, and install protection on certain applications.

SlimRoms is available on all major phone models: Google, LG, HTC, Moto, Samsung, Xiaomi, OnePlus. However, the last release was back in February 2022.

Installing third-party Recovery

What is Recovery and why do we start the firmware process with it? The Recovery partition is an analogue of the BIOS on a computer, also called “Recovery Mode”. A sort of “subsystem” that is designed to help restore the functionality of the device. It is necessary to replace the recovery installed by the manufacturer with a third-party one because the “native” one will not allow you to install anything other than the official firmware.

A little about what types of Recovery there are

There are 2 main third-party recovery projects - TWRP and CWM and everything that is based on them. Each project has websites, and there are project branches for many devices. But, if you did not find your device on the official websites of these projects, with a high probability you will find it on 4pda in the topic of your device.

I use and strongly advise others to use TWRP-recovery, since it greatly surpasses CWM in functionality and convenience.

A little about ADB

A little about ADB is a debugging tool that allows developers to debug their applications, and enthusiasts like us to flash phones and do many other useful things. You can also learn about all the functions using the TechnoTrinity.

After downloading recovery, you should receive an android partition image file with an .img extension. To install it on your device, we will need:

  • Computer or other device suitable for running ADB
  • USB drivers for your device installed on your computer
  • ADB console utility

To flash a new recovery partition, you need to put the phone in a special bootloader mode - fastboot. On most devices, this is done by holding down the Power and Vol- buttons when turning on the phone. Successful entry into this mode will be considered a black smartphone screen with a white line “fastboot mode”. After this, you need to connect the device to the computer using a USB cable.

To flash the recovery partition, we need a single ADB command. To execute these same commands, we will use the Windows console. (I assume you have managed to install ADB). The general format of the command to flash a file to a device partition is as follows:

fastboot flash partition PathToFile

Where

fastboot - path to the fastboot.exe file, supplied with ADB;

partition - Android partition available for firmware. We sew recovery;

PathToFile - path to the recovery .img image that you downloaded;

In my case, the command looked something like this:

C:\adb\fastboot flash recovery C:\recovery.img

Some recoveries come with automatic installers and ADB - you just need to run the bat file.

After a message appears in the console about the successful completion of the recovery firmware process (2-3 seconds), you can try to launch the newly installed Recovery mode - when you turn on the phone, hold down Power and Vol+ until the manufacturer’s logo appears on the screen, after which you can release the button Power until the logo of your selected recovery appears.

ViperOS

ViperOS is another build based on AOSP Gerrit, but with its own custom mods. You may not have heard of it since it is a relatively new project. The software appeared after the launch of Android Nougat 7.1, it is reliable and stable. There is no way to customize your own interface, but there is a balance between battery and performance.

For Android Oreo 8.0, the developers recently updated the source code. We think the Vipers are a near-perfect build with a few extra features and long battery life. The list of supported devices is still small, but the developers say that this firmware will work with all major smartphone manufacturers.

OmniROM

Official website: omnirom.org Number of officially supported devices: 84 (as of 08/08/2016) Basis: AOSP Android version: 6.0.1

OmniROM was born in response to the "commercialization" of CyanogenMod. Its developers include Dees Troy (author of TWRP) and the very famous developer Chainfire (SuperSU, LiveBoot, Recently, FlashFire, Mobile Odin and other cool applications).

The key feature is that what functionality to add is chosen by the users themselves by voting. There is an interesting “Performance” item in the settings. It allows you to configure processor frequencies, input/output algorithms, the aggressiveness of the task manager (it is he who does the work of task killers), and also view a number of interesting parameters. All other functions are standard and implemented in other similar firmware. However, among other things, here you can enable the “dark theme” in the settings, and an alternative OmniSwitch panel is available for switching between applications. OmniROM also has an OpenDelta update system, which allows you to reduce the size of OTA firmware updates by 90%.

The only sad thing is that all the new items in the settings are not translated into Russian, there is no customization of buttons and the ability to reduce the size of the navbar panel. There is no F2FS support. There are no Russian letters in the dialer either.


Dark theme settings


Watch

Rating
( 2 ratings, average 4.5 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]