DART Ubuntu GS
<startFeed/>
Introduction
Below instructions corresponds to Ubuntu_12.04-DART.VAR10 release.
Variscite supports its OMAP4 DART4460 with TI Ubuntu Linux kernel and Ubuntu Precise (12.04) distribution.
The Linux kernel provides support for all on-board peripherals.
Your Ubuntu folder in the FTP contains ready-to-run pre-built image which contain:Kernel, U-boot, Xloader and Ubuntu File system.
You must use Ubuntu 12.04LTS workstation as your build system.
Install Ubuntu on eMMC
OMAP4 DART board includes an on-SOM 4G eMMC which is the default boot device.
To burn the eMMC for the first time you need to boot from the external SD card and burn the eMMC from Linux shell.
To install Ubuntu on external SD card plug microSD card to your Linux host machine, run dmesg and see what device is added (for example: /dev/sdX, /dev/mmcblk0).
You can identify your device name by using dmesg and looking at the end of the system log.
Install the pre-build Ubuntu image on the SD card.
$ gunzip Ubuntu_12.04_core-DART-BOARD.VAR10_2.img.gz $ dd if=Ubuntu_12.04_core-DART-BOARD.VAR10_2.img of=/dev/sdX bs=128k
Plug the microSD to DART MMC port, setup SW4 (on DART carrier board) to boot from SD and power on the DART board.
This will boot Ubuntu from microSD card.
login: username: root, no password
To burn eMMC
$ umount /dev/mmcblk0p2 /dev/mmcblk0p1 $ sudo /root/eMMC/emmc-flasher.sh
Setup SW4 to boot from eMMC and power on the DART board. Now it will boot Ubuntu from internal eMMC.
Build Ubuntu Kernel from sources
To retrieving the kernel sources use git:
$ git clone git://dev.omapzoom.org/pub/scm/integration/kernel-ubuntu.git $ cd kernel-ubuntu $ git checkout -b working d8a13c28e3ddc1f7cb098823b883dbc6a02bcb43
To apply Variscite kernel patches:
$ git apply omap4dart-ubuntu-12.04.TI_GLP168-VAR10-armhf-omap4.patch $ git apply 0001-Fix-GPIO-LEDs.patch
Install tools:
$ sudo apt-get install gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf $ sudo apt-get build-dep linux-image-$(uname -r) $ sudo apt-get install dpkg-dev kernel-wedge
Set tools enviroment variables:
$ export ARCH=arm $ export CROSS_COMPILE=arm-linux-gnueabihf-
Make changes to the kernel (optional):
$ fakeroot debian/rules clean $ fakeroot debian/rules editconfigs
Build the kernel and generate a kernel package:
$ fakeroot debian/rules clean $ do_tools=false skipabi=true skipmodule=true dpkg-buildpackage -B -aarmhf -uc -us
You should have in the directory above the kernel-ubuntu 3 .deb pacakges.
For example:
linux-headers-3.4.0-1489_3.4.0-1489.28_armhf.deb
linux-headers-3.4.0-1489-omap4_3.4.0-1489.28_armhf.deb
linux-image-3.4.0-1489-omap4_3.4.0-1489.28_armhf.deb
Build U-Boot from sources
To retrieve the U-Boot sources use git:
$ git clone git://git.linaro.org/boot/u-boot-linaro-stable.git $ cd u-boot-linaro-stable $ git checkout -b working 5b752a1e0528aa29f5bd4cde0905c8b604c56255
To apply Variscite U-Boot patch:
git apply omap4dart-u-boot-linaro-VAR10.patch
To build U-Boot sources(OMAP4 DART EVM):
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap4_dart_evm # boot from eMMC $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap4_dart_evm_sd # boot from external SD card
To build U-Boot sources(OMAP4 DART Board):
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap4_dart_board # boot from eMMC $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap4_dart_board_sd # boot from external SD card
Apply your kernel
From device Linux shell. Make sure your are connected to the network and copy .deb 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-1489.28_armhf.deb
Reboot your target to get new kernel changes.
Install U-Boot on eMMC
Flash images to the eMMC device:
$ dd if=MLO of=/dev/mmcblk0 seek=131072 bs=1 $ dd if=u-boot.img of=/dev/mmcblk0 seek=393216 bs=1
Capture video from CSI cameras
From device Linux shell, to capture video from CSI1 camera type:
$ X & $ ./cap_cam1.sh
To capture video from CSI2 camera type:
$ X & $ ./cap_cam2.sh
<endFeed/>