Xenomai på sanntidssalen

Xenomai består av en kernel-patch og tilhøre programvarebiblioteker som gjør det mulig å gjøre sanntidsprogrammering med Linux-kjernen. Uten Xenomai vil programmer som kjører muligens måtte vente flere millisekunder mellom et maskinvareavbrudd oppstår og programmet får mulighet til å reagere på det, men Xenomai gjør det mulig å omgå Linux sin scheduler for å få en reaksjonstid som kan måles i CPU-sykler i stedet for mikrosekunder.

Installere Xenomai på Ubuntu

For å sette opp Xenomai er det dette du må gjøre:

  1. finn nyeste kombinasjon av Linux, Xenomai og ipipe-patchen
  2. installer Ubuntu
  3. last ned Linux-kildekode for versjonen i 1. trinn
  4. last ned Xenomai-kildekode for versjonen i 1. trinn
  5. last ned ipipe-patchen av versjonen i 1. trinn
  6. følg disse instruksjonene og bruk skjønn:
  7. nå skal det ligge to .deb-pakker i mappen over Linux-kildekoden; begge må installeres på sanntidssalmaskin
  8. kjør `update-grub` på sanntidssalmaskinen der pakkene er installert
  9. installer andre Xenomai-pakker fra Ubuntu-pakkebrønnen

Nyttige lenker

Hvordan jeg fikk til kompileringen sist gang

(2017-11-02)

Dette er et utdrag med det viktige fra `history`-en min fra den gangen jeg fikk til å kompilere Xenomai-kjerne.

asmund@itk-d907-ubuntu:~/xenomai_2017-11-02/ferdig 
>> cat hvordan.txt 
Les http://rtt-lwr.readthedocs.io/en/latest/rtpc/xenomai3.html#configure-the-kernel
for å se hvilke innstillinger man bør endre på i "make xconfig"

    8  sudo apt install kernel-package 
   15  mkdir xenomai_2017-11-02
   16  cd xenomai_2017-11-02/
   26  wget http://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.43-x86-8.patch
   29  wget https://xenomai.org/downloads/xenomai/stable/latest/xenomai-3.0.5.tar.bz2
   30  tar xfvj xenomai-3.0.5.tar.bz2 
   31  wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.43.tar.gz
   33  tar xfvz linux-4.4.43.tar.gz 
   39  sudo apt-get install libncurses5 libncurses5-dev build-essential kernel-package fakeroot libssl-dev
   46  prepare-kernel.sh --arch=x86_64 --linux=linux-4.4.43 --ipipe=ipipe-core-4.4.43-x86-8.patch 
   48  cp /boot/config-4.4.0-31-generic .config
   50  make xconfig
   54  sudo apt install qt5-default 
  105  CONCURRENCY_LEVEL=$(nproc) make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers
  106  ls -l ..

Pakker som hører til

Pakkene med navn som inneholder «xenomai» bør installeres (bortsett fra xenomai-kernel-source).

>> apt search xenomai
Sorting... Done
Full Text Search... Done
libxenomai-dev/xenial,now 2.6.4+dfsg-0.2 amd64
  Headers and static libs for Xenomai

libxenomai1/xenial,now 2.6.4+dfsg-0.2 amd64
  Shared libraries for Xenomai

ros-cmake-modules/xenial,xenial 0.4.0-2 all
  Robot OS CMake Modules

xenomai-doc/xenial,xenial 2.6.4+dfsg-0.2 all
  Xenomai documentation

xenomai-kernel-source/xenial,xenial,now 2.6.4+dfsg-0.2 all
  Linux kernel patches for Xenomai

xenomai-system-tools/xenial 2.6.4+dfsg-0.2 amd64
  Xenomai system tools utilities



2017/11/09 10:05, aasmunst