Real Time Kernel 4.19.25-rt16 for 32 and 64 bit is Available

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

Real Time Kernel 4.19.25-rt16 for 32 and 64 bit is Available

#1 Post by rockedge »

▶—— Linux RT Kernel 32 bit ——◀

Linux Kernel: 4.19.25-rt16 (i686)
Kernel Version: #1 SMP PREEMPT RT Wed Mar 13 12:03:11 EDT 2019
Build GCC: 7.3.0
PAE Enabled: Yes

https://rockedge.org/kernels

▶—— Linux RT Kernel 64 bit ——◀
Linux Kernel: 4.19.25-rt16 (x86_64)
Kernel Version: #1 SMP PREEMPT RT Wed Mar 13 18:57:00 EDT 2019
Build GCC: 7.3.0

Kernel Command Line:
psubdir=Bionic64-v8 pmedia=atahd pfix=fsck net.ifnames=0

https://rockedge.org/kernels
__
Last edited by rockedge on Thu 14 Mar 2019, 02:06, edited 3 times in total.

User avatar
Smithy
Posts: 1151
Joined: Mon 12 Dec 2011, 11:17

#2 Post by Smithy »

Nice one Rockedge.
Details, advantages of this kernel etc?

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#3 Post by rockedge »

hello!

It has been reported that the real time kernels use less RAM. These kernels have really low latency and are good when using CAD/CAM or controlling running CNC machines or for puppys that record audio or use software synthesizers and sequencers for electronic music.

the kernel can for example can always give audacity the most cycles during it's operation with very low latency. MIDI controllers are another use as is video editing or recording.

there are packages and programs that can use this ablity.

as for servers,there are not really any advantages in performance to use a real time kernel. Although as stated before, they have shown they use less RAM.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#4 Post by rockedge »

They are out there to test out and experiment with. See what happens....

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#5 Post by Revolverve »

rockedge wrote:. See what happens...
...happen that it work fine!!
hummm... controlling running CNC machine?
Should test linuxcnc/uspace,could it run?will see..

Thanks
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#6 Post by rockedge »

Revolverve

I see from looking at the install options that it can use a RT kernel. And I think a Debian version would compile in Puppy Linux.

If I can find the source I will try to make a LinuxCNC with Puppy Linux Bionic as the OS
Attachments
Screenshots(13).png
(140.11 KiB) Downloaded 964 times

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#7 Post by rockedge »

maybe call it PuppyCNC......

Code: Select all

2.1. Realtime

LinuxCNC is a machine tool controller, and it requires a realtime platform to do this job. This version of LinuxCNC supports three realtime platforms

RTAI

    From https://www.rtai.org. A Linux kernel with the RTAI patch is available from the Debian archive at http://www.linuxcnc.org. See Getting LinuxCNC for installation instructions.
Xenomai

    From https://xenomai.org. You will have to compile or obtain a Xenomai kernel yourself.
Preempt-RT

    From https://rt.wiki.kernel.org. A Linux kernel with the Preempt-RT patch is occasionally available from the Debian archive at https://www.debian.org, and from the wayback machine at https://snapshot.debian.org.

To make use of the realtime capabilities of LinuxCNC, certain parts of LinuxCNC need to run with root priviledges.
our RT kernel is a Preempt-RT type

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#8 Post by Revolverve »

rockedge wrote:maybe call it PuppyCNC......
Would be glad to test one of these...do have a small working/testing cnc/2x parallel ports at home.
Does run Debiandog rtai fine.
Enjoy compiling brother...
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#9 Post by Revolverve »

Look there source+ and
wiki.linuxcnc.org/cgi-bin/wiki.pl?Uspace or compile 3.4.9 rt-preempt as linuxcnc binairies are available...
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#10 Post by Revolverve »

I am not the only one interested....
debiandog rtai topic views= 105k...in 5 years...
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#11 Post by Revolverve »

No success here at compiling linuxcnc for x64 kernel,not an easy task.
Thanks ,midi/muse sequencer sfslike it.
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#12 Post by Revolverve »

rockedge
Included a pic from manual,i think you missed that one...
Fooling around with your 4.19.25rtpreempt and learning.
Trying the linuxcnc uspace with it,shame here ,seems only stop by :
-setuid/rights , not sure here yet what to chown u+s possibly compromising who..e.g.;busibox
Managing all dependencies was the easy part..
Could maybe start a topic testing it if i get thru;
- priviledge bump..
Thanks again for rt.
Attachments
Screenshot(1).png
(37.49 KiB) Downloaded 467 times
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#13 Post by rockedge »

Hello!

have you tried to change the setuid for the executable binaries?

the permissions should have a small "s" like this indicating the setuid bit is set

Code: Select all

-rwsr-xr-x. 1 root root 27768

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#14 Post by Revolverve »

Hey rockedge,
linuxcnc wiki suggest ' If you are running on a realtime-capable system"
to make, make setuid..
I tested here using bionic binaries found as i have had no success compiling it.
To your question;
to be honest, i would say,maybe, i did tried a lot without taking notes ..

