в последние пару дней я пытался скомпилировать ядро xenomai.Я уже попробовал некоторые уроки (также xenomai).
После успешной компиляции ядра и его установки, я загружаю систему и выполняю:
dmesg | grep Xenomai
И получаю это:
[ 5.088882] [Xenomai] scheduling class idle registered.
[ 5.088884] [Xenomai] scheduling class rt registered.
[ 5.088906] [Xenomai] disabling automatic C1E state promotion on Intel processor
[ 5.088919] [Xenomai] SMI-enabled chipset found, but SMI workaround disabled
[ 5.089025] I-pipe: head domain Xenomai registered.
[ 5.089769] [Xenomai] allowing access to group 1234
[ 5.089805] [Xenomai] Cobalt v3.0.7 (Lingering Dawn)
Затем, чтобы проверить возможности реального времени, я запускаю следующую строку:
/usr/xenomai/bin/latency
И это работает: Вот некоторые результаты:
== Sampling period: 100 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT| 00:00:01 (periodic user-mode task, 100 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD| 1.321| 1.629| 13.286| 0| 0| 1.321| 13.286
RTD| 1.319| 1.698| 18.933| 0| 0| 1.319| 18.933
RTD| 1.561| 1.623| 8.527| 0| 0| 1.319| 18.933
RTD| 1.291| 1.600| 4.062| 0| 0| 1.291| 18.933
RTD| 1.412| 1.596| 5.018| 0| 0| 1.291| 18.933
RTD| 1.422| 1.557| 6.148| 0| 0| 1.291| 18.933
RTD| 1.146| 1.550| 4.347| 0| 0| 1.146| 18.933
RTD| 1.422| 1.534| 8.127| 0| 0| 1.146| 18.933
RTD| 1.149| 1.532| 3.834| 0| 0| 1.146| 18.933
RTD| 1.427| 1.537| 4.118| 0| 0| 1.146| 18.933
Затем я попыталсяxeno-test.
sudo xeno-test
Started child 1954: /bin/bash /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
++ echo 0
++ /usr/lib/x86_64-linux-gnu/xenomai/arith
Xenomai: native skin or CONFIG_XENO_OPT_PERVASIVE disabled.
(modprobe xeno_native?)
Как я должен заставить его работать?в файле .config не объявлено CONFIG_XENO_OPT_PERVASIVE.Загрузка модуля также завершается неудачно:
modprobe: FATAL: Module xeno_native not found in directory /lib/modules/4.4.43-xenomai-3.0.7
.config, который я использовал, был:
https://pastebin.com/Cy2BUSLf
ОС: Ubuntu 16.04 Ядро Linux для исправления: 4.4.43Xenomai: 3.0.7 Ipipe: ipipe-core-4.4.43-x86-8.patch
Я пробовал это:
- Этапы установки для xenomai 3 в Ubuntu 16.04
- https://gitlab.denx.de/Xenomai/xenomai/wikis/Installing_Xenomai_3 (с тем же ядром)
Вот список команд, которые я использовал:
mkdir kernel_src
tar -jxf xenomai-3.0.7.tar.bz2 --directory kernel_src/
tar -xzvf linux-4.4.43.tar.gz --directory kernel_src/
cp ipipe-core-4.4.43-x86-8.patch kernel_src/linux-4.4.43
cd kernel_src/
../xenomai-3.0.7/scripts/prepare-kernel.sh --arch=x86_64 --ipipe=ipipe-core-4.4.43-x86-8.patch
sudo make menuconfig
sudo make -j8 bzImage modules
sudo make install
sudo update-grub
sudo reboot
sudo xenomai-3.0.7/configure --with-core=cobalt --enable-smp --enable-pshared
# To fix /dev/rtheap no found when running the xeno-test:
for n in `seq 0 31`; do f="/dev/rtp$n"; sudo mknod -m 666 $f c 150 $n; done
sudo mknod -m 666 /dev/rtheap c 10 254