Recent Changes - Search:



Deprecated

Software

Edit this page to change styles

--- Boxes and outlines ---

--- Headers beyond ordinary "!" level headers

--- Stegi specific stylings ---

--- Text warnings, notices, hilights ---

--- Directory paths ---

--- Calendar specific ---

XBMCBox: Embedded distribution build of XBMC

Repositories and External Information

The information on this page describes how to compile and create your own opkg-packaged release of XBMC for Buildroot based embedded distributions such as BeagleBox and PiBox.

  • cdtools are used to navigate directories for this repository (re: bashsetup.sh)

Basic System Build Process

  1. Configure the shell environment
  2. Setup build system prerequisites
  3. Build XBMC
  4. Package XBMC
  5. Install XBMC package

Build System Basics

To use the build system, you should load the cdtools shell function.

Configure environment for XBMCBox builds
cp docs/bashsetup.sh ~/bin/env/xbmcbox
vi ~/bin/env/xbmcbox
<edit lines as appropriate>
source ~/bin/env/xbmcbox
xb

If you don't already have the source tree cloned then you can grab the shell function directly from gitorious' raw blob data.

To get help with the build system and the many available targets, use the help target

make help

All software components have identical (or nearly identical) sets of targets of the following format.

Configure environment for XBMCBox builds
make <component>
make <component>-pkg
make <component>-clean
make <component>-clobber

Build system prerequisites

There are two prerequisites to running the XBMCBox build. The first is access to the cross toolchain used to build your Buildroot target root file system. The location of the toolchain can be specified using the XI environment variable.

make XI=/opt/rpiTC ...

The default is /opt/rpiTC, which assumes that you build the XCC component of your embedded distribution into an RPM and installed it. If you, you should point XI to the location of the install directory for the XCC component build, as in:

make XI=/home/mjhammel/src/ximba/raspberrypi/bld/crosstool-ng-1.15.2.bld/install ...

The most important prerequisite to using XBMCBox to cross compile XBMC is specifying the location of the Buildroot staging and target directories. These two directories can also be specified using environment variables: ROOTFS and STAGING.

make XI=/opt/rpiTC ROOTFS=<path> STAGING=<path>

ROOTFS should point to the target directory, typically found under <Buildroot>/output/target with a Buildroot build. STAGING should point to the staging directory, typically found under <Buildroot>/output/staging.

Cross compiling XBMC

Using the provided environment variables, the following commands can be run to compile XBMC for the target embedded distribution.

make XI=/opt/rpiTC ROOTFS=<path> STAGING=<path> xbmc
make xbmc-pkg

Distribution specific configurations

It should be possible to add support for other Buildroot-based distributions. Aside from the environment variables, there are four configuration files that need to be edited specific to the embedded distribution. Examples of these files can be found under src/xbmc/pibox.

  • Makefile
  • bootstrap
  • depends.mk
  • setup-sdk.sh

For help on editing these files, feel free to post questions on the forum.

Packaging (opkg)

XBMCBox is packaged as an opkg. To generate the package, the build system needs access to the opkg-build tool. The default location to look for this tool is /usr/local/bin. To override this location, use the OPKG environment variable when running the xbmc-pkg target.

make XBMC=/usr/bin xbmc-pkg

For installation the XBMCBox package, the BeagleBox and PiBox distributions provide the opkg-cl tool. These embedded distributions provide an opkg configuration file under /etc/opkg.cfg. If installation fails, try passing the location of the configuration file on the command line.

opkg-cl -f /etc/opkg.cfg <package name>

Work in Progress

There are still items left to be done in XBMCBox. These items can be viewed in the [http://redmine.graphics-muse.org/projects/xbmcbox/issues | [issue tracker]]. Some of them are listed here.

  • Fix plugins borrowed from Raspbmc to work in XBMCBox
  • Add plugins to support user configuration, such as network configuration
  • Fix problems with keyboard and mouse input

Please feel free to common on any issue or provide input on them in the forums.

Edit - History - Print - Recent Changes - Search
Page last modified on February 14, 2013, at 09:33 PM