VAR-SOM-OM44 Ubuntu RN

From Variscite Wiki
VAR-SOM-OM44 - Ubuntu Precise

1 Introduction

Below instructions corresponds to ubuntu-12.04.TI_GLP16X-VARX release.

Variscite supports its VAR-SOM-OM44 VAR-SOM-OM44 with TI Ubuntu Linux kernel and Ubuntu Precise (12.04) distribution.

The Linux kernel provides support for all on-board peripherals.

Your Ubuntu folder on your CD /  FTP contains ready-to-run pre-built image which contain:Kernel, U-boot, Xloader and Ubuntu File system.

Variscite recommends the use of Ultra (generation 6 and above) microSD for optimial performance

2 Installation

Plug your SD card to your Linux machine, run dmesg and see what device is added (i.e. /dev/sdX)

$ gunzip ubuntu-12.04.TI_GLP16X-VARX.img.gz
$ dd if=ubuntu-12.04.TI_GLP16X-VARX.img of=/dev/sdX bs=4M

3 Boot

The Ubuntu pre-built image will boot automaticlly on power up. 

The boot parameters are setup by uEnv.txt file located at the boot partition of the SD card.

Default uEnv.txt file:

setvarargs=setenv bootargs console=ttyO2,115200n8 mem=1G@0x80000000 root=/dev/mmcblk0p2 ro elevator=noop fixrtc eth.ks8851=${ethaddr} eth.smsc=${usbethaddr} phy.smsc.gb_enable=false
loadvarimages=fatload mmc 0:1 0x80000000 uImage.var; fatload mmc 0:1 0x81600000 uInitrd.var
uenvcmd=run loadvarimages; run setvarargs; bootm 0x80000000 0x81600000
  • phy.smsc.gb_enable=[false|true] - Enable/Disable Gigabit mode for smsc7500 GB Ethernet port
  • eth.ks8851=<mac address> - ks8851 10/100 Ethernet port mac address, read from 'preEnv.txt' file (ethaddr).
  • eth.smsc=<mac address> - smsc7500 GB Ethernet port mac address, read from 'preEnv.txt' file (usbethaddr).

System login:

username: variscite

password: password

4 Ubuntu Kernel Sources

To retrieving the kernel sources use git:

$ git clone git://
$ cd kernel-ubuntu 
$ git checkout -b working d8a13c28e3ddc1f7cb098823b883dbc6a02bcb43

To apply Variscite kernel patch:

$ git apply var-som-om44-ubuntu-12.04.TI_GLP16X-VARX-armhf-omap4.patch

Further explanation on building the kernel and generate a kernel package can be found here.

Note: After compiling and installing new debian packages, rename uImage and uInitrd in /dev/sdX1 to uImage.var and uInitrd.var

5 U-Boot Sources

To retrieving the U-Boot sources use git:

$ git clone git://
$ cd u-boot-linaro-stable
$ git checkout -b working 5b752a1e0528aa29f5bd4cde0905c8b604c56255

To apply Variscite U-Boot patch:

git apply var-som-om44-u-boot-linaro-VARX.patch

To build U-Boot sources:

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap4_var_som

To install U-Boot and MLO on boot partition of the SD card:

$ sudo mount /dev/sdbX1 /mnt 
$ cp MLO u-boot.bin /mnt
$ sudo umount /dev/sdbX1

6 Apply your kernel

On the target.

make sure your are connected to the network with lan or wireless lan. Use ifconfig for that.
Copy files from your build system:

$ cd ~/var-som-om44.deb/
$ scp <yourname>@<your build system ip>:<your build folder>/*.deb ./

Unmount your boot partition

sudo umount /dev/mmcblk0p1

Install Debian pacakges:

sudo dpkg -i *3.4.0-<release_version>_armhf.deb

Rename the images name

$ sudo mv /media/boot/uInitrd /media/boot/uInitrd.var
$ sudo mv /media/boot/uImage /media/boot/uImage.var
$ sync

Reboot your target to get new kernel changes.

7 Capacitive Touch Panel support

To enable Capacitive touch panel in kernel image, modify debian.ti-omap4/config/config.common.ubuntu :


8 OTG as Host

To initiate the OTG port at host mode you need to "insmod" some USB gadget module first. for example:

$ sudo modprobe g_printer