I will retry some more at compiling it..
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#15 Post by Revolverve »

Hi rockedge,
Its not a compiling topic...if ever you got a hint on alternative to a

`dpkg-architecture -qDEB_HOST_MULTIARCH` call in configuring?

Compiling is a time consuming pain....you compilers/coders deserve all my sincere gratitude..
Any idea? else then suggesting a degree in software engineering...:)
Thanks
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#16 Post by rockedge »

Hello Revolverve,

I think I will give compiling LinuxCNC a try. What system are you using? I am going to start with Bionic and go from there!
Last edited by rockedge on Mon 25 Nov 2019, 03:59, edited 1 time in total.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#17 Post by rockedge »

I found how to get by the error and include the command.

Now I get this far and I've run into a Segmentation Fault

Code: Select all

root-# ./configure
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/lockfree/queue.hpp usability... yes
checking boost/lockfree/queue.hpp presence... yes
checking for boost/lockfree/queue.hpp... yes
checking whether g++ supports C++11 features by default... yes
checking build toplevel... /root/Build/linuxcnc
checking installation prefix... run in place
checking for grep... (cached) /bin/grep
checking for egrep... (cached) /bin/grep -E
checking for pkg-config... /usr/bin/pkg-config
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking for rtai-config... none
checking for xeno-config... none
checking for realtime API(s) to use... uspace
checking whether to enable userspace PCI access... yes
checking for libudev... yes - version 220
checking for cc version... not specified
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for usability of linux/hidraw.h... yes
checking for usability of rpc/rpc.h... yes
checking for libmodbus3... yes - version 3.0.6
checking for libusb-1.0... yes
checking for module installation directory... configuring for run-in-place
/root/Build/linuxcnc/rtlib
checking for glib... yes - 2.56.3
checking for GTK 2.4.0 or above... yes - 2.24.32
checking for libgnomeprintui-2.2... no -- printing from classicladder will not be possible
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for install... /usr/bin/install
checking for sed... /bin/sed
checking for ps... /bin/ps
checking for kill... /bin/kill
checking for whoami... /usr/bin/whoami
checking for awk... /usr/bin/awk
checking for insmod... /sbin/insmod
checking for rmmod... /sbin/rmmod
checking for lsmod... /bin/lsmod
checking for pidof... /bin/pidof
checking for ipcs... /usr/bin/ipcs
checking for fuser... /bin/fuser
checking for yapps... /usr/bin/yapps
checking for mandb... /usr/bin/mandb
checking for intltool-extract... /usr/bin/intltool-extract
checking for yapps... (cached) /usr/bin/yapps
checking for python... /usr/bin/python
checking whether to build documentation... no
checking sys/io.h usability... yes
checking sys/io.h presence... yes
checking for sys/io.h... yes
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for semtimedop... yes
checking for sincos function... yes
checking for __sincos... no
checking for optreset... no
checking for library containing dlopen... -ldl
checking for library containing clock_nanosleep... none required
checking for tcl... /usr/lib/tclConfig.sh found
Segmentation fault

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#18 Post by rockedge »

I think it is this error or related to this :
The segfault is generated from a call to rtai_malloc
I found this -> https://sourceforge.net/p/emc/mailman/message/21413962/

So it seems there is a call to a rtai patched kernel during the build and I am doing this on a Bionic64-v8 with a
kernel 4.19.25-rt16 SMP PREEMPT RT x86_64 GNU/Linux running.

this can be configured with option

Code: Select all

./configure --with-realtime=uspace
so the calls to the rtai patch are not done.

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#19 Post by Revolverve »

Hey rockedge
You got to the same stage i did,with the same distro.
Code:
./configure --with-realtime=uspace
is what i used.
Its tclConfing.sh that contain the `dpkg-architecture -qDEB_HOST_MULTIARCH` call. Here it did not segfault,it simply loop the error message.
So,my latest search:reading where about why i get the dpkg-architectre command not found error come from as dpkg-dev is in devx bionicpup sfs!!
I did got further once in configure,adding:
--with-tclConfig=/usr/lib/tcl8.6/tlcConfig.sh
editing tclConfing with dpkg-architecture [option...sadly i did not take note of which one..] that correct the tcl error and got a bwidget not found (which was installed)..
Thats in brief where i got to for now.
One good thing ,linuxcnc build instruction do state;Patches to improve portability to new platforms are always welcome....
Thanks for giving in some time!!
Last edited by Revolverve on Mon 25 Nov 2019, 15:42, edited 1 time in total.
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

User avatar
Revolverve
Posts: 255
Joined: Sat 08 Nov 2008, 21:01
Location: 45°17'28.8"N 72°16'08.8"W_avatar/ mira.ca

#20 Post by Revolverve »

Are these options ;
--prefix=/usr CFLAGS="-mtune=generic -O2 -fomit-frame-pointer" CXXFLAGS=$CFLAGS
still could be applied ,or useful in ¨modern puppy¨?
Tried those too in my learning process..it did not ease the pain...nor changed results.
[url=https://www.mira.ca/en/donate]Help mira.ca[/url]

Post Reply