RTAI

Dec 16, 2013
1 min read
May 31, 2023 18:15 EEST

RTAI

Get RTAI from:

cd /usr/local/src
mkdir rtai-cvs
cd !$
cvs -d:pserver:anonymous@cvs.gna.org:/cvs/rtai login
cvs -d:pserver:anonymous@cvs.gna.org:/cvs/rtai co magma
cd magma

Get the kernel 2.6.10 from:

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
tar xjvf linux-2.6.10.tar.bz2
rm linux
ln -s linux-2.6.10 linux
cd linux
patch -p1 </usr/local/src/rtai-cvs/magma/base/arch/x86_64/patches/hal-linux-2.6.10-x86_64-r10c1.patch

Compile the kernel and reboot with it.

Compiling rtai:

cd /usr/local/src/rtai-cvs/magma
make

Kernel 2.6

http://www.captain.at/programming/kernel/ Download kernel 2.6.17 from kernel.org.
Download rtai-3.4 from www.rtai.org .

Compile kernel and boot the new kernel. Working config for my system you can find Kernel-conf-rtai-2.6.17.txt .

Now patch RTAI into the kernel:

cd /usr/src/linux
patch -p1 -b < /usr/local/src/rtai-3.4/base/arch/i386/patches/hal-linux-2.6.17-i386-1.3-08.patch
make oldconfig
make
make install
make modules_install

And boot the new kernel. I use the following parameters:

kernel (hd0,0)/vmlinuz-2.6.17 root=/dev/hda2 vga=0x317 console=ttyS0,115200 console=tty0 resume=/dev/hdb2 splash=silent showopts

Compile the rtai with:

cd /usr/local/src/rtai-3.4/
make
make install

Now edit your PATH environment and add /usr/realtime/bin to it.

Now it is necessary to load the kernel modules type. At first we define some parameters for the rtai load script:

cp idefix:/usr/local/src/rtai-3.4/testsuite/kern/latency/runinfo /root/.runinfo

insmod /usr/realtime/modules/rtai_hal.ko
insmod /usr/realtime/modules/rtai_up.ko # or rtai_lxrt.ko for userspace
insmod /usr/realtime/modules/rtai_fifos.ko
insmod /usr/realtime/modules/rtai_sem.ko
insmod /usr/realtime/modules/rtai_mbx.ko
insmod /usr/realtime/modules/rtai_msg.ko
insmod /usr/realtime/modules/rtai_netrpc.ko ThisNode="127.0.0.1"
insmod /usr/realtime/modules/rtai_shm.ko
insmod /usr/realtime/modules/rtai_leds.ko
insmod /usr/realtime/modules/rtai_signal.ko
insmod /usr/realtime/modules/rtai_tasklets.ko

To test if RTAI is running we can do the following:

cd /usr/realtime/testsuite/kern/latency/
./run