Linux RTAI for MVME5500 Board

Linux MVME5500 PowerPC™

RFX Linux/RTAI-Xenomai/RTnet distribution



The structure of the distribution is shown below.

|-- RTAI
|    |-- redme
|    |-- rtai-3.4-070422.tar.gz
|    `-- rtai-3.4.tar.gz
|-- RTnet
|    `-- rtnet-0.9.8.tar.bz2
|-- Xenomai
|    `-- xenomai-2.2.0.tar.bz2
|-- crosstool
|    `-- crosstool.tar.gz
|-- kconfig
|    |-- redme
|    |-- .config-mvme5500-linux
|    |-- .config-mvme5500-rtai3.4
|    `-- .config-mvme5500-xenomai2.2.0
|-- kernel
|    `-- linux-2.6.14.tar.bz2
|-- patch
|    |-- adeos-ipipe-2.6.14-ppc-1.3-05-rfx01.patch
|    |-- adeos-ipipe-2.6.14-ppc-1.3-05.patch
|    |-- adeos-ipipe-2.6.14-ppc-1.3-05.patch-browseable
|    |-- adeos-ipipe-2.6.x-mv64x60.patch
|    |-- hal-linux-2.6.14-ppc-1.5-01.patch
|    |-- patch-2.4.25-mcg.rm01
|    |-- patch-2.6.14-1.3-05.ipipe-070510
|    |-- patch-2.6.14-ecc.11012006
|    |-- patch-2.6.14-ecc.11012006-rfx01
|    |-- patch-2.6.14-ecc.11012006-rfx01-1.3-05.ipipe-01
|    |-- patch-2.6.14-ecc.rm02
|    |-- patch-2.6.14-ecc.rm02-rfx01
|    |-- readme
|    |-- readme_linux_2614_ecc.txt
|    |-- rthal-2.6.14-ipipe-1.3-05.061218
|    `-- rthal-2.6.14-ipipe-1.3-05.061229
|-- porting
|    |-- porting-executable.tar.gz
|    |-- porting-source.tar.gz
|    `-- readme
|-- rootfs
|    |-- readme
|    `-- rootfs.tar.gz
`-- sysapps
    |-- busybox-1.2.1.tar.gz
    |-- module-init-tools-3.2.tar.gz
    |-- pciutils-2.2.4.tar.gz
    `-- vmelinux-1.3.0.tar.gz

10 directories, 36 files

A brief summary of the required steps for the construction of the Linux MVME5500 distribution is provided. For each step the source code,  the compiled objects and the executables when appropriate.

Cross Development Toolchain

We choose to use a GNU Cross Development ToolChain. Many different scripts are available,  that help you in the process of compilation of a toolchain. From our experience the possible ways to obtain a GNU Cross Development Toolchain are:

-  Download it from the DENX web site;

-  Use the Dan Kegel's Crosstool (the best script ever)

-  Making it by hand (only if you have many time to spend or if you want to optimize step by step everything).

The following is our Cross Development ToolChain from x86(32bit) Linux to PowerPC(32bit) Linux specifically for MPC7450 family.


We suggest to extract the archive in the /opt/ directory of this distribution. After the extraction you must add the bin (/opt/crosstool/gcc-3.4.1-glibc-2.3.3/powerpc-7450-linux-gnu/bin) directory of the package in the PATH environment variable to finish the installation.

Detailed Installation Instruction

# cd /opt/
# cp /path/where/is/your/crosstool.tar.gz crosstool.tar.gz
# tar -xvf crosstool.tar.gz

Now, depending the shell you use and the policy of your box, you must set the PATH environment variable. If you use the Bash Shell you probably find the /etc/profile file. Open it and add at the end of the line where you find something like this:

PATH= "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin"

the string "/opt/crosstool/gcc-3.4.1-glibc-2.3.3/powerpc-7450-linux-gnu/bin" so the new line look like this:

PATH = "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/opt/crosstool/gcc-3.4.1-glibc-2.3.3/powerpc-7450-linux-gnu/bin"

Root File System

For every Linux system a Root File System must be provided. We choose not to link the kernel image with any initial ramdisk, and therefore we not need any initial module to load in booting phase. Our system use a root Network File System (NFS). The file system is exported via a NFS server (using Red Hat Linux). The file system can be downloaded from the following links:.


To use it you must extract it in a diretory of your file server. For the installation, you must use script MAKE_DEV script, available in the package. The NFS file server should be installed and run before starting the target machine.

Detailed Installation Instruction

If you want your server to export the /exports/ directory, you could do that:

# cd /exports/
# cp /path/where/is/your/rootfs.tar.gz rootfs.tar.gz
# tar -xvf rootfs.tar.gz

Now you must create the device files and directory.

# cd rootfs
# mkdir dev
# cd dev

if something goes wrong check file privilegies.


For this project we developed several patches, listed below.


The first set of patches is  from Motorola. These patches can be downloaded from the Motorola MCG site or asking to Ajit Preem. The following are original Motorola patches for the Linux kernel 2.6.14 we have been using.


These patches are essential since the basic Linux kernel doesn't support tha MVME5500 Motorola Board.


The following patches  add a few fixes to  VME management from user space and some other minor feature:


With these patches we Linux 2.6.14 you should be able to run Linux on the MVME5500 board.
Finally we choose to adopt patch-2.6.14-ecc.11012006 and patch-2.6.14-ecc.11012006-rfx01.


To use RTAI or Xenomai with Linux it is required to patch the Linux kernel with the   ADEOS patch. No working ADEOS patch for our MVME5500 platform was available. Therefore we started debugging the kernel (using gdb/kgdb) with this patch:



After less than a week we found the problem and reported it to the ADEOS mailing list. The corrected ADEOS patch and the final patch to be applied to an ADEOS patched kernel are listed below.



RTAI need a modified version of the ADEOS-ipipe patch.  Below you can find it toegether with other useful patches.


Detailed Installation Instruction

Look at the following file for the installation instruction.


Kernel Config

The files below should be used with a patched kernel to enable the same configuration we use for the kernel compilation.


The first .config is suitable for a Vanilla kernel with or without ADEOS-ipipe, the second one for using with RTAI and the last for Xenomai.

Detailed Installation Instruction

While in kernel configuration application choose 'open' and select the .config file suitable for you.


We start from a 2.6.14 Linux Vanilla kernel (partially inspired by the slackware distribution). Following is the package we use.


Detailed Installation Instruction

You can find very detailed instruction on the kernel build process on Internet.
We encurage the reader to read first the patches readme.
Configuring the kernel is very easy using the GNU Cross Development Toolchain introduced before:

# make ARCH=ppc CROSS_COMPILE=powerpc-7450-linux-gnu- xconfig


# make ARCH=ppc CROSS_COMPILE=powerpc-7450-linux-gnu- menuconfig

or you can use gconfig or oldconfig or modify the Makefile...

Than choose one of the config file we provide. One essential option you must select is the kernel Command line, this option must be filled with this string:

console=ttyS0,9600 root=/dev/nfs rw nfsroot=/tftpboot/linux5500/fs ip=xxx.xxx.33.128:xxx.xxx.3.173:xxx.xxx.33.1: vme=vme_slotnum=1


RTAI is a good solution for making Linux an Hard Real Time OS, here you find the homepage. Below we provide the starting RTAI package from which we start the work (rtai-3.4.tar.gz) and the modified one that work under PowerPC (rtai-3.4-070422.tar.gz).


We would make a note about the thing that, thanks to our work and an effort from prof. Mantegazza, now RTAI supports PowerPC with new kernels. Current RTAI CVS snapshot supports PowerPC 32bit kernel and user space.

Detailed Installation Instruction

You can find detailed instruction for the RTAI installation on the official site.


Xenomai is another extension to make Linux an Hard Real Time OS. The official Xenomai site is here. Xenomai did not require extra pathces, only the one needed for ADEOS-ipipe.


Detailed Installation Instruction

You can find detailed instruction for the Xenomai installation on the official site.


RTnet is an open source (like RTAI and Xenomai) Real Time network extension for RTAI or Xenomai. The official web site is here.


Detailed Installation Instruction

You can find detailed instruction for the RTnet installation on the official site.

System Applications

We adopted the following system application, freely available on the network:


Ported Applications from Wind River System VxWorks®

Our work  aimed at  testing  the Linux/RTAI and Linux/Xenomai Operating Systems on the MVME5500 platform, tfor a comparison with the Wind River System VxWorks. For this reasonm, we ported some drivers and data I/O programs in Linux, Linux/RTAI and Linux/Xenomai. These programs are specific to our architecture based on a VME rack and the Pentland MPV914 and VGD4 boards.

The following archives are related to this  hardware.


This work is an extra effort for the paper:

Performance Comparison of VxWorks, Linux, RTAI and Xenomai in a Hard Real-time Application

A.Barbalace, A. Luchetta, G. Manduchi, M. Moro, A. Soppelsa and C. Taliercio

Presented at the "15th IEEE NPSS Real Time Conference 2007 Fermilab, Batavia IL, april 29 -may4, 2007" and to appear in the IEEE TSN Transactions.

Last updated: 1 june 2007
Antonio Barbalace 2006-2007
RFX IGI CNR Padova (Italy)

Posizioni lavorative aperte

Nella seguente pagina potete verificare le posizioni lavorative aperte presso il Consorzio RFX


A European Doctoral initiative on Fusion Science and Engineering is active: information are available in the web site.



banner tesina



In this section, a combination of different educational and information content is given. Here you can download, for personal use, photo collections, videos, textbooks and brochures on fusion science and technology and on research at Consorzio RFX.

 Read more

Who's online

There are currently 0 users and 3 guests online.