Schooner and Robert,
OK, here is what I see when I run
those tests. Rather than grep the results of uname -r, I just printed out
uname -r.
machinekit@beaglebone:~$ cat /sys/kernel/realtime
cat:
/sys/kernel/realtime: No such file or directory
machinekit@beaglebone:~$ cat /boot/config-4.19.23-bone-rt-r22 | grep
CONFIG_PREEMPT_RT_FULL=yes
machinekit@beaglebone:~$
machinekit@beaglebone:~$ uname -a
Linux beaglebone 4.19.23-bone-rt-r22
#1stretch Sat Feb 16 22:07:49 UTC 2019 armv7l
GNU/Linux
Actually
looking at /boot/config-4.19.23-bone-rt-r22 here is
what I found with respect to CONFIG_PREEMPT_*
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_NONE=y
#
CONFIG_PREEMPT_VOLUNTARY is not set
#
CONFIG_PREEMPT__LL is not set
#
CONFIG_PREEMPT_RTB is not set
#
CONFIG_PREEMPT_RT_FULL is not set
Even though machinekit “runs”
i.e., starts up, it is clear that rt-preempt is not
configured correctly to run machinekit in realtime. I
can’t run my linux pc at the moment to look at how that config should be set, but I
believe that at the very least these changes should be made
#
CONFIG_HAVE_PREEMPT_LAZY
#
CONFIG_PREEMPT_NONE
#
CONFIG_PREEMPT_VOLUNTARY is not set
#
CONFIG_PREEMPT__LL is not set
#
CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y
Thanks,
Alan
That is one
way to deal with it.
rtapi_compat.c first checks the env var FLAVOR, before
trying to determine other ways
Run these tests from a terminal and let us know what
result you get
cat /sys/kernel/realtime (should return 1)
cat /boot/config-<kernel-version> | grep
CONFIG_PREEMPT_RT_FULL=yes ( should return
CONFIG_PREEMPT_RT_FULL=yes)
uname -a | grep 'PREEMPT RT' ( should return PREEMPT RT
- but we already know it won't)
There is something screwy about the 4.19 kernel and rt. I
stopped using the Debian rt-amd64 version and reverted to
4.18 because of problems
On 19/02/19 04:44, mugginsac
wrote:
Robert just furnished a new test image.
It definitely has an rt-preempt kernel, when I
exported FLAVOR=rt-preempt, it ran machinekit.
However, before I exported
FLAVOR=rt-preempt, machinekit tried to run the posix
realtime stuff (term of art).
So, the question is how does machinekit
try to determine the nature of the kernel that it is
running on?
Robert asked if we should just set
FLAVOR=rt-preempt in the environment when we create
the uSD. Is that acceptable?
--
website: http://www.machinekit.io
blog: http://blog.machinekit.io
github: https://github.com/machinekit
---
You received this message because you are subscribed to
the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.
--
website:
http://www.machinekit.io
blog:
http://blog.machinekit.io
github:
https://github.com/machinekit
---
You received this message because you are subscribed to a
topic in the Google Groups "Machinekit" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/machinekit/J9A7m9c8k74/unsubscribe.
To unsubscribe from this group and all its topics, send an
email to
[email protected].
Visit this group at
https://groups.google.com/group/machinekit.
For more options, visit
https://groups.google.com/d/optout.