Olej Posted June 7, 2018 Posted June 7, 2018 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.
Igor Posted June 7, 2018 Posted June 7, 2018 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.
Olej Posted June 7, 2018 Author Posted June 7, 2018 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.
Olej Posted June 7, 2018 Author Posted June 7, 2018 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?
Olej Posted June 7, 2018 Author Posted June 7, 2018 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. 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.
zador.blood.stained Posted June 7, 2018 Posted June 7, 2018 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.
TonyMac32 Posted June 8, 2018 Posted June 8, 2018 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.
Olej Posted June 8, 2018 Author Posted June 8, 2018 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.
Recommended Posts