What is a custom OS? – Esper Blog

A custom operating system can generally be defined as a version of a computer operating system that has been built with specific goals in mind. These are usually based on open-source software such as Android or Linux, although heavily modified versions of closed-source operating systems could also be considered “customized” in some cases.

A custom Android operating system gives you significantly more control over system behavior and updates. It has the potential to fully control the device’s experience, appearance, performance, custom recovery and can also achieve improved support for new features, firmware, hardware, and functionality.

Most Android devices, Android phones and tablets, for example, are sold with a version of the operating system that can’t be fully customized. After booting any device, it is possible to make some customizations for certain aspects of the experience. You can download apps and change settings. But, you cannot change the system behavior of the pre-installed operating system. For example, you cannot change the animation that is displayed when the device is starting up.

That’s where a custom operating system really excels. If you want full control of the software on your devices both functionally and aesthetically, a custom operating system is the way to go.

How to choose the best OS guide

Benefits of a custom Android OS

There are numerous benefits to opting for a custom Android OS on your devices, regardless of whether you’re building for a handful of devices or 10,000.

Superior support for

hardware and peripherals

By default, Android supports a wide variety of hardware devices and peripherals, but in many cases, additional hardware-specific features are needed. A custom Android operating system offers the ability to bake new hardware support at ground level, into the kernel. The kernel plays a key role in supporting device hardware at the operating system level.

For example, standard builds of Android may not support certain hardware for custom devices, such as a specific logic board. A custom Android operating system provides the flexibility to add support for almost any hardware component.


tablets and smartphones are often loaded with bloatware, unnecessary apps that are pre-installed on the device. Bloatware is not required for single-purpose device use cases. It takes up storage space, and in some cases, bloatware apps could be a security risk.

A custom operating system can remove the risks of bloatware from the equation by allowing developers to choose which apps load on the device from the moment it launches. With bloatware removed from the equation, your devices are faster and more secure.


performance and battery life A custom Android operating system can provide the baseline for optimizing performance and

battery life, though details may vary depending on hardware and

use case. In the case of a

retail kiosk, a custom Android operating system that is linked to your cloud management tools can provide the ability to optimize how the device consumes power. If a device is idle, Android 6.0+ devices can be put into device sleep mode, also known as Doze mode. For use cases where kiosks sit idle for hours each day while a store or restaurant is closed to the public, it can lead to battery optimization and minimal power consumption.


custom Android operating system is tied to superior hardware security, especially in single-purpose device use cases. Provides the ability to control user access to hardware components, such as blocking access to the 3.5mm audio jack or disabling volume control.

In addition, custom operating system administrators can protect the device from arbitrary code execution by restricting the applications that can be used on the device. There are many other opportunities to enhance software security with a custom operating system within the context of the hardware and use case.

Considerations for a custom Android operating system When you deploy a

custom Android operating system


a GMS-certified device, you should consider how your app will behave due to the lack of Google’s SafetyNet attestation API. This is an API provided by Google for GMS-certified Android devices that provides DevOps teams with real-time insights into device tampering and security status. Rooting or unlocking a device’s bootloader can cause SafetyNet attestation to fail, in which case certain applications that rely on the API may refuse to run.

For a device to offer GMS applications and services, which includes the SafetyNet API, it must pass CTS (Compatibility Test Suite). It’s an important consideration to keep in mind for many single-purpose use cases involving APIs or Google apps.

In addition, it is important to carefully monitor against any possibility of errors or inadvertent bricking of a device with a custom Android operating system. These risks depend on how you compile the operating system and where the source code comes from. Khadas has published the source code of the Khadas board to protect customers from this possibility. If you are taking the AOSP code, you must adjust the source code to be compatible with the hardware.


a reliable, secure

, and compatible custom Android operating system requires a holistic evaluation of the source code: no test or suite can tell you that an operating system distribution is “secure.” However, compatibility testing can provide some insights.


