OMAP Angstrom

Overview
Ångström is versatile & scalable linux distribution and is based on OpenEmbedded.

Ångström is part of the Openembedded framework and is available as a selected distro version when building the complete file system. Currently Zoom2 machine config is available in Ångström's unstable environment. Refer to www.cgit.openembedded.org to review current repository.

References on OE, Angstrom, Bitbake etc can be found in Technical References page

Building Angstrom using Openembedded
Angstrom follows the same procedure as Openembedded. The only difference is selecting Angstrom as the distro and selecting omapzoom2 as machine. Both of these variables can be set within the "local.conf".

For more information regarding building instructions refer to www.openembedded.org

Openembedded Ubuntu system requirements
sudo apt-get install help2man gawk texi2html texinfo build-essential unzip diffstat subversion texinfo cvs chrpath

Ubuntu requires /bin/sh to point to /bin/bash rather than /bin/dash. Run the command below and select "No" from the menu. sudo dpkg-reconfigure dash

Note: Around 35GB of hard disk space is required to build complete OE

Troubleshooting Openembedded compilation
***** DO NOT run OE as root/sudoer user *****

While compiling Openembedded you might run into following issues;

1. import types, sets ERROR: no files to build. ERROR: Nothing PROVIDES 'nano'.

The BBFILES in local.conf or env BBPATH might be set wrong. BBFILES = "/stuff/openembedded/recipes/*/*.bb"

BBPATH = /stuff/build:/stuff/openembedded

2. /proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root). sudo -i echo 0 >/proc/sys/vm/mmap_min_addr

3. Using dash as /bin/sh causes various subtle build problems, please use bash instead. sudo dpkg-reconfigure bash

or

sudo apt-get remove dash

Build Angstrom using narcissus
You can build Angstrom for Zoom2 in minutes using the Online Image Builder available at http://www.angstrom-distribution.org/narcissus/

Note: It is recommended to build Angstrom for omapzoom2 platform through Openembedded framework.

Select the following items:
 * machine=omapzoom2
 * release=unstable
 * other options for the file system
 * X11
 * firefox
 * dev tools
 * etc...

Building kernel, uboot, and xloader

 * Refer to Bootloader Project for information on building uboot and xloader.


 * Refer to Building Linux Kernel for building Linux kernel ti-2.6.29-omap3. Refer to  Building Linux OMAP Kernel for building Linux OMAP Kernel.

Note: CONFIG_NEON has to be enabled in the Zoom2 config at the kernel for Angstrom to work

Zoom2 as Netbook/Desktop
For an user experience of the full blown Zoom2 platform with USB keyboard and mouse with HDMI, please view this Video playing an MPEG4 clip in the TV using GNOME media player from Angstrom.

USB Keyboard and Mouse
USB Keyboard and Mouse can be enabled on Angstrom by adding these features in the Zoom2 kernel config. Zoom2 has USB OTG support and the USB keyboard and mouse are used on gadget Zero (g_zero). There are connected to Zoom2 through a self powered USB hub connected to the USB OTG port.

This has been tested on the LO kernel from the TI sync tree.

To enable these features, please follow these intructions.

HDMI on Angstrom
Zoom2 provides a Netbook/Desktop like experience with HDMI enabled on it. This helps explore the capabilities of the Angstrom filesytem on a bigger display.

HDMI is enabled in the kernel and the display can be switched between LCD and HDMI. Intructions to enable and use HDMI are here.

This has been validated on the LO kernel from TI sync tree.

There is one limitation on this implementation that the display is not full screen in the TV while switching from LCD. This is being discussed with the Zoom2 and Angstrom communities for a fix. This is work in progress...

Graphics SDK
TI's Mobile Game Developer portal provides access to OMAP Graphics SDK's. The Graphics SDK typically have pre-built binaries for various platforms and example applications for software developers to utilize the OpenGLES 1.x, 2.x & OpenVG API's. Opensourced kernel drivers may be included in the package. There are several OMAP3430 SDK's supporting OMAP Zoom, Zoom2 & SDP platforms.

There are currently several ways how to get accelerated graphics working:
 * get the SDK, use the kernel + modules + userspace binaries provided with the SDK
 * get the SDK, build everything yourself (except for the userspace binary-only libs)
 * get the SDK, build with OE
 * get packages from the Angstrom feed
 * get an image that already includes all the OGLES stuff from narcissus

