The following is a list of the i.MX6 images available for download. Each of them is a link to a blog post describing the image, where to get it, and how to create an SD card image. Each will run directly on Sabre Lite, Nitrogen6X and Nitrogen6X SOM boards.
Please contact us if you have any difficulties with these images.
Yocto Linux
- Yocto Pyro release
- Yocto Morty release
- Yocto Krogoth-next release
- Yocto Krogoth release
- Yocto Jethro release
- Yocto Fido release
- Yocto Dizzy release
- Yocto Dora release
- Yocto test image for Linux 3.10.53
Ubuntu
- Ubuntu Xenial for i.MX6/7 boards – August 2016 (kernel 4.1.15)
- Ubuntu Trusty for i.MX6/7 boards – March 2016 (kernel 3.14.52)
- Ubuntu Trusty for i.MX6 boards – February 2016 (kernel 3.14.28)
- Ubuntu Trusty for i.MX6 boards – December 2015 (kernel 3.14.28)
- Ubuntu Trusty for i.MX6 boards, June 2015 (kernel 3.10.53)
- Ubuntu Trusty, December 2014
- Ubuntu (Linaro) Raring plus video and graphics acceleration
Debian
- Debian 8.6 Jessie for i.MX6/7 boards – December 2016 (kernel 4.1.15)
- Debian 8.3 Jessie for i.MX6 boards – February 2016 (kernel 3.14.28)
- Debian Jessie for i.MX6 boards, March 2015
- Debian installer with 4.1.0 kernel, July 2013
Buildroot
- Buildroot v2016.11.1 image (includes qt5.6.2 + gstreamer + kernel 4.1.15)
- Buildroot v2016.08 image (includes qt5.6 + gstreamer + kernel 4.1.15)
- Buildroot v2015.11 image (includes qt5.5 + gstreamer + kernel 3.14.28)
- Buildroot v2015.08 image for SoloX MCU development
- Buildroot v2015.05 image with GStreamer-imx
Android
- Android Nougat 7.1.1-ga release
- Android Marshmallow 6.0.1-ga release
- Android Lollipop 5.1.1-ga release
- Android Lollipop 5.0.0-ga release
- Android Kitkat 4.4.3-ga release
- Android Jellybean 4.3 with Bluetooth
Others
- Qt for Device Creation 5.4 by The Qt Company:
[Description], [Download Page], [Documentation here], - QNX Momentics for Nitrogen6x, and BD-SL-i.MX6 (SABRE Lite)
- GuruCE Windows Embedded Compact 7 (WEC7) and WEC2013
- Microsoft Windows Embedded Compact 2013, [Download Page] (ONLY for BD-SL-i.MX6)
- Timesys demo
- Timesys images for Nitrogen6_Max

