This is a port of Xenomai 4 / EVL to Linux Kernel 6.10.10 for Fedora 39.
The kernel-6.10.10-100.fc39.src.rpm found here comes directly from Fedora. You do not need to unpack it, I've already done that. I've included it here for completeness.
Building a Xenomai4-enabled Fedora Kernel is quite simple:
-
The build system used here is based on Fedora's own build system. It uses
fedpkgandkernel.spec. It's quite a nice build system, very easy to use, and it works. One of the things I like most is that it does quite a bit of sanity checking on yourdefconfigfiles.To install all the required prerequisites for using
fedpkg, please run the script namedinstall-fedora-dependencies.shfound here. -
This is not an official Fedora project. I have no association or affiliation with either RedHat, or Fedora, or IBM. I used to work at IBM TJ Watson Research, in IBM Quantum, as a Compiler Engineer. I left because it was a toxic place to work.
-
Run the
do-fedpkg-prep.shscript. This script checks that all the patches apply correctly and that the kernel can be built - in principle. The output ofdo-fedpkg-prep.shis captured infedpkg-prep.log. -
Cleanup after
do-fedpkg-prep.shby running thecleanup-kernel.shscript. -
Run the
do-fedpkg-local.shscript. This will build the kernel. When it's finished, you will have a directory namedx86_64. This is where all the RPMs will be. The output ofdo-fedpkg-local.shis captured infedpkg-local.log. -
To avoid packaging namespace conflicts with the upstream Fedora kernel RPMs, the
.buildidfor this kernel is set to.xenomai, and thepkgreleaseis set to300. You will see this in the names of the resulting RPMs. -
The patch that imports and applies all the Xenomai changes, found here, is named
patch-6.10-dovetail-evl.patch. -
Don't forget to disable EFI Secure Boot to install the RPMs. You can use the
install-xenomai-kernel.shscript found here to install the RPMs after they are built. -
I've done some preliminary testing on
x86_64, but not fully comprehensive testing. This is an ongoing project for me, and I will be doing more testing along the way, which means it's very likely there will be updates. -
Update 10/30/2024: I've been running this Kernel for over a month now with zero problems.