Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Xenomai realtime kernel

Featured Replies

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.

 

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.

  • Author
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.

 

  • Author
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?

  • Author
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.

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.

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. 

  • Author
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.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.