From Variscite Wiki
VAR-SOM-MX6 - Ubuntu Linaro


Variscite supports its VAR-SOM-MX6 with Linaro Ubuntu (11.10) distribution.
Your Ubuntu folder on your CD /  FTP contains ready-to-run pre-built image which contain:Kernel, U-boot, and Ubuntu File system.

Variscite recommends the use of Ultra (class 10 and above) microSD for optimial performance.


Plug your SD card to your Linux machine, run dmesg and see which device is added (i.e. /dev/sdX). Copy the Ubuntu image to your SD card:

$ gunzip mx6-som-ubuntu-oneric-sd.vx.img.gz
$ dd if=mx6-som-ubuntu-oneric-sd.vx.img of=/dev/sdX bs=4M


The default u-boot environment settings will load the on-som Nand flash based image.

In order to boot from SD-Card:

  1. use our standard nand-recovery image. Boot into it and flash Yocto by running "" after boot.
  2. reboot the system (nand). Hit space bar to go into u-boot prompt.
  3. change the environment variables:
U-Boot > setenv bootcmd run bootcmd_mmc
U-Boot > saveenv

This method will use the u-boot from nand while booting kernel and using fileystem from the sd-card.

The default username and password are:

Username : linaro

password: linaro

Build Kernel and U-Boot from Sources


Get sources:

$ mkdir ~/VAR-MX6-ub/
$ cd ~/VAR-MX6-ub/
$ git clone git://
$ cd linux-2.6-imx/
$ git checkout -b rel_imx_3.0.35_4.1.0-var17-release remotes/origin/rel_imx_3.0.35_4.1.0-var17-release
get var_som_mx6_ubuntu_defconfig from the ftp site and relpace arch/arm/configs/var_som_mx6_ubuntu_defconfig with it.

Build the kernel:

$ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- mrproper
$ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- var_som_mx6_ubuntu_defconfig
$ make -j7 ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- uImage
$ make -j7 ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- modules
/dev/mmcblk0 is used here in all SD card commands. You need to use dmesg and change it to your device name.

Flash the kernel to the sd-card and transfer the modules:

$ sudo dd if=arch/arm/boot/uImage of=/dev/mmcblk0 bs=512 seek=2048 conv=fsync;sync
$ sudo make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- modules_install INSTALL_MOD_PATH=/media/VAR_MX6_UB4.1/


Get sources:

$ cd ~/VAR-MX6-ub/
$ git clone git://
$ cd uboot-imx/
$ git checkout -b imx_v2009.08_3.0.35_4.1.0-var15 remotes/origin/imx_v2009.08_3.0.35_4.1.0-var15

Build u-boot:

$ make -j6 ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- mrproper
$ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- mx6q_var_som_config
$ make -j6 ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi-

Flash u-boot to the sd-card:

$ sudo dd if=u-boot.bin of=/dev/mmcblk0 bs=512 seek=2 skip=2 conv=fsync; sync

Un mount the sdcard. Press eject first.