Comments 71
Does any of the mentioned images support Open GL ES2 acceleration out of the box? Let’s say I would like to install and run glmark2-es2.
Author
Hi Marko,
All of them except the Linaro builds have some level of support:
I’m not sure if all of the headers needed to compile your own apps are present in the Timesys BSP,
but I heard rumor that Timesys is working with Vivante to make it so.
Would it be possible to get the platform.x509.pem and platform.pk8 files that we used in building this Android image? They are needed to create applications with system authority.
Author
Hi Mark,
Sure. There’s nothing secure about them. I just uploaded a tar-ball of the build/target/product/security/ directory to android-r13.2-security.tar.gz.
Let us know if that works out for you. We’re pretty much newbies when it comes to the application side of Android.
I purchased a Nitrogen 6 board with the micro sd card. On boot it crashes. I have an HDMI display plugged into the board. How do I fix this. I get the errors
Finding mousesh: ff0000: bad number
:[FAIL]
Framebuffer fb0
Resolution 1280 720
Screen resolution: 1280 x 720
HDMI display
Search for input device Acer T230H
Mouse device is Auto
cat: can’t open ‘/etc/ts.dev’: No such file or directory
killall: timesys-theatre: no process killed
killall: timesys-theatre-1080p: no process killed
killall: timesys-theatre-720p: no process killed
daemon: fatal: failed to stop the demo daemon: No such process
Starting demo…
BusyBox v1.20.2 (2012-08-15 16:59:15 EDT) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.
# write_reg: i2c_transfer failed
write_reg: i2c_transfer failed
ft5x06: i2c_transfer failed
Author
Hi Jeff,
Some of these ‘errors’ aren’t really errors… For example, this one is from the ft5x06 touch screen driver and means in English: “You don’t have one attached”. I should really fix that in the driver because it’s a very common case…
Others come from the startup of the timesys demo. If you look in /etc/rc.d/S99-timesys-theatre, you’ll see a ‘killall’ command before (re)starting the demo U/I. Since these processes aren’t present on boot, the killall command says “no process killed”.
Are you not seeing a U/I on your display? Are you able to drive it with a USB mouse attached?
I know they are not all errors, I just grabbed the last of the messages to give context. I have 2 screens connected, one lvds and one hdmi. The LVDS screen has 3 boxes on the top that say timesys, and the HDMI screen is blank. It looked to me that the screen used by linux should be hdmi, according to the default boot variable in uboot. I presume uboot is putting up the output on the LVDS display, and I do get a console on the serial port. It just does not appear to start the hdmi sceeen or bring up the timesys graphics demos. I had expected something akin to the imx53 qsb board software, that all I had to do was plug it in and linux would boot with a display.
Hi,
I was wondering if anyone knew if the openCL capability of the Graphics core on the i.MX6 was exposed through binary blob or otherwise in any of the existing linux builds. I can’t find any concrete information on the matter.
Any information would be appreciated, thanks.
Author
Hi Richard,
Yes. OpenCL is exposed in the LTIB and Timesys builds. There’s even a set of samples in /opt/viv. The Linaro build doesn’t include the closed source libraries.
That’s excellent, thank you very much!
Hi! On my Nitrogen6W loaded oneiric-imx6-20120626.tar.gz (Ubuntu From Freescale link above). “uname -a” gives
Linux linaro-ubuntu-desktop 3.0.15-01386-g5c661b1 #64 SMP PREEMPT Tue Jun 26 11:16:43 MST 2012 armv7l armv7l armv7l GNU/Linux
It comes up fine, but I have noticed a few things that I don’t understand:
1. About once every 20-30 seconds, response to simple commands like “ls” or “cat /etc/fstab” is terrible. With “set filec” it is quite visible. Not sure, if I need to get a 32GB micro-sd card and create swap on there or what? “top” in another terminal hangs too and when it comes back “top” shows Xorg as top hog mostly, but not always. Has anyone seen this or figured out?
2. At boot, auto logs on “linaro” user (not sure how to change that).
Any ideas, specially the 1st issue?
Thanks a bunch.
You probably want to look at cpufreq governor (in /sys). They sometimes do ridiculous shift in frequence, that lead the cpu at 64MHz, so it’s slow.
Set the minimum speed to something higher, or set it as performance
Pingback: ¿Hay vida más allá de Raspberry Pi? Sí y aquí te mostramos varias alternativas [Comparativa] - The Inquirer ES
Would it be possible to get the platform.pk8 and platform.x509.pem files for R13.4-GA SD card image?
Author
Hi Mark,
Since we’re not installing our own keys, these values from the R13.2 image should work for you:
Hello there!
I am trzing to download the rootfs “Freescale Ubuntu image w/1.1.1 kernel (no blog post)”, but there is no download button the next page (where I read the licence)!
Thank you.
Author
Sorry about that. I pooched the URL.
It should be good now.
I’ve got a Nitrogen6x board with the wifi and one of your touch screen displays. I’ve downloaded the “Freescale Ubuntu Image w 1.1.1 kernel. I can see the ethernet and wifi cards when I do the ifconfig command, however when I try to access the network cards from the icon on the Ubuntu desktop, not cards are recognized. Any ideas on how to fix this?
Thanks,
Seth
Author
Can you run ‘ifconfig -a’ from the shell?
Here’s the ifconfig -a output:
ifconfig -a can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:142 eth0 Link encap:Ethernet HWaddr 00:19:b8:01:09:f2 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:350 errors:0 dropped:4 overruns:0 frame:0 TX packets:23 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:35121 (35.1 KB) TX bytes:7866 (7.8 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) wlan0 Link encap:Ethernet HWaddr de:ad:be:ef:00:00 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@linaro-ubuntu-desktop:~# root@linaro-ubuntu-desktop:~#Author
Hi Seth,
This looks good, so you have a proper device, and should be able to get an IP address by hand using dhclient eth0.
You should be able to put a line like this into /etc/network/interfaces and have the interface start with either ifup eth0 or automatically at boot.
I’m sorry I overlooked that when creating the image. The default Freescale release has things configured to rename the interfaces, so you’ll likely see eth5 or somesuch in there.
Eric n,
The file /etc/network/interfaces contained the following lines created by the system:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Trying to get something going in a hurry, I created a batch file that I manually execute with sudo after booting, the contents of are:
# manually bring wired ethernet up – Seth
ifconfig eth0 10.3.100.74 netmask 255.255.0.0 broadcast 10.3.255.255
route add default gw 10.3.0.1
plus I entered the following line in /etc/rc.local with the routing information
route add default gw 10.3.0.1
This does get the wired ethernet going including the browser and all command line internet requests.
Besides the network gui tool not working, other things I’ve noticed are the ‘user accounts’ tool in the system settings – it doesn’t work at all. The ubuntu software center displays the packages available, but I haven’t been able to get it to download one yet – either it takes a very long time or it also has some issues. However using sudo apt-get install from the command line does work fine.
It would be really nice to figure out what is going on here with Ubuntu’s Gui interface.
Thanks for your quick response, if I figure out anything else I let you know.
Seth
Eric,
The serial port ttymxc0 on the Nitrogen6x board is having trouble talking to another board which uses the ADM3307C RS232 interface chip. I believe it may have something to do with the RS232 voltage levels that the Nitrogen6x produces not being compatible . Is there any documentation that you can provide on the hardware for the RS232 ports on the Nitrogen6X?
Thanks,
Seth
Hi,
I have a Sabre Lite board and I have been having great problems trying to get it boot Linux. The TimeSys demo that came preloaded on the SD card works (though I sometimes have to restart it a few times before it will drive the HDMI monitor).
I have tried TimeSys Linux (as downloaded from their site and from the supplied CD) and Linaro from here: http://boundarydevices.com/linaro-12-09-for-i-mx6/ and neither will work. For Timesys, I have tried booting from SD card and from TFTP. I have only tried SD card for linaro so far.
The problem is generally similar, though rarely exactly the same: the Kernel starts to load but either hangs during the booting process or ends with a kernel panic. It ususally gets to about the stage of recognising the USB mouse and keyboard, though sometimes it is before this stage.
If it wasn’t for the fact that the supplied system works, I would be suspecting hardware fault at this point. Does anyone have any clue as to what may be going wrong, or what I should try next?
Cheers,
John.
Author
Hi John,
To your first point (HDMI display not detected), are you using a DVI monitor? We’ve had reports of similar issues that we haven’t been able to duplicate.
On the second, it’s a bit hard to say what’s going on without more detail. The Linaro release is quite old, and some kernel updates may be required.
The Timesys images should just work.
I’ll reach out off-blog to get some of the kernel details, but can you provide your U-Boot version here? The memory timing fixes from February could be a factor.
HI Eric,
Thanks for your swift reply.
Yes it is a DVI monitor: HP Compaq LA1951g.
I will send the complete boot logs by email. These show the u-boot version:
U-Boot 2009.08-00530-g1f7edab (Oct 29 2012 – 13:22:53)
Is this what you wanted? I flashed this u-boot using the upgradeu command with a file called u-boot-20121029.bin that I pulled from somewhere on your site (sorry can’t remember where now – it’s been a long day and there have been alot of downloads!).
Cheers,
John.
Author
Hi John,
You should upgrade your U-Boot to something later to address some memory timing issues as discussed in this post.
You can grab a binary from here: u-boot-nitrogen6x-20130211.imx.
I’d be surprised if this fixes the boot issues, but I’ll look through the details in your e-mail.
Author
I forgot to add a couple of things in my earlier message.
After downloading the 20130211 version of U-Boot, copy it to the root of your SD card and call it u-boot.imx. Then stop the boot process at the U-Boot prompt and run upgradeu:
Author
Hi John,
In the better late than never category, we investigated some issues with DVI monitors and our i.MX6 boards.
Some details (and links) are in this comment.
For “Freescale Ubuntu image w/1.1.1 kernel (no blog post)” what is the 1.1.1 referring to? When I installed this build it seemed to be Linaro 12.03 ?
Author
Hi Phil,
Our naming (numbering) convention comes from Freescale’s BSP release process. Freescale issues roughly quarterly releases of baseline boot loader and Linux kernel code for each of their processors, and we re-base our code on top of each. You can see this in the branch names of our Github kernel repository for i.MX6.
In the past, Freescale used the year and month of the release as their basis for numbering, but oddly, the last releases have been numbered 1.0.0, 1.1.1, 4.0.0 and 4.1.0.
The Linaro 12.03 tag is actually the version of the cross-compiler used to compile the kernel.
Hi,
I’d like to be sure my Nitrogen6x has armhf enabled. I’m pretty sure this is working on the freescale Ubuntu 4.0.0 and 1.1.1 builds. I’m running processor intensive floating point code and it seems to run fast. My issue is that 4.0.0 has issues with SATA and 1.1.1 has the intermittent startup sleep issue. I’d like to try the Linaro Raring build – but does it have hard float supported for the iMX6? My impression is that the builds based on the Freescale BSP are the only builds that have hard float – but that may be wrong. Does Android have hard float?
Phil
Author
Hi Phil,
None of the Freescale Ubuntu images on our site use ARMHF, but all of the Raring images do.
Android uses EABI.
Thanks Eric,
I’m surprised that the freescale Ubuntu images don’t have hard float. I’m running the arm hard fload embedded JVM and it was working well. Why do you recommend Jellybean over the other binaries? How does EABI compare to ARMHF?
Author
The Freescale releases are quite old (Oneiric due to inertia).
We recommend the Jellybean 4.3 version because there are a number of important bug fixes, especially as it relates to media playback and GPU.
As for the differences (pros and cons) between EABI and ARMHF, I’ll defer to others for that, but the biggest win I see is the inclusion and use of the NEON instruction set when building apps and libraries. I believe Konstantinos at Genesi published some numbers a long while ago, but all I can find at the moment is this post on i.MX Community.
Author
I forgot to mention that you should really use the Jellybean 4.3 release and update to the latest U-Boot. The intermittent startup issue(s) have been resolved.
Does anybody know or has experienced the use of RAID controllers such RocketRaid 2300 PCI-E x1 with the Nit6X_PCIE plus mPCIE to PCI-E Daughter Board? What OS image do you recommends taking a NAS and DLNA development in mind with Nitrogen6X?
Best regards,
Hi, everyone, I am a new user of nitrogen6x, I have met a problem, after I installed the linux on the sd card, I plug it into the nitrogen6x board, but the monitor appears: 6x_bootscript not found,……….scanning usb for storage devices…0storage devices…! it is the same as not sd card pluging in the board case, is there anyone can help me ? Thanks very much!
Author
Hello Hhgaan,
You’re going to need (wantU-Boot getting started post and this post describing boot scripts.
What tools did you use to create your image? Most userspace builders have support for this.
Hello,
does anybody of you know what image is the best for testing OpenCL applications with linux?
I’m bugged in testing image by image and flashing and flashing back.
Pingback: Rivales de la Raspberry: Sabre LITE i.MX6 | Raspberry para torpes
Hi,
Does any one know how to program a MAC address on i.MX6 board? We need to assign and program the MAC address on i.MAX based board. But I don’t have idea how to. Please help.
Bill
Hi,
is there any problem with the website? I get the EULA page but nothing more when trying to download an image. Thanks!
Hi Alejandro,
Yes. We had trouble with the EULA page when we deployed the updated Web U/I.
It should be back now.
Sorry for the hassle.
Thank you! 😉
Hi Boundary device,
I have a BD-SL-IMX6 board with 4GB SD card. but the image inside SD card is broken. May I ask where can I download that default image?
Thanks in advance,
Hello Phuoc,
You can find a list of images here:
Most of them will require that you register on the web-site and accept a license agreement because of Freescale content.
Hello Ericn,
there are alot of pre-built image and I don’t know what is the default image in SD card come with BD-SL-IMX6 board from Boundary device. I had been trying with some image but it does not like original image in SD card
Thanks in advance
Hello,
Is there a way to build the Angstrom distribution for the sabre lite (BD-SL-i.MX6) ?
It seems the Angstrom distro is Yocto compatible so maybe there a simple recipe for that ?
Did anybody try it ?
Where can I find a Yocto release (source and binaries) for the http://boundarydevices.com/product/nit6_solox-imx6/.
Where I can I find the kernel sources/patches? I need to build a kernel.
Is there an image available for download for the BD-SL-i.MX6 which uses the 3.14.28 BSP from freescale?
Hi there!
The image is here: http://www.boundarydevices.com/eula?file=core-image-sato-nitrogen6x-3.14.28.sdcard.gz
I’ll be updating the main blog post with this as well. Let me know if you have any questions!
-Ian
Hi,
I would like to check, is the CAN (flexcan) support available/validated with boundary-imx_3.14.28_1.0.0_ga kernel.
Also are there prebuilt images available with other variants like imx6qsabrelite for BD-SL-i.MX6 3.14.28 BSP?
Thanks
Shrikant
Hi Shrikant,
The nitrogen6x image works on the BD-SL-i.MX6. The only differences reside in the device tree but the 6x_bootscript executed by u-boot detects the board and selects the appropriate device tree blob (dtb).
Regards,
Gary
Hello Boundary Team,
Are there any prebuild image available with debian-console (no graphic) with kernel boundary-imx_3.14.28_1.0.0_ga?
Thanks
Ajava
Hi Ajava,
I have just uploaded such an image for you.
http://boundarydevices.com/eula?file=20151111-nitrogen-3.14.28_1.0.0_ga-jessie-en_US-devcon_armhf.img.gz
https://storage.googleapis.com/boundarydevices.com/20151111-nitrogen-3.14.28_1.0.0_ga-jessie-en_US-devcon_armhf.img.gz.sha1sum
Its the most recent Debian 8.2 Jessie, built on 11/11/2015
It has the kernel 3.14.28-1.0.0_ga
It supports Vivante GPU/3D kernel framebuffer acceleration. You can test it in the directory :
/opt/viv_samples/vdk .
It supports C&M VPU/gstreamer acceleration (playback and OV cameras), you can test it in directory ~/movie-test/gst0.10
It supports wifi and bluetooth (bluez 5.23) , if your board supports bluetooth at all.
You can test it if you type
$ sudo bluetoothctl
, then “scan on” at the [bluetooth]# prompt, and it should scan for the bluetooth devices nearby.
TYpe help if you are stuck.
User accounts are : “root” , “debian” ,
passwords: “Boundary” both, with capital ‘B’
You can select the audio output channel by typing :
$ hdmi-on
for the HDMI diplay speakers, or
$ sgtl-on
, that one is the jack audio output on the board.
For audio mixer and volume settings, type :
$ alsamixer
Its not a minimal console, but developer consol image :
for developers, Linaro gcc 4.9.2 toolchain and some important dev-packages had been installed.
Soon I make a post for this image with a more detailed description, plus XFCE, if someone prefers GUI desktop.
Regards,
Laci
@Laci & @BD Thank you for your exemplary support.
Hi,
I’m using Nitrogen6x 2Gb (u-boot-for-i-mx6-2015-edition).
Does any other build, except Yocto, supports supports HDMI IN over BD_HDMI_MIPI?
Hi,
All the builds using kernel 3.14.52 support HDMI input, whether it’s Ubuntu, Yocto, Buildroot or Android.
Regards,
Gary
Hi,
I have BD-SL-i.MX6, I want to build an SD card with rootfs, kernel, toolchain and modules instead of writing an image. Please suggest me how can I do this?
Thanks & Regards..
D.Dundi Raviteja
Hi,
I am using BD_SL-i.MX6 (U-Boot 2015.07 (Dec 20 2015 – 02:17:08 -0600)) with Hannster LVDS 7″ Display(HSD100PXN1 Rev:0-A00-C12). The Display Resolution supported with Kernel Version 3.14.55 is U:1024x768p-60. I want to change the display resolution of 1280x800p. Please suggest me how can i change the display resolution of LVDS display?
Regards,
Laxmana
Hi,
U-Boot should automatically detect the display you connected to the board. Maybe you have a wrong environment. If so, please issue the following:
=> setenv fb_lvds hannstar7
=> saveenv
=> reset
Regards,
Gary
Hi Gary,
I didn’t find any environment settings for fb_lvds, hannstar7 to setenv or saveenv. My U-boot environment consists of
=> pri
baudrate=115200
board=sabrelite
boot_fdt=try
bootcmd=for mmcdev in ${mmcdevs}; do mmc dev ${mmcdev}; if mmc rescan; then if run loadzimage; then run mmcboot; fi; fi; done; run netboot;
bootdelay=3
bootscript=echo Running bootscript from mmc …; source
cmd_hdmi=fdt set fb_hdmi status disabled
cmd_lcd=fdt set fb_lcd status disabled
cmd_lvds=fdt set fb_lvds status okay;fdt set fb_lvds interface_pix_fmt RGB666;fdt set ldb/lvds-channel@0 fsl,data-width ;fdt set ldb/lvds-channel@0 fsl,data-mapping spwg;fdt set t_lvds clock-frequency
Does anything wrong with this u-boot environment?
How to set/modify display resolution of connected display to SBL target?
Regards,
Laxmana
Hi Laxmana,
Actually can you clarify which display you are using? Is it the the HSD100PXN1 Hannstar 10″ or the BD070LIC1 Hannstar 7″?
The name and reference you provide do not match. The 10″ display has a 1024×768 resolution as you can see here:
https://boundarydevices.com/product/nit6x_10-1hannstar/
Whereas the 7″ display provides 1280×800:
https://boundarydevices.com/product/bd070lcc1-7-1280×800-display/
Regards,
Gary
Hi Gary,
Sorry, I posted the right display id but wrong display size.I am using HSD100PXN1 Hannstar 10″.
https://boundarydevices.com/product/nit6x_10-1hannstar/
How to modify the display resolution of this display to 1280x800p?
Regards,
Laxmana
Hi Laxmana,
Please read the product description, it does NOT support 1280×800 but only 1024×768.
Regards,
Gary
Hi Gary,
Thanks for the answer, Probably i need to use other display to support 1280x800p resolution. Does any other LVDS with multiple displays resolutions provided by Boundary Devices for BD-SBL-i.MX6?
Regards,
Laxmana
Hi Laxmana,
No our LVDS displays only support their native resolutions. For 1280×800, we have two options:
https://boundarydevices.com/product/bd070lcc1-7-1280×800-display/
https://boundarydevices.com/product/bd101lcc1-10-1-1280×800-display/
Regards,
Gary
Hi, where i can download buildroot 2016.08 config for image that you provide?
Hi,
Not sure it is the exact config but it should be very close:
https://storage.googleapis.com/boundarydevices.com/20160728-buildroot-nitrogen6x-qt5.6.config
Regards,
Gary
kernel is not 4.1.15, but thx anyway