Android phones: Difference between revisions

From Free Geek Seattle
(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 difference)

Revision as of 16:42, 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.

  1. 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.
  2. 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.
  3. 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.