network build

Ralf Corsepius corsepiu at
Thu May 17 00:07:29 UTC 2001

"D. Peter Siddons" wrote:
> Hi Robert,

> *****************************************************************************
> Eric wrote:
> Here are some notes I put together on how to obtain and install RTEMS.
> It's a bit of a tedious procedure, but it's not impossible.  The notes
> are for setting up a generic pc386 target.  Other targets are left as an
> execise for the reader....
> Please let me know how this works.

Sorry for having to say this, but I can't let some of these notes
remain uncommented :(

> Preliminary
> =============================================================================
> Make some directories.  Start with the RTEMS root directory.
This is unnecessary. Installing RTEMS rsp. the toolchain will create
them anyway and will override them.

> All the
> cross-development source/tools/libraries will reside beneath the this
> directory.  There should be at least 200 Mbytes of space available on
> the drive where the RTEMS root directory is located.
The size mention is reasonable, but the required diskspace is target
and configuration dependent and can vary to large extends.
In some cases the required diskspace will be significantly below
this size in other cases it will be significantly above it.

>  The suggested location
> is /opt/rtems.  If you must place the root of the RTEMS tree in some
> other
> location, it is a good idea to make a symbolic link from /opt/rtems to
> the actual root of the RTEMS tree.
Like any other gcc-toolchain, the precompiled toolchain binaries are
not relocateable and MUST be installed and accessed under
/opt/rtems. I.e. if putting them elsewhere, adding the symlink is
absolutely necessary and inevitable. 

> mkdir -p /opt/rtems
> mkdir -p /opt/rtems/src /opt/rtems/build
I would strongly recommend not to install the source-tree nor the
build directory underneath the installation root directory. You are
at risk of loosing essential files when installing RTEMS. 

If you exactly know what you are doing, there is nothing wrong with
doing this, but this is not acceptable as a general recommendation.

> Add RTEMS cross-development tools to your search path (bash/ksh):
> PATH="$PATH:/opt/rtems/bin/"
In an ideal world this would be correct. However, in almost all
cases appending /opt/rtems/bin to $PATH is not what you actually

Instead, inserting /opt/rtems/bin inbetween per-user and standard
system PATHS is what you probably want on most systems:
eg. PATH=~/bin:/opt/rtems/bin:/usr/local/bin:/usr/bin. I.e. if not
using per-user paths, prepending /opt/rtems/bin to PATH is what you
will need in most cases.

This ensures that RTEMS tools will have preceedence over other tools
which might be lurking on your system, and enables you to override
standard system commands by using wrapper-scripts, symlinks etc.
from inside of /opt/rtems/bin. 

> Set up RTEMS Makefile path (bash/ksh):
> export RTEMS_MAKEFILE_PATH=/opt/rtems/i386-rtems/pc386
> Step 1.  Obtain cross-development tools
> =============================================================================

> Step 2.  Obtain RTEMS
> =============================================================================
> wget
> cd /opt/rtems/src
> tar xfz /tmp/rtems-ss-20010424.tgz
Please, do not use the installation directory to unpack the sources
(cf. above). 

> Step 3.  Configure and install RTEMS
> =============================================================================
> cd /opt/rtems/build
Please, do not use a build directory below the installation
directory (cf. above).

> /opt/rtems/src/rtems-ss-20010126/configure --prefix=/opt/rtems
> --target=i386-rtems
> make RTEMS_BSP=pc386
> make RTEMS_BSP=pc386 install
> ****
> Eric's original instruction had --prefix=/opt/rtems/i386-rtems,
Which is the currently recommended installation directory (cf.

> but I
> found that the
> more recent snapshots expect the simple /opt/rtems, otherwise you run
> into trouble with
> relative paths in the build. Pete.

* RTEMS does not expect any particular installation prefix and
(theoretically) should be installable to any arbitrary prefix
(unless other conflicts occur)

* At present time, using --prefix=/opt/rtems for building any
version of RTEMS's is at risk of corrupting the toolchain and/or
existing other installations (eg. if using multiple BSPs or targets) 
Therefore, I strongly recommend NOT TO USE --prefix=/opt/rtems

* If building rtems natively (linux/posix), do not use the default
PREFIX (/usr/local) nor install to any other path in use by your
system (/, /usr, /opt etc.). Using a subdirectory of system
directories however should work (/usr/rtems, /rtems,
/usr/local/rtems etc.)

Ralf Corsepius 
Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung
Helmholtzstr. 16, 89081 Ulm, Germany     Tel: +49/731/501-8690
mailto:corsepiu at           FAX: +49/731/501-999

More information about the users mailing list