2.3. Obtain the Sources¶
You have considered and chosen a suitable installation prefix in the previous
section. We have chosen
$HOME/quick-start/rtems/5 as the installation
prefix. We will show how to use a released version of RTEMS and then as an
alternative we will show you using the RSB Git repository. Consider using a Git clone if you wish to make
contributions to the RTEMS Project.
You need the RTEMS Source Builder (RSB) to work with RTEMS and we prefer you use a released version. A released version of the RSB downloads all source code from the RTEMS servers. Each release archives all the referenced source providing long term stability as changes in upstream projects do not effect a release’s build.
You will need approximately 1.5G bytes of disk space to build the tools, RTEMS kernel, network stack and 3rd party packages for the ERC32 BSP.
You can download the source archives for a released RTEMS version from RTEMS’ servers. Releases can be view at https://ftp.rtems.org/pub/rtems/releases with the releases listed as a series under a release’s major number. For RTEMS 5.1 the release series is 5 and the release path is https://ftp.rtems.org/pub/rtems/releases/5/5.1.
To work with the archives of a released RTEMS version, simply replace the
5 used throughout this chapter with the version number you
sparc-rtems6, and so on.
Download and unpack using the
tar command with these commands:
mkdir -p $HOME/quick-start/src cd $HOME/quick-start/src curl https://ftp.rtems.org/pub/rtems/releases/5/5.1/sources/rtems-source-builder-5.1.tar.xz | tar xJf -
curl does not work consider using
wget or a browser.
The RSB is unpacked under the path
rtems-source-builder-5.1. Rename this
rsb to get shorter paths during the tool suite build. To do this run
cd $HOME/quick-start/src mv rtems-source-builder-5.1 rsb
If you wish to build the RTEMS kernel from source obtain the RTEMS kernel sources:
cd $HOME/quick-start/src curl https://ftp.rtems.org/pub/rtems/releases/5/5.1/sources/rtems-5.1.tar.xz | tar xJf -
Alternatively, clone the Git repositories into
A Git repository clone gives you some flexibility with the added complexity of needing to use a Git branch to build a released version. With Git you can switch between branches to try out different RTEMS versions and you have access to the RTEMS source history. The RTEMS Project welcomes contributions. The Git repositories enable you to easily create patches and track local changes.
You can clone the Git repository to get all versions of RTEMS including the development head. Release branches in Git are kept stable however they may differ from a release’s source archive.
mkdir -p $HOME/quick-start/src cd $HOME/quick-start/src git clone git://git.rtems.org/rtems-source-builder.git rsb git clone git://git.rtems.org/rtems.git
rsb repository clone contains the RTEMS Source Builder (RSB). We clone it into
rsb to get shorter paths during the tool
suite build. The
rtems repository clone contains the RTEMS sources.
These two repositories are enough to get started. There are more repositories available.
2.3.3. Offline Download¶
If you have limited Internet access you can download the source before you start building. If you are permanently connected to the Internet you do not need to do this and the sources will be automatically download on demand when needed.
Once the sources have been downloaded you could disconnect your host computer from the Internet. It is no longer required to work with RTEMS. To download the sources to build the ERC 32 BSP before building run the following commands:
cd $HOME/quick-start/src/rsb/rtems ../source-builder/sb-set-builder --source-only-download 5/rtems-sparc
This command should output something like this (omitted lines are denoted by
RTEMS Source Builder - Set Builder, 5.1.0 Build Set: 5/rtems-sparc ... download: https://ftp.rtems.org/pub/rtems/releases/5/5.1.0/5.1.0/sources/gcc-7.5.0.tar.xz -> sources/gcc-7.5.0.tar.xz ... Build Sizes: usage: 0.000B total: 143.814MB (sources: 143.793MB, patches: 21.348KB, installed 0.000B) Build Set: Time 0:05:52.617958
If you encounter errors, check your internet connection, firewall settings, virus scanners and the availability of the download servers.