Steady Linux mainline builds | Stéphane Graber’s web site
Why use a mainline kernel
For the previous 12 months or so, I’ve more and more been utilizing mainline Linux kernels on my numerous servers and ultimately laptop computer and desktop machines too.
That was transitioning from Ubuntu’s generic kernel which I really feel has sadly decreased in high quality over time. The Ubuntu kernel contains plenty of backported fixes and sometimes, these backports go dangerous, leading to lacking commits, introducing bugs and regressions. Sadly the way in which the Ubuntu kernel is constructed, examined and revealed comes with plenty of delays, making fixing such regressions usually take weeks if not months (relying on whether or not safety updates present up in between).
So I began taking the newest secure bugfix launch of the mainline kernel, generate a configuration that’s very near an Ubuntu generic kernel, cherry-pick a number of small modifications that aren’t upstream but after which construct that and push it to my machines.
That’s been working surprisingly effectively to this point! These kernels haven’t been excellent, I did catch a few regressions, however as I’m now working with a mainline kernel, performing a bisect, figuring out the offending commit and getting it resolved upstream may be very straightforward, with a revert taking an hour or so at most and a repair taking only a few days to hit mainline.
Making them obtainable to everybody
Up till now, I’ve been manually constructing these kernels from an inside git repository, constructing them straight on a few servers (amd64 and arm64) after which transferring the ensuing .debs on to my different machines.
That works, but it surely’s not a very clear construct surroundings and putting in kernels that manner doesn’t actually scale!
That’s why I’ve now spent a number of days shifting all of it to Github and a correct package deal repository.
The kernel tree is now obtainable right here: https://github.com/zabbly/linux
For constructing, I’m utilizing some self-hosted Github runners on my native Incus cluster so I can have entry to beefy Debian and Ubuntu builders on each amd64 and arm64.
The result’s a repository that accommodates each amd64 and arm64 builds for Ubuntu 20.04 LTS, Ubuntu 22.04 LTS and Debian 12. That is all robotically constructed and robotically imported into the repository with the one handbook step being to replace the “linux-zabbly” meta-package after testing the brand new kernel on some take a look at programs.
Utilizing them
Set up directions may be discovered right here: https://github.com/zabbly/linux#installation
Simply needless to say you’ll more than likely should disable UEFI SecureBoot as these kernel builds aren’t signed in contrast to people who come straight out of your distribution.
The kernel shall be up to date as soon as every week until one thing main occurs requiring an intermediate replace. It should roll from one kernel model to the subsequent after it has acquired its first bugfix launch which has to this point been a great way to keep away from a few of these preliminary regressions!