Terminology & Resources (Glossary)
The following list is meant to give you a place where you can look up any term or definition you might not know and also tell you exactly where you find what a tutorial might tell you to get or use. You do not need to memorize everything right now, but I suggest to read it at least once so you heard about all the terms at least once and just keep this page open in another browser tab so you can look up everything as needed. If there is anything in this blogpost or in tutorials you do not understand which I might’ve missed here, don’t hesitate to write a comment and tell me, I’ll try to keep everything as accessible as possible.
Resources, meaning places or tools that greatly help in your journey, are marked.
adb / Android Debugging Bridge
The Android Debugging Bridge, or “adb” for short, is the standard tool to manage, repair or modify an Android device from your Desktop computer. It is available for every kind of operating system. Instructions on how to install and access it can be found on page 5.
The most common commands you’ll need to flash your phone are the following:
|adb devices||Checks for connected devices currently listening (meaning USB Debugging was enabled)|
|adb sideload <filename>||Pushes a file to the device that gets instantly flashed onto it. The device must be put in “sideload” mode before inside your Recovery.|
|adb reboot bootloader||Reboots your device into the bootloader (fastboot).|
|adb reboot recovery||Reboots your device into Recovery Mode.|
|fastboot devices||Let’s you check for connected devices currently listening (only while being in an unlocked bootloader)|
|fastboot boot <filename>||Boots a file, for example TWRP, without flashing it. Only necessary for some devices or to fix things.|
|fastboot flash <partition> <filename>||Flash a file that is currently on your computer onto the specified partition on your device. Triplecheck this command before hitting enter!|
|fastboot reboot||Gets you out of the bootloader and reboots the device.|
These are commands you usually don’t need to use, but may get you out of trouble if necessary:
|adb start-server||Check whether the adb server process is running and start it.|
|adb kill-server||Terminate the adb server process.|
|adb install -r <filename>||Immediately install an Android .apk app file on your connected phone.|
|adb pull <path-to-file-on-phone> .||Get a file from your phone onto your computer. Useful when you’re stuck in Recovery Mode.|
|adb push <filename> <path-on-your-phone>||Push a file from your computer onto the phone. Useful when you’re stuck in Recovery Mode.|
You may need to remount your phones’ storage as “read & write” before this works.
|adb shell||Opens a command line on your connected phone. Useful when someone tells you to use a text command.|
You most likely have to activate root privileges for adb in your phones’ developer options to enter most commands.
adb sideload / Sideloading
Pushes a file to the device that gets instantly flashed onto it. The device must be put in “sideload” mode before inside your Recovery.
An App that lets you directly access Google Play Store apps, either anonymously or with your own account. If you login you’ll also get access to all of your purchased apps – however there’s no support for license checks due to strict policies by Google, therefore some paid apps might not run without GApps.
It is best practice to download it through F-Droid (having both App Stores makes sense). It’s also available for download here.
A backend is software not directly accessed by the user designed to offer functionality that’s usually needed for specific software or system features to work. For example, an app can be designed in two parts: A front-end, offering you the interface to use the software, and the backend with database magic and whatever is needed.
A Bootloader is the first step of loading into an operating system in any kind of computer, including Smartphones. On modern phones the boot partition that houses the bootloader also often includes the Recovery mode.
By default, the bootloader is “locked” so only the vendors default operating system can start. To change this it needs to get unlocked.
Cache / Dalvik
The Dalvik Cache contains temporary files by apps as well as a directory list of all your installed apps. When wiped, your operating system will rebuild it the next time your phone boots (no harm done, just a longer boot time). You often have to wipe it when installing a new custom OS. In general you don’t have to care much about this partition, unless you run into major problems (a wipe may help) or a tutorial tells you to wipe it in Recovery Mode.
CLI (Command Line Interface)
A command line interface is a part of a program that can be controlled by text commands within a command line shell. Most people know this either from server management or the old “DOS” operating system.
It’s rarely used in smartphones, mostly in edge-cases you hopefully won’t run into.
Model names of devices
A model name is the actual working name of a smartphone. This is highly important as you often have to look up files and information about your specific device. For example, the models’ name of the Samsung Galaxy S10 is “beyond1lte”, while my OnePlus 7 Pro is “guacamole”.
Be aware that sometimes the same model name is applied to devices with differences in hardware, often for different markets. To use the OnePlus 7 Pro as example, a OnePlus 7 Pro for the european market got the additional name “GM1913”, while “GM1915” is a specific version for T-Mobile. Flashing an incompatible version of a Recovery can have dire consequences.
Software that tells your operating system how to communicate with hardware, for example sensors, cameras and so on. On smartphones they’re stored on partitions you do not touch unless specifically told to.
A hidden menu you can unlock on every Android smartphone. To do so you have to go into your phones’ settings, go into “About the phone” and find the “Build Number” (some vendors tend to rearrange the system settings, so you might have to look for it). Then tap it repeatedly until the phone tells you that your developer options got unlocked. They now should be available in the “System” tab of your Android settings.
The Firmware is software that’s directly on the specific piece of hardware, like a chip or a camera module.
To use an analogy, the Operating system (You) uses a driver (your arm) to talk to the firmware (a teapots handle) that controls your hardware (the teapot), so you can get to your goal of a nice warm cup of tea (an app doing cool things).
File system / ext3, ext4, f2fs
File systems are basically the way your computer manages the data on a volume (f.e. a harddisk, or the internal phone storage). You shouldn’t have to worry about what filesystems are used on your phone, but in case you do it’s usually best practice to use ext3 or ext4. Changing it to sth. like f2fs usually isn’t worth it for casual users and is part of advanced phone modding.
A term that describes a low-level approach of writing data onto a volume. Low-level meaning that it doesn’t really care for anything, it will take the bits and bytes (the file) you gave him and just slams it at the location you specified.
A free App Store, focusing on Open-Source applications. If your OS of choice doesn’t come with its own App Store this one is usually your first pick as you can additional stores like Aurora here too.
You can download F-Droid from their official website, but also install it with NanoDroid inside Recovery (see below). If you neither install it with NanoDroid nor use Magisk for root access to install the F-Droid Privilege module, F-Droid won’t be able to automatically install updates in the background.
GApps stands for “Google Apps” and usually means a package you can install via adb sideload just before you boot your new OS the first time. It partially replaces standard apps and features, like the standard phone dialer with the Google Dialer or the location service. Also, without GApps you won’t have Android Auto.
If you insist on having Google on your phone, go to OpenGApps‘ website. There you then need to choose:
– Platform (new phones are always “ARM64”, older ones might be “ARM” – don’t worry, your phone will shout at you if you accidentally chose the wrong one)
– Android version (every ROM is based on some version, so you have to look that up – for example LineageOS 18.1 is based on Android 11)
– Variant (A minimal App-Store-only choice would be pico or nano, the all-out option is super. Hover with your mouse over them to see an explanation. Be aware that, if you want Android Auto to work, you need the “super” package)
The kernel is an operating systems core. It manages any communication between your hard- and software and, usually, also contains or executes hardware drivers necessary for proper functionality.
Samsung Knox is a security feature only found on their smartphones. It prevents attackers that established a connection to your device (for example through a faulty app) to send commands to your kernel, adding an extra layer of security. This also helps against physical attacks, in case someone gets to plug in something into the charging port.
Knox will “get tripped” and disable itself during the process of bootloader unlocking. Once disabled the change is irreversible.
MicroG is a privacy-respecting replacement for Google Play Services, enabling you to use applications that need them to run. This includes, but is not limited to, Cloud Messaging (Push Notifications), Google SafetyNet (very important for banking apps) and Exposure Notifications for pandemic purposes.
Since installation and configuration of MicroG can be a real pain I highly recommend that you, if possible, choose a ROM that has it already included (like /e/OS or LineageOS with MicroG). Manually installing it can cause issues when updating as it might get partially “updated away”. More about it on page 8.
This is the most common application to manage root access on an Android device. You can not just manage apps that demand root access and allow or deny them, but also install additional modules that add system features.
Check out Page 7 to find out how to install and use it.
An excellent installer for various useful tools, including but not limited to F-Droid + Privilege Extension for automatic updates, MicroG or OsmAnd (a Google Maps alternative). All packages are meant to be installed in Recovery Mode.
I’m explaining how to install MicroG using NanoDroid on Page 8. You can get their different packages on their website.
Odin / Heimdall (Samsung)
A flashing tool specifically made by and for Samsung phones.
OEM, meaning “Original Equipment Manufacturer”, are… well, what it says. I’ll usually just refer to them as “vendors” in this guide.
OTA (or FOTA) describes the capability of receiving updates and settings “over the air”, meaning wirelessly and automatically. Most often this term is used to describe smartphone updates, but it’s also the feature that gives your smart toaster or smart fridge the fascinating ability of disrupting your daily routine most effectively.
A part of a volume, f.e. your phone storage. We tend to use hard disks on computers with just one big partition, however smartphones often got way over 10 of them. Most of them can be safely ignored. I’ve visualized them on the next page so you get a better understanding how an Android phone works.
The Recovery Mode is meant to offer a way to recover from critical system failure and to apply system updates provided by the OEM. However, by changing the standard recovery with a modified one we can also get full control over our devices.
The ROM is, in the context of smartphone flashing, your smartphone operating system – or to be more precise, the file that contains it (like the file you see on the left).
I will usually talk about “operating systems” in this Guide, however if you are on other sites, most often people will talk about roms. In the end it basically means the same.
Trivia: “ROM” can also stand for “Read-Only Memory”.
Root access means you have total control over your system. However, other than many may be used to on Microsoft Windows, on Android root access means you can literally do anything – including removing your system while using it.
On desktop computers with f.e. Linux access is controlled by password or biometrics. On rooted smartphones tools like Magisk or SuperSU will ask you in case an app requests it. However security aware users should prefer unrooted phones.
A way for an app to assume the identity of another one.
This is what MicroG needs to do to replace Google Play Services with privacy respecting alternatives. However, it is also a considerable risk as it punches a hole into the security concept of Android, reason why MicroG is heavily debated. CalyxOS is special in this regard, as it implemented a solution so only MicroG can ever be able to ask for this permission.
“Team Win Recovery Project” is the most common custom Recovery Mode you can flash onto a phone. You’ll almost definitely gonna use this.
UnifiedNlp / Unified Network Location Provider
A backend that offers location data based on phone cell, wifi and bluetooth data. It is a main component to make MicroG fully functional.
Since GPS is very energy intensive and comparably slow to use, phones are designed to quickly guess your position by looking up names of wifi hotspots and phone towers your phone can currently see, then guessing where your approximately location is. That’s the reason you see your dot slowly getting more and more accurate as your phone accumulates more data.
A forum that serves as the main resource when it comes to smartphone flashing. Any custom rom and install guides are posted here, as well as any discussion and often also bug reports. There are only few exceptions to this, like /e/OS who got their own wiki and forum.
The easiest way to find what you’re looking for often is to just do an internet search, for example “galaxy s9 pro twrp xda” to find the TWRP with install guide for Samsungs Galaxy S9.
Next Page: Visual Examples