Obtaining the Graphics SDK from TI
$ chmod +x OMAP34xx_GFX_SDK_K2.6.27_Zoom2-1.4.14.2514.bin $ ./OMAP34xx_GFX_SDK_K2.6.27_Zoom2-1.4.14.2514.bin Read the license terms and accept them to install the graphics SDK on to your system. After successful installation you will get a directory with name OMAP34xx_GFX_SDK_Zoom2 in a given path. Refer the Readme.txt file in this package for using the package.
 * Send an email to gamingonomap@list.ti.com requesting access to the OMAP – Mobile Gaming extranet
 * You should get a mail as a response to your request. Follow instructions in the mail to register at TI extranet site
 * Go to [OMAP Gaming] and log in with your newly created credentials
 * Download the file named: OMAP34xx_GFX_SDK_K2627_Zoom2_v141425_20091022.zip before that you need to accept the licensing terms
 * Copy to Linux PC, after unzipping the package you should get Linux installer with the file name OMAP34xx_GFX_SDK_K2.6.27_Zoom2-1.4.14.2514.bin
 * You may need to give execute permission with below command
 * Now run this installer

Using the binaries from the SDK
Once a filesystem is ready, either by building it from Openembedded or from downloading using narcissus, make the following changes to the environment:


 * Edit "/etc/inittab" to get debug terminal
 * change ttyS3 to ttyS0 (i.e S:2345:respawn:/sbin/getty 115200 ttyS0)
 * save changes

$ cd ../OMAP34xx_GFX_SDK_Zoom2 $ export DISCIMAGE= $ ./build_SDK.sh --install libs $ ./build_SDK.sh --install demo $ ./build_SDK.sh --install course All Demos and Courses will be copied to target file system's "/usr/local/bin"
 * Change directory to installed SDK package
 * Set the variable DISCIMAGE to the path of the target file system which is us   ed by board.
 * "build_SDK.sh" script in the SDK directory can be used to install the kernel drivers, libraries and application binaries to target file system.
 * Use the below cmd to install kernel modules and libraries in target file system.
 * Use the below cmd to install the Demos from the SDK to target file system.
 * Use the below cmd to install the course from the SDK to target file system.

Note: If filesystem was created using the narcissus progam, libstdc++.so.6 will be missing within the "/lib" directory of the target filesystem. This *.so file is needed to run some of the demos provided withing the SDK package. Some but not all demos will work unless this in included in the target filesystem.

To include this a full build must be done. Once a full build is completed using openembedded, perform the following:

$ cd /tmp/cross/armv7a/arm-angstrom-linux gnueabi/lib/ $ cp libstdc++.so.6 /home///lib

Alternatively, if your target device has internet connectivity and there is an angstrom feed for it (as is the case with Zoom2), just issue:

$ opkg install libstdc++6

(you might need "opkg update" prior to this)

Booting and running apps
# /etc/init.d/rc.pvr start Note: You might have to do a "depmod -a" after the first boot to generate module dependencies, so that the kernel module is loaded correctly by rc.pvr.
 * Refer to Zoom Flashing section for information on how to install the filesystem on the zoom2 device.
 * The driver modules are built against Linux kernel-2.6.27. These drivers may not load with the other kernel. So use the kernel image from the package or if if you want to build drivers for your kernel refer "Building kernel modules" section.
 * Install the kernel drivers and libraries with above procedure.
 * Now power on the board and load the drivers by running following command at board linux prompt

# cd /usr/local/bin # ./gles2test1 1000 By this command you should be able to see the two rotating triangle on the LCD screen.
 * To test the sample graphics applications

# cd /usr/local/bin/Demos # ./OGLESChameleonMan -quitafterframe=1000 Runs application for 1000 frames
 * To test the graphics apps from demos

# cd /usr/local/bin/Course # ./OGLES2AlphaTest -quitaftertime=10 Runs application for 10 seconds
 * To test graphics apps from course

$ /etc/init.d/rc.pvr stop
 * To stop the SGX driver


 * For more information refer to "PowerVR SDK.Release Notes" located within the GFX package.

Building the SDK on your own
(This was tested with OMAP34xx_GFX_SDK_K2627_Zoom2_20090817.zip.)

