Android Kitkat Second release for i.MX6 boards
Published on October 7, 2014
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:
- kk-nitrogen6x-20141007.img.gz for Nitrogen6X, SABRE Lite and Nitrogen6_Max
- kk-nit6xlite-20141007.img.gz for Nitrogen6_Lite
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:
- Testing time, and
- Browser cache optimization
As always, let us know your experiences (both good and bad) when you test out this image.