Doc: more concepts
Modifying an Android device is not particularly difficult, however, it does require precise steps that must be followed exactly. This can be confusing to a lot of people, especially if they are not particularly tech savvy. This page tries to remedy that problem by explaining some of the core concepts and terminology.
RAM, Flash storage, and the SD card
To start with, it helps to know that many Android devices have three kinds of storage: RAM, internal flash storage, and less-frequently, removable storage on an SD card.
RAM or internal memory is very fast, read-write, and volatile, meaning it "forgets" data when the device is turned off. RAM is the 'short term' memory that the device uses when it's actively 'thinking' or processing. For apps to run, they must first be 'loaded' from the internal storage into RAM memory. When an app is closed, it is then removed from RAM to make room for other programs. For more info on RAM, please see Wikipedia:Random-access memory.
Internal storage, also known as flash memory, flash storage, or the eMMC (Embedded MultiMedia Card), is nonvolatile-- that is, keeping information even when the device is off. Internal storage in the device is in many ways equivalent to a hard drive in a computer. This is where the device's operating system (sometimes called "firmware"), apps, user data, and more are stored. Internal storage is generally slower than internal memory (aka "RAM"). For more info on internal storage, please see Wikipedia:Flash memory.
The SD card is a removable storage media normally dedicated to the bulk of a user's storage, such as pictures and music. You can buy SD cards at most electronic stores and can swap them out when storage runs low on your device. However, keep in mind that not all devices have SD card slots.
Common Partitions and directories
Partitions and directories
Android devices have their internal flash storage divided into partitions. One way to think of a partition is as a room in a house. Just as each room might have a specific purpose, each partition has a specific purpose.
Additionally, directories (sometimes called "folders") are used to store information in a typical Android installation.
Let's look at some of the most common partitions and directories.
Common Partitions and directories
- NOTE: Some devices may contain different partitions. The ones listed below are usually the most common.
/bootThis partition stores the kernel and ramdisk. The kernel can be thought of as the "core" of the device's software. It is what allows the hardware to "talk" to the software, and vice versa. It also controls other aspects of the operating system on the device, such as what file formats the device is able to support. The ramdisk contains the very first bits of Android that are loaded. It's the software that loads everything else.
/recoveryThis partition holds the device's recovery software, which gives the user access to special functions, such as upgrading the operating system or making a backup of the device's software.
/systemThis is the main directory where the device's essential software, the operating system itself, is stored. When CyanogenMod is installed, this is where it goes. Generally speaking, this partition is loaded into "read only" mode so that you don't accidentally overwrite portions of Android, and it's only able to be modified under special circumstances.
/cacheThis directory stores temporary files used by Android. Generally, files on this partition are not usually critical to the operation of the device, and can be "cleared out" by wiping its contents, especially during every major upgrade.
/dataThis directory is where much of your personal data is stored. So if you download an app from the Android Market, it goes here. If you change a setting, that change is also stored here. If you receive a SMS, it too is stored here.
/sdcardThis directory contains the stuff from your removable media, such as an SD card. It is used by many apps as a general purpose download space. You can put movies and such on here as well. Even devices without a removable SD card slot may have an
/sdcarddirectory. In this case, it is usually "linked" to a folder in internal storage.