====== 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: - finn nyeste kombinasjon av Linux, Xenomai og ipipe-patchen - installer Ubuntu - last ned Linux-kildekode for versjonen i 1. trinn - last ned Xenomai-kildekode for versjonen i 1. trinn - last ned ipipe-patchen av versjonen i 1. trinn - følg disse instruksjonene og bruk skjønn: * http://rtt-lwr.readthedocs.io/en/latest/rtpc/xenomai3.html#configure-the-kernel * https://stackoverflow.com/questions/41949678/installation-steps-for-xenomai-3-on-ubuntu-16-04#42730452 * [[#hvordan_jeg_fikk_til_kompileringen_sist_gang]] - nå skal det ligge to .deb-pakker i mappen over Linux-kildekoden; begge må installeres på sanntidssalmaskin - kjør `update-grub` på sanntidssalmaskinen der pakkene er installert - installer andre Xenomai-pakker fra Ubuntu-pakkebrønnen ===== Nyttige lenker ===== * http://old-releases.ubuntu.com/releases/16.04.1/ * https://www.kernel.org/pub/linux/kernel/v4.x/ * https://xenomai.org/downloads/xenomai/stable/latest/ * http://xenomai.org/downloads/ipipe/ * http://rtt-lwr.readthedocs.io/en/latest/rtpc/xenomai3.html#configure-the-kernel * https://stackoverflow.com/questions/41949678/installation-steps-for-xenomai-3-on-ubuntu-16-04#42730452 ===== 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