5.3 Linux Support 16
5.3 Linux Support
The Linux Environment for Boundary Devices boards consists of four pri-
mary pieces, a toolchain, the kernel and device drivers, a user-space build
tool based on PTXDist and a Javascript runtime used to demostrate the
capabilities of the hardware.
5.3.1 Crosstool Linux Toolchain
Before the kernel and applications can be built, it is first necessary to have
a cross-compiler toolchain.
The following examples show how we at Boundary Devices set up our
toolchains. Please refer to the crosstool site for more complete instructions.
First, you’ll need to download and unpack cross tool;
$ wget http://kegel.com/crosstool/crosstool-0.37.tar.gz
$ tar zxvf crosstool-0.37.tar.gz
As described in the crosstool Quick Start guide, the next step is to choose
a starting point with one of the demo build scripts. We’re currently using
demo-arm-xscale.sh with the following settings (GCC 3.4.3 with Glibc
version 2.3.5):
TARBALLS_DIR=/armArchives
RESULT_TOP=/opt/crosstool
eval ‘cat arm-xscale.dat gcc-3.4.3-glibc-2.3.5.dat‘ sh all.sh --notest
We also build the compiler to use software floating point in user space,
rather than hardware floating point (which traps to the kernel). To do this,
modify arm-xscale.dat and add the --with-soft-float and --without-fp
flags as shown below.
GCC_EXTRA_CONFIG="--with-cpu=xscale --enable-cxx-flags=-mcpu=xscale --with-float=soft"
GLIBC_EXTRA_CONFIG="--without-fp"
Also, we typically change the TARGET to read as follows:
TARGET=arm-linux
because arm-linux-gcc is just too long!
Having completed these edits, you can execute the script as follows:
sh demo-arm-xscale.sh
December 28, 2005 Revision 2.8