source: rtems-docs/user/installation/kernel.rst

Last change on this file was 441d2e1, checked in by Chris Johns <chrisj@…>, on Aug 11, 2020 at 2:50:45 AM

user, eclipse: Remove RSB sb-bootstrap command

Update #4046

  • Property mode set to 100644
File size: 19.3 KB

RTEMS Kernel

RTEMS is an open source real-time operating system. As a user you have access to all the source code. The RTEMS Kernel section will show you how you build the RTEMS kernel on your host.

Development Sources

Create a new location to build the RTEMS kernel:

Error: Failed to load processor none
No macro or processor named 'none' found

Clone the RTEMS respository:

Error: Failed to load processor none
No macro or processor named 'none' found

Tools Path Set Up

We need to set our path to include the RTEMS tools we built in the previous section. The RTEMS tools needs to be first in your path because RTEMS provides specific versions of the autoconf and automake tools. We want to use the RTEMS version and not your host's versions:

Error: Failed to load processor none
No macro or processor named 'none' found

Bootstrapping

The developers version of the code from git requires we bootstrap the source code. This is an autoconf and automake bootstrap to create the various files generated by autoconf and automake. RTEMS does not keep these generated files under version control. The bootstrap process is slow so to speed it up we provide a command that can perform the bootstrap in parallel using your available cores. We need to enter the cloned source directory then run the bootstrap commands:

Error: Failed to load processor none
No macro or processor named 'none' found

Building a BSP

We build RTEMS in a directory outside of the source tree we have just cloned and bootstrapped. You cannot build RTEMS while in the source tree. Lets create a suitable directory using the name of the BSP we are going to build:

Error: Failed to load processor none
No macro or processor named 'none' found

Configure RTEMS using the configure command. We use a full path to configure so the object files built contain the absolute path of the source files. If you are source level debugging you will be able to access the source code to RTEMS from the debugger. We will build for the erc32 BSP with POSIX enabled and the networking stack disabled:

Error: Failed to load processor none
No macro or processor named 'none' found

Build RTEMS using two cores:

Error: Failed to load processor none
No macro or processor named 'none' found

Installing A BSP

All that remains to be done is to install the kernel. Installing RTEMS copies the API headers and architecture specific libraries to a locaiton under the prefix you provide. You can install any number of BSPs under the same prefix. We recommend you have a separate prefix for different versions of RTEMS. Do not mix versions of RTEMS under the same prefix. Make installs RTEMS with the following command:

Error: Failed to load processor none
No macro or processor named 'none' found

Contributing Patches

RTEMS welcomes fixes to bugs and new features. The RTEMS Project likes to have bugs fixed against a ticket created on our :r:url:`devel`. Please raise a ticket if you have a bug. Any changes that are made can be tracked against the ticket. If you want to add a new a feature please post a message to :r:list:`devel` describing what you would like to implement. The RTEMS maintainer will help decide if the feature is in the best interest of the project. Not everything is and the maintainers need to evalulate how much effort it is to maintain the feature. Once accepted into the source tree it becomes the responsibility of the maintainers to keep the feature updated and working.

??

Changes to the source tree are tracked using git. If you have not made changes and enter the source tree and enter a git status command you will see nothing has changed:

Error: Failed to load processor none
No macro or processor named 'none' found

We will make a change to the source code. In this example I change the help message to the RTEMS shell's halt command. Running the same git status command reports:

Error: Failed to load processor none
No macro or processor named 'none' found

As an example I have a ticket open and the ticket number is 9876. I commit the change with the follow git command:

Error: Failed to load processor none
No macro or processor named 'none' found

An editor is opened and I enter my commit message. The first line is a title and the following lines form a body. My message is:

Error: Failed to load processor none
No macro or processor named 'none' found

When you save and exit the editor git will report the commit's status:

Error: Failed to load processor none
No macro or processor named 'none' found

You can either email the patch to :r:list:`devel` with the following git command, and it is minus one on the command line:

?
Error: Failed to load processor none
No macro or processor named 'none' found

Or you can ask git to create a patch file using:

Error: Failed to load processor none
No macro or processor named 'none' found

This patch can be attached to a ticket.

Note: See TracBrowser for help on using the repository browser.