Difference between revisions of "BeagleBoard/Poky"
(add toolchain subsection) |
(update git repository location) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
# Get TI's overlay | # Get TI's overlay | ||
− | git clone git://github.com/ | + | git clone git://github.com/mrchapp/meta-texasinstruments.git |
cd meta-texasinstruments | cd meta-texasinstruments | ||
− | git checkout -b gitomapzoom origin | + | git checkout -b gitomapzoom --track origin/gitomapzoom |
# Copy configuration | # Copy configuration | ||
Line 30: | Line 30: | ||
Why SVN if Poky already moved to GIT, you may ask. Well, we feel fond of that revision because we know it to work. Feel free try Poky's GIT or a newer SVN revision. In fact, you might want to take a look at [http://github.com/mturquette/pokyomap Poky OMAP] too. | Why SVN if Poky already moved to GIT, you may ask. Well, we feel fond of that revision because we know it to work. Feel free try Poky's GIT or a newer SVN revision. In fact, you might want to take a look at [http://github.com/mturquette/pokyomap Poky OMAP] too. | ||
+ | |||
+ | ==Add Texas Instruments' overlay== | ||
+ | cd $POKY | ||
+ | git clone git://github.com/mrchapp/meta-texasinstruments.git | ||
+ | cd meta-texasinstruments | ||
+ | git checkout -b gitomapzoom --track origin/gitomapzoom | ||
==Get a toolchain== | ==Get a toolchain== | ||
− | This has been tested with CodeSourcery's G++ Lite 2008q3-72. Download it from here: http://www.codesourcery.com/sgpp/lite/arm/portal/release644, and install it in <tt>/usr/local/csl/arm-2008q3</tt>: | + | This has been tested with CodeSourcery's G++ Lite 2008q3-72. Download it from here: http://www.codesourcery.com/sgpp/lite/arm/portal/release644 (the one saying "IA32 GNU/Linux TAR"), and install it in <tt>/usr/local/csl/arm-2008q3</tt>: |
<pre> | <pre> | ||
$ ls -l /usr/local/csl/arm-2008q3/ | $ ls -l /usr/local/csl/arm-2008q3/ | ||
Line 45: | Line 51: | ||
If you already have the toolchain somewhere else, or can't install it in /usr/local, then edit this file and make sure <tt>EXTERNAL_TOOLCHAIN</tt> points to the toolchain: <tt>$POKY/meta-texasinstruments/conf/distro/include/poky-external-csl2008q3.inc</tt>. | If you already have the toolchain somewhere else, or can't install it in /usr/local, then edit this file and make sure <tt>EXTERNAL_TOOLCHAIN</tt> points to the toolchain: <tt>$POKY/meta-texasinstruments/conf/distro/include/poky-external-csl2008q3.inc</tt>. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Configure== | ==Configure== | ||
Line 97: | Line 97: | ||
==Kernel== | ==Kernel== | ||
− | Kernel recipe is <tt>$POKY/meta-texasinstruments/packages/linux/linux-beagle_git.bb</tt>. This kernel, kindly forked by Felipec, is currently based on 2.6.28-omap1, with dspbridge patches on them. This is the GIT repository for it, see | + | Kernel recipe is <tt>$POKY/meta-texasinstruments/packages/linux/linux-beagle_git.bb</tt>. This kernel, kindly forked by Felipec, is currently based on 2.6.28-omap1, with dspbridge patches on them. This is the GIT repository for it, see the <tt>v2.6.28-felipec1</tt> tag here: http://github.com/felipec/linux-omap/tree/v2.6.28-felipec1. |
+ | |||
+ | ===Note=== | ||
+ | This kernel uses DSS2, which has been configured to use LCD output as default. To use DVI-D or S-Video output you can modify the bootargs to allow it. Example args for DVI output: | ||
+ | omapdss.def_disp=dvi omapfb.mode=dvi:1024x768MR-24@60 omapfb.vram=0:4M,1:2M | ||
+ | |||
+ | You can find more information about DSS2 in http://groups.google.com/group/beagleboard/browse_thread/thread/115867f718b52e4b/4c64b2c614622053. | ||
==Bridge library== | ==Bridge library== | ||
Line 106: | Line 112: | ||
==GStreamer plug-ins== | ==GStreamer plug-ins== | ||
− | Two sets of plug-ins can be used: gst-openmax and gst-goo. Both are included in the GStreamer task. Recipes for these are located here: | + | Two sets of plug-ins can be used with TI's OpenMAX IL: gst-openmax and gst-goo. Both are included in the GStreamer task. Recipes for these are located here: |
* <tt>$POKY/meta-texasinstruments/packages/gst-goo/gst-goo_5.14.bb</tt> | * <tt>$POKY/meta-texasinstruments/packages/gst-goo/gst-goo_5.14.bb</tt> | ||
* <tt>$POKY/meta-texasinstruments/packages/gst-openmax/gst-openmax_git.bb</tt> | * <tt>$POKY/meta-texasinstruments/packages/gst-openmax/gst-openmax_git.bb</tt> | ||
+ | |||
+ | To display video on the framebuffer (DSS2-based) use gst-omapfb. Its recipe is here: | ||
+ | * <tt>$POKY/meta-texasinstruments/packages/gst-omapfb/gst-omapfb_git.bb</tt> | ||
==Other== | ==Other== |
Latest revision as of 20:58, 26 May 2009
This page is about how to use Poky for BeagleBoard development.
Contents
Quick Start
# Get Poky svn co -r5728 http://svn.o-hand.com/repos/poky/trunk poky cd poky; export POKY=`pwd` # Get TI's overlay git clone git://github.com/mrchapp/meta-texasinstruments.git cd meta-texasinstruments git checkout -b gitomapzoom --track origin/gitomapzoom # Copy configuration cp -p $POKY/meta-texasinstruments/conf/misc/local.conf $POKY/build/conf/local.conf # Build! cd $POKY source poky-init-build-env bitbake omap-image-min-gst
Step by step
Download Poky
Get Poky.
svn co -r5728 http://svn.o-hand.com/repos/poky/trunk poky cd poky export POKY=`pwd`
Why SVN if Poky already moved to GIT, you may ask. Well, we feel fond of that revision because we know it to work. Feel free try Poky's GIT or a newer SVN revision. In fact, you might want to take a look at Poky OMAP too.
Add Texas Instruments' overlay
cd $POKY git clone git://github.com/mrchapp/meta-texasinstruments.git cd meta-texasinstruments git checkout -b gitomapzoom --track origin/gitomapzoom
Get a toolchain
This has been tested with CodeSourcery's G++ Lite 2008q3-72. Download it from here: http://www.codesourcery.com/sgpp/lite/arm/portal/release644 (the one saying "IA32 GNU/Linux TAR"), and install it in /usr/local/csl/arm-2008q3:
$ ls -l /usr/local/csl/arm-2008q3/ total 24 drwxr-sr-x 6 root root 4096 2008-10-01 11:12 arm-none-linux-gnueabi drwxr-xr-x 2 root root 4096 2008-10-01 11:16 bin drwxr-sr-x 2 root root 4096 2008-10-01 10:33 include drwxr-sr-x 3 root root 4096 2008-10-01 11:16 lib drwxr-sr-x 4 root root 4096 2008-10-01 11:15 libexec drwxr-sr-x 3 root root 4096 2008-10-01 10:30 share
If you already have the toolchain somewhere else, or can't install it in /usr/local, then edit this file and make sure EXTERNAL_TOOLCHAIN points to the toolchain: $POKY/meta-texasinstruments/conf/distro/include/poky-external-csl2008q3.inc.
Configure
cd $POKY/build/conf cp -p $POKY/meta-texasinstruments/conf/misc/local.conf local.conf
Review the above file.
Fine tune
With newer kernels exmap complains about missing headers. For now, you can have the rest of the profiling tools by taking exmap-console and exmap-server out of "RDEPENDS_task-poky-tools-profile" in $POKY/meta/packages/tasks/task-poky-tools.bb. This is needed for a Sato image.
Build
cd $POKY source poky-init-build-env bitbake omap-image-min-gst
Alternatively, you can build a complete Poky Sato image, though YMMV:
bitbake omap-image-sato
Deploy
You can find your binaries here: $POKY/build/tmp/deploy/images/.
cd $POKY/build/tmp/deploy/images/ ls -1s total 181056 3452 modules-2.6.28-omap1-beagleboard.tgz 33320 omap-image-min-gst-beagleboard-20090327064222.rootfs.jffs2 27168 omap-image-min-gst-beagleboard-20090327064222.rootfs.tar.gz 0 omap-image-min-gst-beagleboard.jffs2 0 omap-image-min-gst-beagleboard.tar.gz 63300 omap-image-sato-beagleboard-20090327162651.rootfs.jffs2 51884 omap-image-sato-beagleboard-20090327162651.rootfs.tar.gz 0 omap-image-sato-beagleboard.jffs2 0 omap-image-sato-beagleboard.tar.gz 148 u-boot-beagleboard-2008.10-rc2+r2+gitdcae48d0df9dd0367172677f8154eb2683de0865-r2.bin 4 u-boot-beagleboard.bin 1776 uImage-2.6.28-omap1+r0+git1764d8eef033d40c623e9a9a0dde455e59ac2149-beagleboard-20090327164249.bin 4 uImage-beagleboard.bin
The kernel and u-boot can be copied to the boot partition on your MMC/SD card. Take the image tarball and untar it in the root partition of your MMC/SD card; also, untar the modules tarball on the root of your file system.
Recipes
What are the most important recipes around here? Here's a list of them.
U-boot
A recipe for u-boot can be found here: $POKY/meta/packages/uboot/u-boot-omap3_git.bb. This comes from Poky. You can try with another recipe for u-boot as long as it works on the Beagle. See $POKY/meta-texasinstruments/conf/machine/beagleboard.conf if you want to change it.
Kernel
Kernel recipe is $POKY/meta-texasinstruments/packages/linux/linux-beagle_git.bb. This kernel, kindly forked by Felipec, is currently based on 2.6.28-omap1, with dspbridge patches on them. This is the GIT repository for it, see the v2.6.28-felipec1 tag here: http://github.com/felipec/linux-omap/tree/v2.6.28-felipec1.
Note
This kernel uses DSS2, which has been configured to use LCD output as default. To use DVI-D or S-Video output you can modify the bootargs to allow it. Example args for DVI output:
omapdss.def_disp=dvi omapfb.mode=dvi:1024x768MR-24@60 omapfb.vram=0:4M,1:2M
You can find more information about DSS2 in http://groups.google.com/group/beagleboard/browse_thread/thread/115867f718b52e4b/4c64b2c614622053.
Bridge library
The API for accessing the Bridge driver is provided by this recipe: $POKY/meta-texasinstruments/packages/tidspbridge/tidspbridge-lib_git.bb. The code is taken from this GIT repository: http://git.omapzoom.org/?p=platform/hardware/ti/omap3.git. Of course, it requires the DSP Bridge driver, which is provided by the kernel.
TI's OpenMAX IL
The recipe for building TI's OpenMAX IL is located here: $POKY//meta-texasinstruments/packages/tiopenmax/tiopenmax_0.3.5.bb. This code is rather old. The goal is to use this GIT repository for OpenMAX: http://git.omapzoom.org/?p=platform/hardware/ti/omx.git, but that'll be later.
GStreamer plug-ins
Two sets of plug-ins can be used with TI's OpenMAX IL: gst-openmax and gst-goo. Both are included in the GStreamer task. Recipes for these are located here:
- $POKY/meta-texasinstruments/packages/gst-goo/gst-goo_5.14.bb
- $POKY/meta-texasinstruments/packages/gst-openmax/gst-openmax_git.bb
To display video on the framebuffer (DSS2-based) use gst-omapfb. Its recipe is here:
- $POKY/meta-texasinstruments/packages/gst-omapfb/gst-omapfb_git.bb
Other
Some other important recipes would be the following:
- $POKY/meta-texasinstruments/packages/images/omap-image-min-gst.bb
- $POKY/meta-texasinstruments/packages/images/omap-image-sato.bb
- $POKY/meta-texasinstruments/packages/tasks/task-omap-gst.bb