To build the modules and demos, you have to have a tree with the appropriate kernel build first, for details see. You might want to use two different toolchains during the build -- one for the kernel and the kernel modules (2.6.27 doesn't compile with GCC 4.4.0), another for the userspace components (the SDK demos need libstdc++, but the one included in CSL 2008q3 toolchain is incompatible with current Angstrom libstdc++). That should be ok, as long as the C runtime of your toolchain/distro is compatible with that the prebuild SDK userspace binaries expect (the SDK includes binary-only dynamic libraries).

The SDK build scripts unfortunately don't always honour CROSS_COMPILE environment variable and use hardcoded CSL-like arm-none-linux-gnueabi- prefix. You can fix that with fix-sdk-cross-compile.sh.

You should do things in this order:
 * 1) Set up environment for the toolchain you want to use for the kernel part: export CROSS_COMPILE=your-toolchain-prefix- and update PATH if your toolchain lives off-path.
 * 2) Build kernel (make uImage && make modules) -- more info in
 * 3) Pick a dir for your root fs: export DISCIMAGE=/blah/rootfs; mkdir -p $DISCIMAGE (it can be yet unpopulated)
 * 4) Install kernel modules to rootfs: make INSTALL_MOD_PATH=$DISCIMAGE modules_install
 * 5) Extract SDK, cd OMAP34xx_GFX_SDK_Zoom2
 * 6) Fix SDK file permissions, links. etc: ./build_SDK.sh --set
 * 7) Fix broken cross-compilation: /path/to/fix-sdk-cross-compile.sh.
 * 8) Setup SDK environment: export KERNELDIR=/path/to/kernel/you/just/built (You also need DISCIMAGE as mentioned above.)
 * 9) To build the kernel modules: ./build_SDK.sh --kernel
 * 10) To install the modules and the basic userspace stuff: ./build_SDK.sh --install libs
 * 11) Optionally:
 * 12) If you want/have to use a different toolchain for userspace, adapt CROSS_COMPILE and PATH as needed.
 * 13) To build and install demos: ./build_SDK.sh --build demo && ./build_SDK.sh --install demo
 * 14) To build and install course: ./build_SDK.sh --build course && ./build_SDK.sh --install course

Building Kernel Modules
Some warnings first:
 * The kernel modules are quite sensitive to kernel changes, so without patching them you won't be able to build them for any recent kernel and you have to stick to some old one. This may depend on the version of the PVR SDK.
 * There were several versions of the Graphics SDK for Zoom2 released, including: OMAP34xx_GFX_SDK_K2627_Zoom2_20090817.zip, OMAP34xx_GFX_SDK_K2627_Zoom2_v141425_20091126.zip
 * To get a kernel with which the PVR Modules compile nicely (tested with OMAP34xx_GFX_SDK_K2627_Zoom2_v141425_20091126.zip):
 * use the tree git://git.omapzoom.org/repo/omapkernel.git
 * use revision 571770a16d95a0eaae9740ee0c58246700b345c7 (you could use the branch ti-2.6.27-omap3, but that sufferes from the white screen bug that was fixed only in 571770a16d95a0eaae9740ee0c58246700b345c7)
 * there is some info on compiling the PVR modules for Maemo; the modules compile and load fine, but if you try to use it, you just get EGL_BAD_ALLOC Maybe a newer userspace is needed (?)
 * the dated kernel seems to be sensitive to GCC version you use -- with 4.4.0 I got things like "pvrsrvkm: unknown relocation: 43", so better stick to the version that the SDK recommends (Readme.txt) - that is arm-2008q3 release from CodeSourcery for OMAP34xx_GFX_SDK_K2627_Zoom2_v141425_20091126.zip (2008q3-72 worked ok for me)

$ cd OMAP34xx_GFX_SDK_Zoom2
 * Change directory to SDK package
 * To build the graphics kernel modules you need to have a 2.6.27 kernel built for Zoom2 board. Refer to Building Linux Kernel for building Linux kernel.

$ export KERNELDIR=/path/to/prebuilt/kernel $ ./build_SDK.sh --kernel After successful build the kernel modules (*.ko) files will be copied to "bin/binary_omap3430_linux_release"
 * Set below environment variables
 * Corss tool path (Use tool chain "arm-2008q3" from Codesourcery)
 * Set path for prebuilt kernel source
 * Use the "build_SDK.sh" script to build the drives
 * Follow the installation procedure for using the new built drivers.

Using packages from the feed
There are already build packages that add accelerated OGLES support included in the Angstrom Zoom2 feed. You need to install the following packages:
 * omap3-sgx-modules (kernel modules; you have to use corresponding Angstrom kernel for them to work, obviously)
 * libgles-omap3 (basic userspace: libraries, init script)

Furthermore, you can install:
 * libgles-omap3-rawdemos (non-X11 demos)
 * libgles-omap3-x11demos (X11 demos)
 * quake3-pandora-gles (not tested)
 * ti-julius-demo (not tested)

