Open fiftydinar opened 9 months ago
Interesting idea, but seems kind of hard to do. I would prioritize easier to build modules such as #119, and improving overall code standards, quality, formatting and stability in this repo.
Utilizing this can make this module easy & reliable to implement (with limited kernel options by the repo): https://github.com/ublue-os/kernel-cache
Secure Boot support is solved, since they sign the kernel in that repo now.
Current kernel options include:
main
(vanilla kernel signed with Ublue secure key)fsync
surface
asus
coreos-stable
coreos-testing
Maybe another custom kernel can be added too, like CachyOS kernel, but that is not guaranteed, since the repo is utilized with needs of Universal Blue maintainers.
Here's related issue, which should increase compatibility with installing custom kernels on Fedora Atomic systems:
https://github.com/blue-build/modules/issues/276
Edit: No need for it anymore, issue is closed.
Usecase
It would allow users to experience better hardware support, without making multiple custom images (avoiding quirks like needing to rebase back & forth if different hardware configuration is used). Most custom kernels contain Surface, Asus or Lenovo Legion patches, along with Steam Deck patches too & some others.
It would also allow users to enjoy using some additional hardware functionality, which is not possible to obtain through
akmods
module. F.e. overclocking USB peripherals polling rate is not possible to get throughakmods
.Which custom kernel to offer?
This one would highly depend on user demand & custom kernel reliability, but I think that those 2 kernels are the most preferable:
Xanmod kernel was used before, but it's depreciated for Fedora at this point (it's also worse then 2 kernels mentioned above imo).
Interestingly,
akmods
offers support for fsync kernel, for kernel modules which are not or won't be built into kernel. Bazzite has a list of akmods they install for fsync kernel in their Containerfile. This would also mean that fsync is the only custom kernel where you could install Nvidia drivers into them.Implementation
While you can install custom kernel successfully now by regularly using rpm-ostree (with
cliwrap install-to-root
), you still won't get Secure Boot support if you boot with this kernel.To solve this, we would need to use GitHub action, which is similar to this one: https://github.com/EyeCantCU/kernel-signer
I don't know if it's necessary to implement this both in GitHub Action & BlueBuild CLI, or just in GitHub Action.
This would need to get merged to support kernels which have more exotic kernel-version naming, like CachyOS: https://github.com/EyeCantCU/kernel-signer/pull/10