==Cross compiler==

Install cross compiler:
 tar -xf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz -C /opt

Or you can use your own gcc-arm-linux-gnueabihf.

Extract uboot archive
 tar -xf u-boot-imx-actia-tbox.tar.xz

Change directory into uboot directory.

==Uboot==

Compile uboot
 ./build-imx6solo.sh

Uboot image: u-boot-dtb.imx

Update uboot into SD card: (Replace sdX into your real device file)
 sudo dd if=u-boot-dtb.imx of=/dev/sdX bs=512 seek=2

==Kernel==

Extract kernel archive:
 tar -xf linux-imx-actia-tbox-4.9.11.tar.xz

Change directory into kernel directory.

Copy defconfig:
 cp imx_actia_tbox_defconfig .config

If you want to change kernel configuration, run:
 ./config.sh

Compile kernel:
 ./build-imx6dl.sh

Kernel image and modules will be copied into deploy/imx6dl.

Kernel image: zImage
kernel device tree: imx6dl-sabresd-actia-tbox.dtb
Kernel modules archive: modules.tar.gz

Update kernel files into SD card: (Replace sdX into your real device file)

 mkdir -p /tmp/disk1 /tmp/disk2
 sudo mount /dev/sdX1 /tmp/disk1
 sudo mount /dev/sdX2 /tmp/disk2
 sudo cp deploy/imx6dl/zImage /tmp/disk1
 sudo cp deploy/imx6dl/imx6dl-sabresd-actia-tbox.dtb /tmp/disk1/imx6dl-sabresd.dtb
 sudo cp deploy/imx6dl/modules.tar.gz /tmp/disk1/modules.tar.gz
 sudo umount /dev/sdX1
 sudo tar -xf deploy/imx6dl/modules.tar.gz -C /tmp/disk2
 sudo umount /dev/sdX2

==Demo==
Login:
User: ubuntu

Pass: temppwd

Run camera test:
 ./camtest.sh 0 #(0~5)

PC part (Linux): 
 gst-launch-1.0 udpsrc address=224.0.0.1 port=4001 caps="application/x-rtp" ! rtph264depay ! avdec_h264 ! xvimagesink