1 1
Olej

Xenomai realtime kernel

Recommended Posts

I would like to build a hard realtime Linux kernel for Orange Pi SoC. Using  Xenomai technologies (Installing Xenomai 3.x , Xenomai Documentation). This would be a great extension of the SoC application area. 

I did this for the x86 architecture. And I've already assembled the core using your Arabian technology.

 

But building the realtime Xenomai kernel requires pre-patching from a third-party project Adeos (Adaptive Domain Environment for Operating Systems). Patch files for different architectures can be found here: Index of /downloads/ipipe/v4.x

 

Is it possible to build a realtime kernel using Arabian?

 

P.S. I apologize for my poor English.

 

Share this post


Link to post
Share on other sites
14 minutes ago, Olej said:

Is it possible to build a realtime kernel using Arabian?

 


If adding and perhaps adjusting a patch is everything, then yes. You add a patch to useruserpatches/kernel/sunxi-next/  and recompile (NEXT) kernel branch. But since patches are not for a recent kernel (4.14.y) you will have some work to adopt them.

Share this post


Link to post
Share on other sites
2 hours ago, Igor said:

But since patches are not for a recent kernel (4.14.y) you will have some work to adopt them.

Yes, ipipe patches are prepared (by Xenomai) only for a limited number of kernel versions (4.1.18, 4.9.51). But is it possible, in principle, to adapt and apply a patch of another version of the kernel, without knowing its inner meaning.

Patches Adeos (ipipe) is very voluminous and comprehensive, this is a challenging individual project. Does not seem to be any opportunity in the technology Armbian to assemble for an arbitrary kernel version, not only 4.14? How it is done, for example, in BuildRoot.

Thanks.

 

Share this post


Link to post
Share on other sites
2 hours ago, Igor said:

If adding and perhaps adjusting a patch is everything, then yes. You add a patch to useruserpatches/kernel/sunxi-next/  and recompile (NEXT) kernel branch. But since patches are not for a recent kernel (4.14.y) you will have some work to adopt them.

Another option would be to contact the authors of Xenomai (I have contact with them) and ask them to prepare a patch ipipe for the 4.14.y kernel. What 'y' exactly?

Share this post


Link to post
Share on other sites
3 hours ago, Olej said:

I would like to build a hard realtime Linux kernel for Orange Pi SoC. Using  Xenomai technologies (Installing Xenomai 3.x , Xenomai Documentation). This would be a great extension of the SoC application area. 

logo-s-uk.png

The University of the Netherlands (Radboud University) provides (Raspberry Pi image for the Pi zero,1,2,3 with Xenomai 3.0.5 on Raspbian linux 4.1.y Debian 8 jessie) Xenomai hard realtime image with a Rapsbery Pi image for use in its extensive real-time Linux, Design of Embedded Systems and Robot Lab training programs. This means that this is a solvable problem. I would like to have a similar image for more preferred SoCs such as Orange Pi.

Share this post


Link to post
Share on other sites
29 minutes ago, Olej said:

What 'y' exactly?

You can adjust this manually in the build script if you need to pull a specific kernel version.

 

11 minutes ago, Olej said:

This means that this is a solvable problem.

Yes, the question is who needs it and thus who is going to solve it.

 

11 minutes ago, Olej said:

I would like to have a similar image for more preferred SoCs such as Orange Pi.

And you should be able to build such images if you put enough work into this, but you should always keep in mind the limitations of the mainline kernel on H3/H5 based Orange Pi boards.

Share this post


Link to post
Share on other sites

https://wiki.linuxfoundation.org/realtime/start

 

4.14 patch is development.  I built a couple images that way , never got to the point of testing them out because real world problems didn't give me the time to use my experimental solution.  Proceeding as Igor suggested this is actually relatively simple with the mainline LTS kernels. 

 

  • Add patch as instructed.
  • compile and update kernel configuration accordingly (hard preempt, etc)
  • profit.

there are some tests available on the realtime wiki that can tell you if it's working or not. 

Share this post


Link to post
Share on other sites
9 hours ago, TonyMac32 said:

https://wiki.linuxfoundation.org/realtime/start

 

4.14 patch is development.  I built a couple images that way , never got to the point of testing them out because real world problems didn't give me the time to use my experimental solution.  Proceeding as Igor suggested this is actually relatively simple with the mainline LTS kernels. 

 

This is a well-known PREEMPT_RT kernel patch. It does not provide hard realtime since QNX, VxWorks or Xenomai.

Here are the results of comparisons of different systems presented here in this detailed publication: https://pdfs.semanticscholar.org/9eb5/1dbe38fb23034e80b8664d8281996d2a5ef6.pdf (University of Cambridge). It puts everything in its place.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
1 1