Android phones: Difference between revisions
(Created page with "Android phones are compatible with Google's Android, and usually also with CyanogenMod or Replicant. They are the most common smartphones. ==Boot sequence== Android devices ...") |
No edit summary |
||
Line 25: | Line 25: | ||
It provides two main methods for interacting with devices: | It provides two main methods for interacting with devices: | ||
The | The '''adb''' command can manipulate the filesystem and can give you a shell on the running device. | ||
The | The '''fastboot''' command manipulates the recovery software. |
Revision as of 16:44, 1 October 2014
Android phones are compatible with Google's Android, and usually also with CyanogenMod or Replicant. They are the most common smartphones.
Boot sequence
Android devices have a 3-stage boot.
- The boot loader loads first, finds the Recovery partition, and loads it. Some boot loaders are locked, which means they cannot be modified. Sometimes this also means that no modifications can be done to the Recovery or the OS partitions without bricking the device.
- The Recovery partition finds the OS partition and loads the kernel from it. It's capable of loading various binaries from different partitions. It is filesystem-aware. It can be replaced with user-installed software such as ClockWorkMod.
- Other partitions contain the OS and other software. After the recovery software loads the kernel, the kernel continues the boot process. It's Linux, so from here we mostly follow the Linux boot process.
Accessing and modifying an Android device
Mounting SIM card
You can remove the SIM card from the device and mount it on a local computer with an adapter box.
IIRC the Android devices I've hacked on used ext2. Koanhead (talk) 13:42, 1 October 2014 (PDT)
Some devices have only a SIM card for storage. Other devices have onboard storage. Such non-removable storage can be accessed using ADB.
Android Debug Bridge
ADB is a method for connecting to an Android device over USB. It is available in Debian's and Ubuntu's repositories.
It provides two main methods for interacting with devices:
The adb command can manipulate the filesystem and can give you a shell on the running device. The fastboot command manipulates the recovery software.