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
fedpkg
andkernel.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 yourdefconfig
files.To install all the required prerequisites for using
fedpkg
, please run the script namedinstall-fedora-dependencies.sh
found 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.sh
script. This script checks that all the patches apply correctly and that the kernel can be built - in principle. The output ofdo-fedpkg-prep.sh
is captured infedpkg-prep.log
. -
Cleanup after
do-fedpkg-prep.sh
by running thecleanup-kernel.sh
script. -
Run the
do-fedpkg-local.sh
script. 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.sh
is captured infedpkg-local.log
. -
To avoid packaging namespace conflicts with the upstream Fedora kernel RPMs, the
.buildid
for this kernel is set to.xenomai
, and thepkgrelease
is 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.sh
script 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.