for example:
 * 1) opkg update && opkg install omap3-sgx-modules libgles-omap3 libgles-omap3-rawdemos libgles-omap3-x11demos

To get a list of what is included in a package (e.g. to see what demos are there), after installing the package do:
 * 1) opkg files packagename

Enabling TI Hardware Accelerated Codecs
TI OpenMAX IL is released as open source (under LGPLv2) along with some DSP codecs are available under the OpenMax Project. v0.3.5 has support for MPEG-4 AAC and MPEG-4 decoders.

Extract and Install
This wiki assumes that you have unpacked, configured, and compiled the busybox file system, alsa, the kernel, and dspbrige. All of these are available on omappedia.org. You should follow the respective instructions to build each piece. Again, at this point, these pieces should be built and functioning.

Untar the main package & change to tiopenmax directory. You will find "TI-OMX-Sample-Firmware-0.X-Linux-x86-Install" in /lib/dsp. Run that installer by providing the path to the root of this package when asked for the destination directory. After installing, you should see files such as: ./lib/dsp/baseimage.dof ./lib/dsp/mp4vdec_sn.dll64P ..

Building
You need to set the following environment variables in order to succesfully build: PREFIX          - Where the output goes CROSS           - The cross compiler prefix (eg arm-none-linux-gnueabi-) CROSS_COMPILER  - same as above TARGETDIR       - should be $PREFIX/rootfs OMXTESTOUTPUT   - $PREFIX/rootfs/omx BRIDGEINCLUDEDIR - Where your Bridge headers are (eg. dspbridge_mpu_api/mpu_api/inc) BRIDGELIBDIR    - Where you put your DSP libs (e.g. $TARGETDIR/rootfs/lib) Change directory to 'tiopenmax' directory and run the following make commands: make avplay.clobber avplay This builds omx video decoder, display post processor, omx aac decoder & AV Play test application. Similarly: make video_display.clobber video_display make image_display.clobber image_display

Check for the following files in your rootfs. If they are not present, they are included in the package for you.

/dspbridge cexec.out This application will load the DSP base image.

/share Too many files to list. just copy the share tree from the location where you unpacked your tarball.

/lib libasound.so.2.0.0 libasound.so.2 (softlink to the above) libdl-2.5.so libdl.so.2 (soflink to the above)

Testing
To run any test app, this step must be done first:

cd ./dspbridge (This step need not be done if DSPBridge is built in to the kernel) ./uninstall_bridge ./install_bridge mdev -s ./cexec.out /lib/dsp/baseimage.dof ../bin/OMXAudioManager & ../bin/OMXResourceManager & echo -n 0 > /sys/power/enable_mpucoreoff echo 0 > /sys/power/fb_timeout_value

These above OMX components could be used with the GStreamer plug-ins (using this library).

Please note that these steps haven't been validated yet on Zoom2 using L-O kernel as currently Zoom2 support is being added to the L-O sync kernel. 2.6.27 O-Z kernel could not be used successfully on Angstrom due to an Xserver crash that was observed.

Build Angstrom
Build Angstrom for Zoom OMAP 36xx in minutes using the Online Image Builder available at http://www.angstrom-distribution.org/narcissus/

For now, please choose machine as omapzoom2 and the same works for OMAP36xx. The changes for 36xx will be pushed upstream.

Note: It is recommended to build Angstrom for omapzoom2 platform through Openembedded framework.

Select the following items:
 * machine=omapzoom2
 * release=unstable
 * other options for the file system
 * X11
 * Gnome (as the structure is same as Poky on which TI release has been tested)
 * Midori, Firefox
 * dev tools
 * etc...

Zoom 36xx Env Setup
Build Bootloader (u-boot and x-loader) and Kernel for Zoom 36xx following instructions in Omappedia.

Below are the Git Commit Ids from L23.i3.3 community release that have been validated.

Tested configuration on Zoom 36xx...

• U-Boot: git://git.omapzoom.org/repo/u-boot.git;branch=master;protocol=git Commit: ab45d2a787a9674bed30542139175d8e090e0749

• X-Loader: git://git.omapzoom.org/repo/x-loader.git;branch=master;protocol=git Commit: 251d92815500143aefdbe3b3558a0ce6daeaebdc

• Kernel: git://dev.omapzoom.org/pub/scm/integration/kernel-omap3.git;protocol=git;branch=L23.I3.3 Commit: 2e3c681c6228de2a3f8fbb0cfbc940e7ea825a09

