July 10, 2012

i.MX6 builds

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 






Comments 68

  1. Marko

    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.

    1. Post

      Hi Marko,

      All of them except the Linaro builds have some level of support:

      • Android uses it to accelerate the U/I and video playback
      • Timesys and LTIB images have Vivante samples installed
      • The Freescale Ubuntu image has the drivers and libraries installed, but not used.

      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.

  2. mark3smith

    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.

    1. Post

      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.

  3. Jeff Collins

    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
    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

  4. Post

    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?

    1. Jeff

      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.

  5. Richard


    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.

    1. Post

      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.

  6. Subodh

    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.

  7. Bob

    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

  8. Pingback: ¿Hay vida más allá de Raspberry Pi? Sí y aquí te mostramos varias alternativas [Comparativa] - The Inquirer ES

    1. Post
  9. synthnassizer

    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.

    1. Post
  10. Seth

    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?



    1. Post
      1. Seth

        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)
        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:  Mask:
                  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)
        1. Post

          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.

          auto eth0

          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.

          1. Seth

            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 netmask broadcast
            route add default gw

            plus I entered the following line in /etc/rc.local with the routing information

            route add default gw

            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.


      2. Seth


        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?



  11. JohnWilkes


    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?



    1. Post

      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.

      1. JohnWilkes

        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!).



        1. Post
        2. Post

          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:

          MX6QSABRELITE U-Boot > run upgradeu
          ... counts down from 5, then programs
          ... hit the reset button when prompted
          U-Boot >
        3. Post
  12. phil.bergeron-burns

    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 ?

    1. Post

      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.

  13. phil.bergeron-burns


    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?


    1. Post
      1. Phil

        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?

        1. Post

          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.

    2. Post
  14. Jose R Fernandez

    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,

  15. hhgaan

    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!

    1. Post
  16. Roger

    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.

  17. Pingback: Rivales de la Raspberry: Sabre LITE i.MX6 | Raspberry para torpes

  18. Bill Yang


    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.


  19. Alejandro


    is there any problem with the website? I get the EULA page but nothing more when trying to download an image. Thanks!

    1. ericn

      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.

  20. phuoc

    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,

  21. phuoc

    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

  22. ssinfod


    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 ?

  23. Dilip Kumar

    Is there an image available for download for the BD-SL-i.MX6 which uses the 3.14.28 BSP from freescale?

  24. Shrikant Bobade


    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?


    1. Gary Bisson

      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).


  25. ajava

    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?


    1. Laci Tele

      Hi Ajava,

      I have just uploaded such an image for you.



      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.


  26. Laza

    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?

  27. ddraviteja

    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

  28. lakshmanraop


    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?


    1. Gary Bisson


      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


      1. lakshmanraop

        Hi Gary,

        I didn’t find any environment settings for fb_lvds, hannstar7 to setenv or saveenv. My U-boot environment consists of
        => pri
        bootcmd=for mmcdev in ${mmcdevs}; do mmc dev ${mmcdev}; if mmc rescan; then if run loadzimage; then run mmcboot; fi; fi; done; run netboot;
        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?


          1. lakshmanraop

            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?


Leave a Reply