Android – Understanding, Modifying, Building and Installing

Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -”flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We cover them in different posts, continuing here with the OS – Android.

Once the boot loader has loaded the kernel, the following step is mounting the root file system (Please refer here for further details on the boot sequence). In this post we will go through the process of compiling the Android system and uploading it image to our device. Sometimes, this image needs to be modified. Refer to this post in order to get more information on how to mount/unmount the Android system image.

Continue reading

Mount / Unmount Android System images

There are many reasons for wanting to unpack Android’s system image. The most obvious is modifying it. System.img is in the end an ext4 loop file system (such as the Linux system image), that can be mounted, modified and repacked in order to be burned afterwards in an embedded system. Android’s system image can be obtained from the google factory images.

Continue reading

The Kernel – Understanding, Modifying, Building and Installing

Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -”flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We cover them in different posts, continuing here with The Kernel.

Continue reading

The Bootloader – Understanding, Modifying, Building and Installing

Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -“flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We will cover them in different posts, starting here with The Bootloader.

Continue reading

From PowerOn to Android – The Boot Sequence

One of the main issues when dealing when embedded systems -specially as an amateur developer- is understanding what happens since our board/tablet/phone/etc (we will refer to is as a device from now on) is powered on, until the OS takes control of the device and we are able to use it. Understanding this chain of events is crucial in order to develop low-level routines for any given embedded platform, and equally necessary for efficiently design high-level Apps.

Continue reading

Getting Started for Developing for/under Android – Setting up the System

One of the first things that needs to be done before starting developing for a specific platform, is setting up the system, which involves installing Developing Tools, SDKs, etc. Here we are going to describe how to set up a Linux Ubuntu from scratch in order to get started in Android development.

Continue reading