Booting Angstrom
Angstrom on Zoom 36xx has been tested on SD boot. Copy bootloader and kernel to the Boot partition of the SD card. Angstrom file system built using Narcissus has to be copied to the secondary partition.

Once Angstrom loads, login as 'root'. Password is "no password" i.e. just press "Enter".

To log into Angstrom from the Zoom3 screen, a new user has to be created. Hence create a user at the hyper terminal.

$ adduser password

If you type the command cat /etc/passwrd, you should be able to see usr/ as a valid user.

Login using and on Zoom 36xx and Angstrom should load.

WLAN on Zoom 36xx
WLAN build based on community release L23.i3.3

L23.i3.3 WLAN firmware package is available through L23.i3.3 community release.

Download, Untar and click Install. This should provide the firmware file, Fw1273_CHIP.bin

* Copy Fw1273_CHIP.bin to $WLAN_ROOT/fw/Latest/

1. Clone the WLAN source from the link git://dev.omapzoom.org/pub/scm/vijay/wlan.git;protocol=git;branch=master

2. Copy firmware (Fw1273_CHIP.bin) to $WLAN_ROOT/platforms/os/linux.

3. cd $WLAN_ROOT/platforms/os/linux.

4. Setup the environment * export CROSS_COMPILE=arm-none-linux-gnueabi- * export ARCH=arm * export HOST_PLATFORM=zoom3 * export KERNEL_DIR=$KERNEL_ROOT

5. make BUILD_SUPPL=n

6. The built packages are tarred as zoom3Binaries.tar containing the following binaries * sdio.ko  * tiwlan_drv.ko   * wlan_cu * tiwlan_loader * tiwlan.ini

7. Create a "wlan" folder in the root of the Angstrom filesystem and copy the files listed above

8. To load WLAN drivers at startup...

Install WLAN script (to be added) into etc/init.d/wlan and create the soft links as shown below

e.g. sudo ln -s ../init.d/wlan K29Wlan

In etc/rc0.d directory create soft link K29Wlan pointing to ../init.d/wlan

In etc/rc1.d also same as above

In etc/rc2.d directory create soft link  S29Wlan  pointing to  ../init.d/wlan

In etc/rc3.d same as above

In etc/rc5.d directory create soft link S29Wlan pointing to   ../init.d/wlan

In etc/rc6.d directory create soft link K29Wlan  pointing to ../init.d/wlan

System boot ups with WLAN drivers installed

9. Test WLAN

By default, it is not connected to a wireless network. Wlan_Supplicant needs to be verified.

Start the WLAN-TI CLI to scan and connect to an AP

Once Angstrom loads and logged in as 'root', execute /wlan/wlan_cu to scan the available wireless networks.

- ./wlan_cu -b - / a s             --> scan for the AP's in the vicinity - / c b             --> List the AP's scanned thus far - c "name_of_AP" --> connect to one of the AP's listed above; e.g. c "WAC"


 * 1) ifdown tiwlan0
 * 2) ifup tiwlan0

This will enable TI WLAN and select ifupdown(wlan0) in the Network Manager Applet in the Angstrom UI. The wireless connection will be established.

Internet can be accessed via any exlorer, Midori or Firefox.

* ifconfig --> see all connections * ifdown --> turns off network driver * ifup -->turns on network drivers * e.g. interface=eth0, interface=tiwlan0
 * Commands

TI OMX with Angstrom on Zoom36x
TI OMX source and binaries are available as part of the L23.i3.3 community release that has been made on Poky. The same can be used with Angstrom. The below lists the supported features in the Community Release

MM Use Cases (DSP)and TI OMX Components
MPEG4/H263 Video Dec MPEG4/H263 Video Enc H264 Video Dec JPEG Dec JPEG Enc AAC Dec

The package containing DSP binaries and OMX Components can be obtained from the OpenMax project site for OMAP https://gforge.ti.com/gf/project/openmax/frs/ This package is referenced as RLS23.i3.3.

Angstrom Filesystem with Pre-built binaries
The release package also contains pre-built binaries that can be used directly with Angstrom file system.

