Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2012-01-10 16:29:17
Size: 3353
Editor: mbk-50-12
Comment:
Revision 14 as of 2017-05-26 23:54:21
Size: 3611
Editor: bbb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 2: Line 3:
The following instructions describe how to download and build the [[CurrentRelease|latest released version]] of LITMUS^RT^. If you intend to use LITMUS^RT^ for development, you should use our [[Repositories|source code repositories]] instead.
{{{#!wiki caution
This information is outdated. Please refer to the [[http://www.litmus-rt.or
g/install.html|instructions on the project homepage]].
}}}




The following
instructions describe how to download and build the [[Releases|latest released version]] of LITMUS^RT^. If you intend to use LITMUS^RT^ for development, you should use our [[Repositories|source code repositories]] instead.
Line 6: Line 15:
The extension to the Linux kernel is released as a patch against the Linux kernel. To install the LITMUS^RT^ kernel, first [[http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2|download the Linux kernel 2.6.36]] and untar it in a directory of your choice (hereafter referred to as `$DIR`). Second, apply the LITMUS^RT^ patch (download the [[CurrentRelease|current version]]) and configure, compile, and install the kernel as usual. The patch is `-p1` applicable. The extension to the Linux kernel is released as a patch against the Linux kernel. To install the LITMUS^RT^ kernel, first [[https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.3.tar.gz|download the Linux kernel 4.1.3]] and untar it in a directory of your choice (hereafter referred to as `$DIR`). Second, apply the LITMUS^RT^ patch (download the [[Releases|current version]]) and configure, compile, and install the kernel as usual. The patch is `-p1` applicable.
Line 9: Line 18:
{{{ {{{#!highlight bash numbers=disable
Line 11: Line 20:
# get Linux 2.6.36
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
tar xj
f linux-2.6.36.tar.bz2
wget http://www.litmus-rt.org/releases/2011.1/litmus-rt-2011.1.patch
mv linux-2.6.36 litmus-rt
# get Linux 4.1.3
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.3.tar.gz
tar xz
f linux-4.1.3.tar.gz
wget http://www.litmus-rt.org/releases/2016.1/litmus-rt-2016.1.patch
mv linux-4.1.3 litmus-rt
Line 18: Line 27:
patch -p1 < ../litmus-rt-2011.1.patch patch -p1 < ../litmus-rt-2016.1.patch
Line 20: Line 29:
# - select HZ=1000
Line 22: Line 30:
# - disable NO_HZ
Line 29: Line 36:
make modules make modules # unless you are building static kernel (e.g., for QEMU)
Line 33: Line 40:
When configuring the kernel, note that there is a menu (at the very end of the list) with LITMUS^RT^-specific configuration options. For reference, we provide a [[http://www.litmus-rt.org/releases/2011.1/x86_64-config|sample 64-bit configuration]] that is known to work under KVM. When configuring the kernel, note that there is a menu (at the very end of the list) with LITMUS^RT^-specific configuration options. For reference, we provide a [[http://www.litmus-rt.org/releases/2016.1/x86_64-config|sample 64-bit configuration]] that is known to work under KVM.
Line 37: Line 44:
The user-space library for real-time tasks, `liblitmus`, depends on the LITMUS^RT^ kernel kernel and provides its own build system. Run make help for instructions. Note that you will have to create a `.config` file in the library directory to point the build system to the kernel sources. For reference, we provide a sample [[http://www.litmus-rt.org/releases/2011.1/liblitmus-config|liblitmus configuration file]]. The user-space library for real-time tasks, `liblitmus`, depends on the LITMUS^RT^ kernel kernel and provides its own build system. Run make help for instructions. Note that you will have to create a `.config` file in the library directory to point the build system to the kernel sources. For reference, we provide a sample [[http://www.litmus-rt.org/releases/2016.1/liblitmus-config|liblitmus configuration file]].
Line 40: Line 47:
{{{
 
{{{#!highlight bash numbers=disable
Line 43: Line 49:
wget http://www.litmus-rt.org/releases/2011.1/liblitmus-2011.1.tgz
tar xzf liblitmus-2011.1.tgz
wget http://www.litmus-rt.org/releases/2016.1/liblitmus-2016.1.tgz
tar xzf liblitmus-2016.1.tgz
Line 46: Line 52:
wget http://www.litmus-rt.org/releases/2011.1/liblitmus-config wget http://www.litmus-rt.org/releases/2016.1/liblitmus-config
Line 53: Line 59:
The Feather-Trace tools (also known as `ft_tools`) depend on the `liblitmus` build system. Before the Feather-Trace toolscan be built, you must have successfully compiled `liblitmus` first. For reference, we provide [[http://www.litmus-rt.org/releases/2011.1/ft_tools-config|a sample ft_tools configuration file]]. The Feather-Trace tools (also known as `ft_tools`) depend on the `liblitmus` build system. Before the Feather-Trace tools can be built, you must have successfully compiled `liblitmus` first. For reference, we provide [[http://www.litmus-rt.org/releases/2016.1/ft_tools-config|a sample ft_tools configuration file]].
Line 56: Line 62:
{{{ {{{#!highlight bash numbers=disable
Line 58: Line 64:
wget http://www.litmus-rt.org/releases/2011.1/ft_tools-2011.1.tgz
tar xzf ft_tools-2011.1.tgz
wget http://www.litmus-rt.org/releases/2016.1/ft_tools-2016.1.tgz
tar xzf ft_tools-2016.1.tgz
Line 61: Line 67:
wget http://www.litmus-rt.org/releases/2011.1/ft_tools-config wget http://www.litmus-rt.org/releases/2016.1/ft_tools-config

Installation Instructions

This information is outdated. Please refer to the instructions on the project homepage.

The following instructions describe how to download and build the latest released version of LITMUSRT. If you intend to use LITMUSRT for development, you should use our source code repositories instead.

The Kernel

The extension to the Linux kernel is released as a patch against the Linux kernel. To install the LITMUSRT kernel, first download the Linux kernel 4.1.3 and untar it in a directory of your choice (hereafter referred to as $DIR). Second, apply the LITMUSRT patch (download the current version) and configure, compile, and install the kernel as usual. The patch is -p1 applicable.

To summarize, the LITMUSRT kernel can be obtained, patched, and compiled with the following commands:

cd $DIR
# get Linux 4.1.3
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.3.tar.gz
tar xzf linux-4.1.3.tar.gz
wget http://www.litmus-rt.org/releases/2016.1/litmus-rt-2016.1.patch
mv linux-4.1.3 litmus-rt
# apply the LITMUS RT patch
cd litmus-rt
patch -p1 < ../litmus-rt-2016.1.patch
# create a working kernel configuration
#  - enable in-kernel preemptions
#  - don't use power management options like frequency scaling
#  - disable support for group scheduling
#  - disable "Write protect kernel read-only data structures" (in kernel debug)
make menuconfig
# compile the kernel
make bzImage
make modules # unless you are building static kernel (e.g., for QEMU)
# proceed to install kernel, build initrd, etc.
...

When configuring the kernel, note that there is a menu (at the very end of the list) with LITMUSRT-specific configuration options. For reference, we provide a sample 64-bit configuration that is known to work under KVM.

The Userspace Library

The user-space library for real-time tasks, liblitmus, depends on the LITMUSRT kernel kernel and provides its own build system. Run make help for instructions. Note that you will have to create a .config file in the library directory to point the build system to the kernel sources. For reference, we provide a sample liblitmus configuration file.

To summarize, the liblitmus can be obtained and compiled with the following commands:

cd $DIR
wget http://www.litmus-rt.org/releases/2016.1/liblitmus-2016.1.tgz
tar xzf liblitmus-2016.1.tgz
cd liblitmus 
wget http://www.litmus-rt.org/releases/2016.1/liblitmus-config
mv liblitmus-config .config
make

Feather-Trace Tools

The Feather-Trace tools (also known as ft_tools) depend on the liblitmus build system. Before the Feather-Trace tools can be built, you must have successfully compiled liblitmus first. For reference, we provide a sample ft_tools configuration file.

To summarize, the Feather-Trace tools can be obtained and compiled with the following commands:

cd $DIR
wget http://www.litmus-rt.org/releases/2016.1/ft_tools-2016.1.tgz
tar xzf ft_tools-2016.1.tgz
cd ft_tools 
wget http://www.litmus-rt.org/releases/2016.1/ft_tools-config
mv ft_tools-config .config
make

InstallationInstructions (last edited 2017-05-26 23:54:21 by bbb)