Building AOSP 7.x Nougat with only 8 GiB RAM

This is a problem that I ran across recently. Building the whole AOSP code base is a big task, and normally you would choose a machine with plenty of RAM. But, sometimes you need to build on a lesser machine. It happened to me when I was on the road and I wanted to run a build on my laptop, which has 8 GiB RAM, and a dual core hyper-threaded Intel i7 CPU. I have used this set up with Marshmallow and earlier versions without problem – it just takes a while, that’s all.

Announcing Android4Beagle

Chris Simmonds has been working on ports of Android to the BeagleBone Black for several years, since he posted the first tutorial on running JellyBean 4.3.

Now all of that work has been consolidated into the Android4Beagle project. Android4Beagle aims to provide a vanilla Android build, based on AOSP. Currently, builds are available for KitKat, Lollipop and Marshmallow, with Nougat in the works.

Building Brillo: first impressions

Brillo ( is Google's operating system for devices that are connected to the IoT. They communicate with each other, with the cloud and with mobile apps using a system called Weave ( Brillo and Weave are still under wraps: you have to request an invite from the two links in order to get access to documentation, sample code, and so on. However, there is enough information publicly available to build and test a device running Brillo, which is what this blog is about. I hope to cover Weave in a later post.

Brillo is actually a cut-down version of Android. Basically, all the Java components have been stripped away leaving a much simpler embedded Linux operating system. When building Brillo, some things pop out immediately, which may give a preview of future Android builds:

  • GNU make is out: the build is run by kati/ninja (same for Android N preview)
  • GCC is out: almost all C/C++ components are compiled using clang (same for Android N preview)
  • Linux kernel source is in: the AOSP tree has vendor kernels in hardware/bsp/kernel. The kernel is built using GCC, as it is not (yet) possible to build it with clang
  • DBUS is in: I have not yet found out why
  • Toybox is in: leading to a much more Linux-like command line experience

Below, I show how to build and run the Brillo emulator

KitKat 4.4 AOSP for BeagleBone Black with accelerated graphics

After a little bit of tweaking I have got my port of Android KitKat up and running on the BeagleBone Black. For some background on why I am doing this, read my previous post about Android on the BeagleBone Black

Building Jelly Bean 4.3 AOSP for Beaglebone Black v2.0 - with fastboot

A little while ago I wrote Building Jelly Bean 4.3 AOSP for Beaglebone Black which describes how to install Android on a micro SD card and boot the BeagleBone from it. Then I did some research on integrating fastboot into U-Boot and wrote Android fastboot for BeagleBone Black. Now I am bringing the two together.

I did think about editing the first article, but I think it is cleaner to have a new tutoruial that works for the new use case.

Building Jelly Bean 4.3 AOSP for BeagleBone Black

This blog post describes how to use vanilla AOSP Jelly Bean 4.3 source to build and run Android on the BeagleBone Black development board. All components are built from source (well, nearly all: the GPU drivers contain some binary blobs).

Syndicate content