Compatibility Test Suite (Android CTS) can determine whether a custom operating system based on open-source AOSP code is “compatible” with Android based on definitions set forth by Google in the Android Compatibility Definition Document (Android CDD). The CTS does not determine whether your custom operating system contains backdoors, unpatched vulnerabilities, or is properly configured based on your organization’s security requirements. The Android CTS simply says that building your custom OS should work normally and be compatible with properly built Android apps (including GMS).

Even if your custom OS

passes Android’s CTS, that doesn’t give you permission to distribute GMS, and it doesn’t mean your devices will pass SafetyNet’s checks when running your custom OS. Both GMS and SafetyNet require an active Mobile Application Distribution Agreement (MADA) with Google, which is the contract that allows a device manufacturer (OEM) to ship Google Mobile Services and related Google apps on their devices.

However, failing SafetyNet does not make a custom operating system “insecure”; only that applications that require SafetyNet certification will not run. Failing Android’s CTS could be a bigger cause for concern, but that depends entirely on the exact reasons why your build failed compatibility tests.

Can you go back to stock ROM after adding a custom Android OS?

The source code of AOSP is Vanilla and is not compatible with any hardware. You’ll need to add support for the hardware through ‘Device Bring up’, the process of converting AOSP to a hardware-directed build. After that, your ability to get back to Stock ROM without encountering problems depends entirely on the hardware manufacturer.

If the bootloader is locked, you cannot flash a custom Android operating system on the device. In other cases, some manufacturers offer a limited ability to re-lock the bootloader, meaning that a flashed device will be permanently unlocked after opening a custom Android operating system. This means that the SafetyNet attestation will fail, as it is based on verifying the basic integrity of the device according to, among other things, the lock state of the bootloader.


sometimes when you try to go back to the original stock ROM, the status of your bootloader will remain unlocked and you will not be allowed to lock it. This means that the integrity of your device is permanently compromised because a malicious actor with physical access could theoretically display their own images on the device.


has partnered with some of the world’s leading Android device innovators like Lenovo, Zebra, Honeywell and more to deliver our custom Android operating system, Esper Foundation for Android, ready to use on devices for countless single-purpose use cases. For more information, request a demo or check out our growing selection of GMS and AOSP (non-GMS) certified Android hardware with custom OS.

What is an embedded operating system?

When talking about custom operating systems, the term “embedded operating system” comes up quite often. In definition, an embedded operating system sounds very similar to a custom operating system: it is an operating system designed to perform a specific function. Historically, the main difference with embedded operating systems is that they usually run on devices that aren’t traditional computers – think ATMs, ticketing booths, etc. However, as technology advances, these devices become increasingly intelligent and often use more computer-like systems to power more advanced functions.

So, can an embedded operating system

be modified


It is possible to upgrade, change or even replace an integrated operating system, but the level of difficulty will depend on the type of device. For example, a modern point-of-sale system may use an embedded operating system that runs on computer-like hardware, making it easy to replace with a custom operating system designed specifically for that hardware. An ATM, on the other hand, will likely be much harder to build, as the integrated operating system is designed specifically for security. Making it easily replaceable would be a security flaw, so it’s unlikely you can do it easily (if at all).

Frequently Asked Questions

What is a custom operating system for Android? A custom operating system

can generally be defined as a version of a computer operating system that has been created with specific goals in mind

. How do I install a custom operating system on Android? To install a custom Android operating system,

your device will need an unlocked bootloader

. What are the benefits of a custom operating system?

Better support for hardware and peripherals, less bloatware, superior battery life, and advanced security features are just some


the benefits of a

custom Android operating system


Can I uninstall a custom operating system on Android?

You can install a different operating system (custom or standard) on the device, but uninstalling the entire operating system will render the device unusable.

Can I revert to stock ROM after using a custom OS?

if the bootloader is unlocked and a custom operating system is installed you will need access to the original operating system to remove the operating system custom. Alternatively, you can install a different custom operating system.

Can an embedded operating system be modified?

Yes. It can be more difficult (sometimes a lot), but it is possible to modify, update, change or upgrade an integrated operating system.