Qt on the BeagleBoard / BeagleBoard-xM

Hardware Specs

BeagleBoardBeagleBoard-xM
ArchitectureARMv7
RAM256MB512MB
OpenGLOpenGL ES 2.0
Qt 5.0 (eglfs/QPA)with OpenGL ES 2.0

Device Information / Hardware

The BeagleBoard is an OMAP3530 platform for Open Source Community.

Software provided by Texas Instruments

Texas Instruments provides the Linux Digital Video Software Development Kit (DVSDK). You can download it from [http://www.ti.com/tool/linuxdvsdk-omap3530] (registration required).

Or you can use Ångström [angstrom-distribution.org]. If you would like to build Ångström environment by yourself, you should build “<tt>libgles-omap3</tt>” package for OpenGL ES. If you would like to download the SDK from online builder ( Narcissus [narcissus.angstrom-distribution.org]), you should check “<tt>PowerVR SGX drivers for OMAP3</tt>”.

Preparing environments for Qt

Both of Building Ångström and Using Narcissus are tested on March 20, 2012 on Ubuntu 10.04.

Building Ångström

Please see also Building Ångström [angstrom-distribution.org].

  1. $ git clone git://github.com/Angstrom-distribution/setup-scripts.git
  2. $ cd setup-scripts
  3. $ MACHINEh1.beagleboard ./oebb.sh config beagleboard
  4. $ MACHINEh1.beagleboard ./oebb.sh update
  5. $ MACHINEh1.beagleboard ./oebb.sh bitbake virtual/kernel
  6. $ MACHINEh1.beagleboard ./oebb.sh bitbake console-image
  7. $ MACHINEh1.beagleboard ./oebb.sh bitbake libgles-omap3

PATH of toolchain is build/tmp-angstrom_2010_x-eglibc/sysroots/i686-linux/usr/bin/armv7a-angstrom-linux-gnueabi

PATH of sysroot is build/tmp-angstrom_2010_x-eglibc/sysroots/beagleboard/

It’s tested using below repositories.

Tested Repositories

Repository Branch:Revision
setup-scripts master:4ac1e500a77eeb418195d11a1d3740e21190c291
meta-angstrom master:51ba0dd081af1d7de56ffc9fb318044bc3c7c47e
meta-initramfs master:5b3974ed483418b206678acca7414b81bcf749a7
meta-opie master:efa3892b20a4ef80274e56e5633ebd62c16f9731
meta-java master:e90110b85733f9cdda26861bc29588257173c11c
meta-ti master:ed29286f2b16b48206ba788f790c1082c7724bb0
meta-efikamx master:2c09a3a780b23448e8a6ca964256ff7f5ccba65d
meta-nslu2 master:3d9fc951b05b4df476374b6fc3085ebac7f293ee
meta-palm master:947bcbbb3214fdc5f51962a84587600933a75be6
meta-handheld master:fa1e6dcb524eb7ed29a6cd971a150d35c31e96e7
meta-n450 master:d9132cc66316be45f44beeea6eba734bb3ab337d
meta master:d7b8c247227f3cc82f92292407f548927e9fde78

Using Narcissus(Online Builder)

**Base settings:
    Select the machine you want to build your rootfs image for : “beagleboard”
    Choose the complexity of the options below. : “advanced”
**Advanced settings:
    Select the release you want to base your rootfs image on. : “2011.03”
    SDK type: “full SDK for generated filesystem”
    User environment selection: “Console only”
**Additional packages selection:
    Texas Instruments OMAP3x/AM3x family:
    • Bootloader Files (x-load/u-boot/scripts)
    • PowerVR SGX drivers for OMAP3
  • Click “Build me!”
  • Download the SDK and rootfs archives.
  • extract SDK archive to /

  1. $ tar zxvf Angstrom-2012.03-narcissus-beagleboard-i686-random-f386277f-image-sdk.tar.gz -C /

PATH of toolchain is /usr/local/angstrom/arm/bin/

PATH of sysroot is /usr/local/angstrom/arm/

Qt5 eglfs/QPA

Preparing mkspecs

  1. $ git clone git://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs.git
  2. $ cp -r qt-platform-mkspecs/5.0/linux-omap3430-g++/ <qtbase>/mkspecs/

Adjust the qmake.conf of the linux-omap3430-g++ mkspec to fit your crosscompiler toolchain and sysroot.

Building Qt

This will build everything in-source, if you want to build out-of-source execute configure and qmake for additional modules from within a separate empty folder.

qtbase

  1. $ cd <qtbase>
  2. $ ./configure -prefix <your prefix> \
  3.   -release -make libs -xplatform linux-omap3430-g++ \
  4.   -opengl es2 -no-xcb
  5. $ make install
  6. $ make install -C src/plugins/platforms/eglfs

qtjsbackend

  1. $ <your prefix>/bin/qmake
  2. $ make
  3. $ make install

qtdeclarative

  1. $ <your prefix>/bin/qmake
  2. $ make
  3. $ make install

Categories: