Xenomai安装方法

http://www.xenomai.org/index.php/Xenomai_quick_build_quide

This is a quick list of commands on compiling xenomai version 2.4.4 with linux kernel 2.6.25.11 under ubuntu.

  • Download kernel 2.6.25.11
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.11.tar.bz2
  • Download xenomai 2.4.4
wget http://download.gna.org/xenomai/stable/xenomai-2.4.4.tar.bz2
  • Untar sources
tar xfj xenomai-2.4.4.tar.bz2
tar xfj linux-2.6.25.11.tar.bz2
  • Patch the kernel:
cd /usr/src/xenomai-2.4.4
scripts/prepare-kernel.sh
  • Configure the kernel:

Since the initrd option is not used later on, compile your hard disk drivers not as a module, but compile it into the kernel itself.

cd /usr/src/linux-2.6.25.11
cp /boot/config-2.6.24-16-generic  .config
make menuconfig
  • and compile the kernel for version 2.4:
make
sudo make modules_install
make bzImage
  • or compile the kernel for version 2.6:
make
sudo make modules_install install
make bzImage
  • copy the kernel image:
sudo cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.25.11-xenomai-2.4.4
  • Create a xenomai group and add users to it:
sudo addgroup xenomai
sudo usermod -a -G xenomai YOURUSERNAME
sudo usermod -a -G xenomai USERY
  • Configure grub (or another bootloader). Also you may try using your UUID in place of /dev/XXX (if the later doesn't work):
sudo vim /boot/grub/menu.lst
title           kernel 2.6.25.11 with xenomai 2.4.4 and Ubuntu 8.04
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.25.11-xenomai-2.4.4 root=/dev/XXX ro xeno_nucleus.xenomai_gid=1001 << groupid of the xenomai group
  • reboot into your new xenomai kernel
  • Configure and compile xenomai:
cd /usr/src/xenomai-2.4.4
./configure  /*是否增加--enable-x86-sep --enable-x86-tsc需要查看cpu的信息:用命令cat /proc/cpuinfo,如果在cflag中出现则添加*/
make
sudo make install
  • Now xenomai is installed in /usr/xenomai, to use it, update the ld paths:
sudo cp /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xenomai.conf
sudo vim /etc/ld.so.conf.d/xenomai.conf
# xenomai libs
/usr/local/lib
sudo ldconfig
  • Now xenomai is ready for action, try an example program:
cd /usr/src/xenomai-2.4.4/examples/native  
make
./trivial-periodic

出现如下错误:#error "CONFIG_NR_CPUS is too large, please lower it 时:
将内核源文件夹根目录下 .config文件的几个标志位作如下设置:
CONFIG_HPET_TIMER=n
CONFIG_HPET_EMULATE_RTC=n
CONFIG_SPARSE_IRQ=n
当出现"per_cpu__irq_stack_union" undeclared error,将CONFIG_CC_STACKPROTECTOR设置为n

> I have a  xenomai kernel running!
> 
> I have tested using the testsuit latency ./run program. initially I
> got this message
> 
> Xenomai: incompatible feature set.
> (required="sep tsc", present= "sep", missing="tsc")
方法1. To fix this, you need to select a x86 CPU supporting a timestamp counter 
when configuring your kernel, since by default, the configure script 
assumes --enable-x86-tsc.

方法2:The problem is that the TSC feature must be enabled in kernel-space if 
you want to enable it in user-space. So, you have two choices:
- either you enable the TSC in kernel-space by selecting the processor 
in kernel configuration which fits your processor (as suggested in 
Xenomai FAQ);
- either you disable usage of TSC in user-space by passing --disable-tsc to configure.

http://news.gmane.org/gmane.linux.real-time.xenomai.users 上提供大量的信息

你可能感兴趣的:(xenomai)