Introduction

This project is used to set up a development environment for RTEMS on a Linux system. Basic development tools like “make” and “gcc” should already be installed, everything else including the complete cross-development tool chain is downloaded from the internet and built locally.

Why not use the RTEMS_source_builder directly ?

The RTEMS_source_builder for older versions of RTEMS is no longer maintained and has some problems when run on modern linux systems.

The goal of this project is to make the installation of the RTEMS toolchain as easy as possible. In the easiest case, you just have to provide a base configuration directory, everything else works automatically.

Which scripts are needed ?

  • setup.sh is always needed to define the installation directory ‘INSTALLTOP’ in file ‘CONFIG.SITE’.

  • build-gcc.sh is only needed when gcc on your host system is too old for RTEMS. This builds a new gcc

  • build-python2.sh is only needed when you don’t have Python 2 and cannot install it with your package manager.

  • build-crosstools.sh is always needed, this builds the cross compiler toolchain.

  • build-kernel.sh is only needed when you want to create a bootable image with the RTEMS kernel.

build-gcc.sh, build-python2.sh and build-crosstools.sh each create a file “setenv.sh” that can be sourced with:

source setenv.sh

to make the programs available in your shell.

Configuration files

The configuration files for specific versions of RTEMS are named “CONFIG-RTEMS-NN” where “NN” is the RTEMS version number and an optional suffix. Here is the current (as of 2021-03-02) list of configuration files:

  • CONFIG-RTEMS-4.9 : RTEMS 4.9

  • CONFIG-RTEMS-4.10 : RTEMS 4.10

  • CONFIG-RTEMS-4.11 : RTEMS 4.11

  • CONFIG-RTEMS-5 : RTEMS 5

These files above are not intended to be changed.

There is also a configuration file with common configuration settings, here you may change things to configure the program for your needs:

Multi version support

You can build the RTEMS cross compiler toolchain for more than one RTEMS version by invoking the build script build-crosstools.sh again with a different configuration file. You do not have to check out rtems-from-scratch again to do this.