Build / Add the various components to use TI OMX/DSP
 * Angstrom filesystem - Build the X11 Gnome Image using Narcissus Image Builder. The machine to be chosen is OMAPZoom2. The same file system also works for Zoom36x. But build the bootloader and kernel for Zoom36x to use on Zooom36x.
 * DSP bridge - Build the DSP bridge and samples following the instructions at http://omappedia.org/wiki/DSPBridge_Project
 * DSP bridge files can be copied from /usr/lib
 * libqos.so.2, libqos.so, libqos.a, libbridge.so.2, libbridge.so
 * DSP bridge samples can be copied from /dspbridge folder
 * TI OMX/DSP components - Untar the L23.i3.3 package
 * DSP Socketnodes - Obtain the DSP binaries from the TI OMX/DSP release package
 * Install "TI_Community_LO/DSPbinaries-3.09-Linux-x86-Install" and accept the license
 * DSP binaries (dll64P) and other files will be in "Binaries" folder in which it was installed
 * Move qosdyn_3430.dll64P to file system location /dspbinaries. The rest of the binary files need to be moved to /lib/dsp directory in the file system.
 * OMX binaries - OMX binaries can be taken from the reference package; OMX binaries can also be built using the recipes available
 * Untar the reference image(Poky file system) - TI_Community_LO/ti_references/binaries/images/omap-image-sato-zoom3-20100219145740.rootfs.tar.gz
 * Copy the OMX binaries (listed below) into the Angstrom file system under /usr/bin
 * AacDecoder_Test, OMXAudioManager, JpegTestCommon, JPEGEncoderTest_multiple, JPEGTestEnc_common, PostProcTest, VPPTest_common, OMXResourceManager, VidDecTest_common, VideoEncTest, OMXPolicyManager, policytable.tbl, armtime, perf, _perf.ini, PREF.awk, PERF_reader, PERF_test
 * Copy the libraries from /usr/lib of the reference image into the Angstrom file system at /usr/lib
 * libOMX.TI.Video.encoder.so, libOMX.TI.Video.Decoder.so, libOMX_ResourceManagerProxy.so, libRAM.so, libOMX.TI.VPP.so, libOMX.TI.PostProc.so, libPERFc.so, libLCML.so, libOMX.TI.JPEG.encoder.so, libOMX.TI.JPEG.decoder.so, libOMX_Core.so, libOMX_Clock.so, libOMX.TI.AAC.decode.so
 * Gstreamer plugins are also available to support the OMX MM use cases. Gstreamer has to be built as part of the Angstrom file system. Other gstreamer components needed can be copied from the reference package
 * Copy libgoo and gst-goo files to enable the TI OMX support

Test TI OMX

 * DSP bridge is built as a kernel module. Copy the .ko file into root
 * insmod bridgedriver.ko


 * Start DSP bridge
 * ./etc/init.d/bridge start


 * Call DSP baseimage.dof
 * ./dspbridge/samples/cexec.out /lib/dsp/baseimage.dof


 * OMX test apps can be used to test the MM use cases
 * e.g. ./AacDecoder_Test / STEREO TC_1 22050 DM PS 8192 EProfileLC SBR NON_RAW 2000 1 1 NON_FRAME
 * Similarly other OMX test apps can be run with the available test apps. The format and parameters needed will be listed in an example when the test app is called


 * The applications can also be tested at Gstreamer level. Make sure Gstreamer is built as part of the Angstrom file system
 * Instructions to test with gstreamer can be obtained from Test Execution User Guide

Building TI OMX within OE/Angstrom

 * Copy TI OMX reciped and source files into OE build env.
 * cp -r ${HOME}/TI_Community_LO/meta-texasinstruments/packages/tiopenmax/ ${OETREE}/openembedded/recipes


 * Copy DSP Bridge
 * cp -r ${HOME}/TI_Community_LO/meta-texasinstruments/packages/tidsbbridge/ ${OETREE}/openembedded/recipes


 * Copy ccasefetch.bbclass - This is a temporary addition, and will go away as soon as the recipes are properly revised
 * cp -r ${HOME}/TI_Community_LO/meta-texasinstruments/classes/ccasefetch.bbclass ${OETREE}/openembedded/classes
 * Copy the Source files
 * mkdir ${OETREE}/sources
 * cp -r ${HOME}/TI_Community_LO/ti_references/sources/tiopenmax-*P1*gz ${OETREE}/sources


 * Build tidspbridge-lib - This may be a dependency for tiopenmax
 * bitbake tidspbridge-lib


 * Build all tiopenmax components - the below commandline script can help gather all the proper names, rather than trying to build each individually
 * ls ../openembedded/recipes/tiopenmax/tiopenmax-*P1*bb|awk -F/ '{print $5}'|awk -F_ '{print $1}'|xargs bitbake


 * The built components can be copied from the /tmp/work/.../image/... location