Android Kitkat Second release for i.MX6 boards

Published on October 7, 2014

Archived Notice

This article has been archived and may contain broken links, photos and out-of-date information. If you have any questions, please Contact Us.

In our previous pre-release there were still lots of things untested, and we hadn't yet ported to the Nitrogen6_Lite board.

We've done a lot more testing, and are ready to release another image that's at least very close to being ready for production.


For the impatient

You can download images from here:

As usual, you'll need to register on our site and agree to the EULA because it contains Freescale content. The image is a 4GB SD card image that can be restored using zcat and dd under Linux or Alex Page's USB Image Tool under Windows.

Source code access

The sources for this release are in the boundary-kk4.4.2_1.0.0-ga branch of our new android-manifest Github project. We moved this since the previous Kitkat and Jellybean releases because the previous name made no sense.

For the newcomers

If you haven't built our Android software from sources, there are multiple steps to the process to fulfill some of the licensing agreements. You'll first need to:

After that, you'll need to install the Google repo tool, and initialize a new repository more or less as follows:

~/$ curl https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo ~/$ chmod a+x ~/bin/repo ~/$ mkdir myandroid ~/$ cd myandroid ~/myandroid$ ~/bin/repo init -u git://github.com/boundarydevices/android-manifest.git -b boundary-kk4.4.2_1.0.0-ga ~/myandroid$ repo sync Note that this will download over 15GiB of source code and tools, so it will take a while.

If you're not familiar with repo, you should check out the notes in the AOSP documentation. It's a very nice tool for consolidating multiple source code repositories into a single project, and has lots of features for tracking changes across the various packages. The file .repo/manifests/default.xml consolidates the almost 400 packages that comprise our Android release.

You can see the structure here in our Github repository:

Once you've sync'd your repository, the next step is to choose the target board and build: ~/myandroid$ source build/envsetup.sh ~/myandroid$ lunch ... choose Nitrogen6x or Nit6xlite from the list of boards and then build ~/myandroid$ make 2>&1 | tee build-kk.out A full build will take upwards of 3 hours, but incremental builds are pretty speedy if you're changing things.

Note that the Android build process allows you to just send over changes to a USB-connected board using adb sync. To do this, you'll need to remount /system though.

On the board: root@nitrogen6x:# mount -o remount,rw /system On your build PC: ~/myandroid$ adb sync If you're changing system components, you may need to stop and restart the Android GUI.
On the board: root@nitrogen6x:# stop && start If you're changing things in the init process, you may need to reboot.

What's missing?

The primary things that are still missing from this release are:

As always, let us know your experiences (both good and bad) when you test out this image.