Setting up and building the BSP and applications

Obtaining source

This is a good first step.

Go to http://svn.neurostechnology.com/tarballs/ and grab the latest tarball. (WARNING: The tarball is 200M packed, and 1.1G expanded, and it contains thousands and thousands of files. The .tar.bz2 and .tar.7z versions both contain exactly the same thing; get the one you can uncompress.)

PLEASE do not do a raw checkout from SVN. It wastes our bandwidth and yours, and takes a lot longer than just unpacking the tarball. The tarball is built with svn information, so you can go to any directory and 'svn up' to pull the latest updates to the tarball from the repository, if any.

Note that once you start the build process, you must not move the BSP! The build system at this point is a fragile mess of environment variables and absolute paths, so moving the BSP requires repeating every step in the build chain. Even code on the OSD itself requires the BSP to be in a fixed location on the host computer. Choose your path wisely.

Building the software

Read the READMEs in each package. We will try to keep this document up to date with changes in the build process, but there are no guarantees. The READMEs, however, will remain accurate.

The code snippets here are to be executed from the base directory where you unpacked the tarballs, which is by default "neuros-osd".

neuros-bsp

The BSP contains the source for the Linux environment, as well as the toolchain you'll use to build every piece of software in the system. A better build system is underway, but isn't scheduled until well after the Gamma milestone.

First off is to create the build environment. This step locks the path of the BSP, so move it now or never.

Edit scripts/project-env and replace PRJROOT with the actual path to reach the neuros-bsp directory. Leave the other values unchanged.

In the following instructions, replace <BOARD> with:

  1. ntdev : if you're one of the owners of the early dev boards (large form factor, no casing).
  2. r3 : for the OSD prototypes, the ones with clear casing shipped in early summer 2006
  3. osd : for the gamma release OSD units with black casing.
cd neuros-bsp
./setup-rootfs
make <BOARD>-dm320_defconfig
source neuros-env

Note: If you are upgrading from a previous BSP release (for e.g., the ntdev board), be sure to do a make distclean in bootloader/ before configuring and building with the new toolchain.

EXPERTS ONLY: Customizing the build

You can do a 'make menuconfig' in the neuros-bsp base directory, in kernels/linux, and in sysapps/busybox to customize features to your needs. If you don't know what that means, you don't need it.

When that's done, build it!

cd kernel/linux
make modules
make modules_install
cd ../..
make
make install

This will install the BSP to "neuros-bsp/rootfs/fs/".

Nano-X

For now, just do it.

cd Nano-X/src
cd contrib/jpeg
./Neuros-config
./Neuros-make
cd ../freetype1
./Neuros-config
./Neuros-make
cd ../..
make

plugins

The Ingenient DSP plugins.

cd linux-r3-plugins
cd av/build
make install
cd ../i18n/build
make all
make install

There's also a plugin named ssaver, which is built in nearly the same way as i18n, but at the time of writing seems to be broken

main-app

This one pulls code from Neuros-Cooler, but it's all done automatically. Just letting you know what it's there for.
First you need to edit linux-r3-main-app/build/config and set the BSP_ROOT variable in that script to the location of your actual neuros-bsp directory.
Then run the following:

cd linux-r3-main-app/build
make all
make install