As we mentioned in this post last week, Freescale released an update to Android for the i.MX6.
We've put together an SD card image for this release, and in this post, we'll provide details about how to get your hands on it as well as details of what we've done to customize the image.
Installation for the Linux user:
You can grab the image from this link:
The image was created using dd
and you can restore it to a 4GB SD card on a Linux machine like so:
~/$ bzcat imx6-ics-20120908.img.bz2
| sudo dd bs=1M of=/dev/mmcblk0
... long time passes
~/$ sync
Note that the example above presumes that you have a built-in SD card reader. If you have a USB card reader, you may have to use /dev/sdb
or /dev/sdc
.
Installation for Windows users:
For the Microsoft-inclined, we have another image at this URL:
It can be restored to an SD card using Alex Page's very nice USB Image Tool.
Screen Configuration
The boot script in this image is configured to expect bootargs
to contain the proper video=
clause(s) for your display as shown in the following table:
Screen and connection | bootargs |
---|---|
1080P HDMI | video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:off |
720P HDMI | video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24 video=mxcfb1:off |
Freescale LVDS | video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb1:off |
Boundary LVDS | video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb1:off |
Boundary RGB | video=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB666 video=mxcfb1:off calibration tsdev=tsc2004 |
Customization details
We've done a number of things to customize the image released by Freescale:
- We've included our kernel to support SABRE Lite, Nitrogen6X, and the Nitrogen6X SOM.
- We've included a binary of our current U-Boot binary to support all of our boards.
- We've configured things with a a boot script and upgrade scripts to match our conventions.
- We included the Android version of a demo using Crank Software's Storyboard Suite.
- We configured the image to allow ADB and root access by default.
- We placed a copy of our Windows
.inf
file in the boot partition to allow Windows users to grab it from there when setting up fastboot or ADB. - We added a
mount
statement to theinit.freescale.rc
script to mount the first partition as/boot
. - We added a
.idc
files for use with our 7" touch screens. - We modified
vold.fstab
to mount the/sdcard
partition on the top microSD slot on Nitrogen6X and the microSD card slot on SABRE Lite. - We added touch calibration and a handful of patches to the RAM disk (
uramdisk.img
).
These changes were made a bit easier by changing the partitioning slightly from Freescale's partition usage. To be specific, we formatted p1
as VFAT
and placed the kernel (uImage
), ram disk (uramdisk.img
), U-Boot (u-boot.bin
) and boot scripts (/6q_bootscript
and /6q_upgrade
) inside it.
By making these changes, we were able to use adb pull
and adb push
to grab and replace the individual pieces.
Refer to this post for details of how you can update a RAM disk image.