노무현 대통령 배너


2007. 8. 17. 13:36

Linux MVME5500

http://www.igi.pd.cnr.it/wwwexp/technologies/mvme5500/

Linux MVME5500

PowerPC™ RFX Linux/RTAI-Xenomai/RTnet distribution

Summary


Contents

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.

crosstool.tar.gz

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:.

readme
rootfs.tar.gz

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
# cp MAKE_DEV dev/MAKE_DEV
# cd dev
# ./MAKE_DEV

if something goes wrong check file privilegies.


Patches

For this project we developed several patches, listed below.

Motorola's

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.

patch-2.6.14-ecc.rm02
patch-2.6.14-ecc.11012006

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

RFX's

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

patch-2.6.14-ecc.rm02-rfx01
patch-2.6.14-ecc.11012006-rfx01

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.

ADEOS's

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:

adeos-ipipe-2.6.14-ppc-1.3-05.patch

ADEOS RFX's

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.

adeos-ipipe-2.6.14-ppc-1.3-05-rfx01.patch
adeos-ipipe-2.6.x-mv64x60.patch

extras

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

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-rfx01-1.3-05.ipipe-01
rthal-2.6.14-ipipe-1.3-05.061218
rthal-2.6.14-ipipe-1.3-05.061229

Detailed Installation Instruction

Look at the following file for the installation instruction.

readme
readme_linux_2614_ecc.txt


Kernel Config

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

readme
.config-mvme5500-linux
.config-mvme5500-rtai3.4
.config-mvme5500-xenomai2.2.0

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.


Kernel

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

linux-2.6.14.tar.bz2

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

or

# 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:255.255.0.0:linux5500:eth0:off vme=vme_slotnum=1

RTAI

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).

readme
rtai-3.4.tar.gz
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

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.

xenomai-2.2.0.tar.bz2

Detailed Installation Instruction

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


RTnet

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

rtnet-0.9.8.tar.bz2

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:

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


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.

porting-executable.tar.gz
porting-source.tar.gz
readme


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.

'Interface > VME Bus' 카테고리의 다른 글

Bus & Board Conference-2007  (0) 2008.06.04
[본문스크랩] VITAL 이란 무엇인가?  (0) 2007.09.18
랙의 높이 단위 1U=4.5cm  (0) 2007.06.20
Deadlock 방지  (0) 2007.04.05
VME 보드 설계자료-3  (0) 2007.04.05