Note: This is an entry from my old website. This project was completed in 2007. I make no guaratee that this will work with newer versions of the software used for this project. Please use caution when using this information
About this guide
This guide outlines the procedure to install RTAI on Arcom’s SBC-GX533 Development Board. You will need the SBC-GX533 Development Kit and a Linux machine (running preferably Kernel 2.6) to complete this tutorial. I will be referring to the Linux machine as the host system and the SBC-GX533 as the target board. Access to the Internet from the host system is preferred. Also you need a way to copy files from the host system to the target board. I used ssh for this purpose. The board’s ethernet card 0 (eth0) is configured via DHCP so all I needed to do was to plug one of the spare ethernet cables from my router to eth0 and I was able to access the target board via eth0. If you don’t have Internet connection on either machine, all you need to do is configure both systems’ IP addresses manually and put them on a network. If for this you need to login to the target board, you can connect to the board using serial connection. The procedure to connect to the target board using serial connection can be found in the SBC-GX533 Technical Manual.
You need the following installed on the host system before proceeding.
- Perl – To install the AEL host environment.
- AEL host environment – You can install the AEL host environment from the CD provided with the kit. Installation instructions can be found in Arcom Embedded Linux Technical Manual.
- Minicom or other serial communications program like GtkTerm.
Arcom, a Eurotech company, is a leading supplier of standard, modified, and custom solutions for embedded communication and control technology. Founded in Cambridge in 1982, Arcom has developed a broad range of solutions for data processing, communications and control in industry and commercial applications. Arcom has engineering and support teams in Kansas City (US) and Cambridge (UK) which offer Design services to OEM customers.
More information about Arcom can be found at http://www.arcom.com.
To put it into a single sentence, The Arcom SBC-GX533 Linux Development Kit provides the easiest way to develop a wide range of embedded devices in a Linux environment.
More elaborately, [from Arcom's Website] The SBC-GX533 is a low profile, fan-less, RoHS compliant EBX form factor board, based on the AMD Geode™ GX 533 @1.1W processor. It includes all the standard PC interfaces as well as a full range of multimedia features including onboard graphics which can drive a standard analog display or a TFT flat panel, dual 10/100baseTx Ethernet, onboard 32Mbyte Flash drive, CompactFlash port, four USB ports, four serial ports and an analog touchscreen interface.
The SBC-GX533 is ideal for fan-less embedded controllers which require PC compatibility with full solid-state operation.
Kernel 2.6 based Embedded linux is already installed, with GNC C library. Compressed Journalling Flash File System (JFFS2) offering high reliability and recovery from power interruptions. Secure Shell (openSSH) , Embedded Web Server. Embedded Linux Drivers for onboard I/O, network and audio.
For more information on the SBC-GX533 Development Kit, visit :
RTAI stands for Real-Time Application Interface for Linux. RTAI lets you write applications with strict timing constraints. RTAI consists mainly of two parts:
- A patch to the kernel which introduces a hardware abstraction layer. This adds to the kernel real-time capabilities allowing you to have a real-time OS within a non real-time Linux environment.
- A broad variety of services which make real-time programmers’ lives easier. The RTAI API provides you a wide variety of functions you can use to develop your embedded application faster.
For more information on RTAI, check out the project website.
Installing RTAI on Arcom’s SB-GX533
Step1: Setup the Sources
Download the latest stable RTAI Package from their project website. For this project I used the 3.4 closure version. The Kernel source for the target board can be found on the AEL Host environment on the host machine. On the machine used for this project, the path to the source was
Extract both, the kernel source and rtai source to
/usr/src. Create symlink
/usr/src/linux pointing to the kernel source using
ln -s /usr/src/linux-source-18.104.22.168-arcom1 /usr/src/linux
Now to apply the RTAI patch do the following.
Now the sources are setup and we can proceed to configuring and compiling the kernel and RTAI.
Step 2: Configuring and Compiling the Kernel
First get the default configuration by running
make ARCH=i386 sbc-gx533_defconfig
Next you can tweak the options to suite your needs using
make ARCH=i386 xconfig
According to the RTAI installation guide, you need to turn off module versioning, ACPI support and APM support as these conflict with RTAI. I turned on support for Arcom SBC-GX533 and also made the kernel preemptible. Once this is done you can move on to compiling the kernel. You have to do this using the tool
ael-kernel-build --ARCH=i386 image
This will compile the kernel, build the image and build three .deb packages at
/usr/src/. Copy the linux-image .deb file to the target board and install using
dpkg -i linux-image-22.214.171.124-arcom1_10.0.Custom_i386.deb
Now connect to the target board using serial connection and enter the Redboot mode, by pressing Ctrl-C when prompted during the boot up. Once you are in the Redboot enter the following command to change the default kernel to the newly installed one.
alias kernel /boot/vmlinuz-
Now the board is ready for RTAI to be installed.
Step 3: Configuring and Compiling the RTAI
According to the RTAI manual you need to be running the kernel with which you are going to use RTAI. But the cross compilation did work for me with a few fixable problems. Change the working directory to
/usr/src and create a new directory called
build. This is preferred way of compiling RTAI. Change the working directory to build. Now enter the following to build and install RTAI.
make -f /usr/src/rtai-3.4-cv/makefile xconfig CC=i386-linux-gcc CXX=i386-linux-g++
Select all the features you need and then save the configuration and exit. Now compile RTAI.
Now install RTAI to a folder so that you can transfer it to the target board.
make install DESTDIR=/tmp/rtai
Once the installation is completed you can transfer the installation to the target board by the following commands. The target board by default does not have bunzip compression installed on it, hence it is easier to use gunzip compression.
tar cvzf ../rtai_install.tar.gz *
cd .. sftp root@<TargetBoard_Hostname_or_IPAddress>
now login to the target board and install RTAI.
cd / tar xvf /root/rtai_install.tar.gz
This concludes the installation of RTAI
Step 4: Testing the RTAI Installation
Change the working directory to
/usr/realtime/testsuite/kern/latency and type the following
This should run the latency test and display the results. The default installation asks you to just run ./run in the current directory tos ee the latency results, but due to cross compilation (IMHO) it does not work like that any more. You have to call rtai manually passing it the test you want to run. There is a file named
.runinfo in each of the testsuite directory. The first word inside the file is the argument you have to pass to
rtai_load to run the test. Compare your results with the ones on this site – http://issaris.org/rtai/.
Now your Arcom SBC-GX533 is ready for running real-time applications.