Achieving Real Time capabilities with the Linux kernel.

Hey people, recently i really wanted to get my hands on an RTOS. I actually wanted to see it working on an embedded system or as an embedded system.Finally after a lot of googling and guidance,all roads pointed to XENOMAI and OROCOS (Open Robotics Control Software)…

Xenomai is a development framework released under the GNU General Public License. It co­operates with the Linux kernel to provide hard real time support to user­space applications into the Linux environment.(it  delivers short, bounded application latency on the kernel.) It is based on an abstract RTOS core, which can be used to build real­time interfaces over a nucleus which exports
a set of RTOS services.Skins which provide specific interfaces to the applications are built over this nucleus.

ADEOS (Adaptive Domain Environment for Operating Systems)
Adeos is a nanokernel hardware abstraction layer that operates between computer hardware and the operating system that runs on it.It provides an environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS, thereby enabling several kernels to run together on the same hardware.  It implements  a queue of signals.Each time a peripheral sends  a signal, the different operating systems that are running in the machine are awakened, in turn, and must decide if they will accept,
ignore, discard, or terminate the signal.The unhandled signals by an OS are passed to the next OS in the chain.
Inserting Adeos beneath the Linux kernel,helps achieve real time capabilities with the same.

Xenomai Installation Steps

Steps for installation of Xenomai­2.4.6.1 on Ubuntu 8.10 ( kernel version – 2.6.27­7 )

1. The stable version of Xenomai, 2.4.6.1 is saved to /usr/src.
Unpack it.
# cd /usr/src/
# tar xjf xenomai-2.4.6.1.tar.bz2
2. The linux kernel ­ 2.6.27.10 is saved to /usr/src
Unpack it.
# cd /usr/src/
# tar xjf linux-2.6.27.10.tar.bz2
Make a symbolic link using the command
# ln ­s linux­2.6.27.10 linux
3. Run scripts/prepare­kernel.sh in the Xenomai directory.
4. Specify the Linux kernel version (2.6.27.10) and the Adeos­i­pipe patch.
(adeos­ipipe­2.6.27­x86­2.1­02.patch)
5. Save a copy of the existing kernel config file and make changes to the new kernel
configuration by the following commands.
# cd /usr/src/linux-2.6.27.10
# make menuconfig
6. In the kernel configuration menu which appears,apply the following changes.
a. In Processor type and features,
check that interrupt pipelline is enabled.(to enable adeos implementation of i­pipe)
check that local­APIC and IO­APIC  support on uniprocessors are enabled.
b. In Power Management options,
in ACPI (Advanced Configuration and Power Interface) support ,disable processor.
c. Disable APM(Advanced Power Management) BIOS support.
d. Disable CPU Frequency Scaling.
7. Compile the kernel.
# sudo make
# sudo make modules_install install
8. Create the initial RAM file system (initramfs) for the new kernel.
# update­initramfs ­c ­k 2.6.27.10
9. Add the kernel to GRUB by making necessary changes in the menu.lst file.
10. Reboot the system with the new kernel.
11. Compile Xenomai by using the following commands.

# cd /usr/src/xenomai­2.4.6.1
#  ./configure
# make
# make install
12. Reboot the system,run the test­suite tests in /usr/xenomai/testsuite.
If running the testsuites tests is sucessful, the new kernel is sucessfully compiled and has
real time support.

I really have not got a chance implement it, here’s what some great guys in Berlin have done…..check this out… http://www.orocos.org/node/632, signing off… Auf Weidersehen!

~ by varun686 on April 5, 2009.

2 Responses to “Achieving Real Time capabilities with the Linux kernel.”

  1. hai,
    i am anju,i am currently working on xenomai.i am working with a custom powerpc board,trying to make it as real-time system.i am able to comile xenomai.what are next steps to perform to run xenomai applications?can u help me?what are next steps to perform after the xenomai compilation?please reply me via the given email.

    thanks in advance..

    • Hi anju..you can actually try out the SUN forums for power PC.I am not too familiar with the operating system running and the compatible kernel versions. So my advice is ask the SUN guys.

Leave a comment