How to properly use the kernel vanilla repos on rpm-ostree based Fedora variants

Hi! I’m the maintainer of the kernel vanilla repos/coprs for Fedora[1] and would like to provide instructions for using them with rpm-ostree based Fedora variants. I need some help with that, as I found instructions that work fine on for the “fedora” and “next” kernel vanilla repos/coprs[2]. But they don’t work well on kernel vanilla coprs like “stable” or “mainline” (and “stable-rc” and “mainline-wo-mergew” as well, but let’s ignore that here to keep things simple).

The problem lies in the design on the coprs, which build upon each other. That’s why for example the latest kernel for users that enabled the “stable” copr might lie in the “fedora” copr (currently that’s not the case, but it will be in a few days when the Fedoraproject jumps from 6.5.y to 6.6.y). Another example is the mainline repo, which only serves packages in the two weeks right after a mainline release (e.g. between 6.6 and 6.7-rc1); after that point till the release of 6.7 users of that copr will receive newer mainline snapshots from the “mainline-wo-mergew” copr. All this works with coprdeps, e.g. users that enable the mainline copr will automatically enable mainline-wo-mergew as well, so that dnf retrieve packages from there in case they have a higher EVR.

All that works great with DNF on rpm based Fedora variants, but I found no way to make this work on Fedora Silverblue using a rpm-ostree overlay, as one afaik has to specify the repo from which the package is installed. E.g. like this:

$ sudo rpm-ostree override replace --experimental --from repo=“” kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra

Is it somehow possible to not specify the repo (or specify multiple ones?) and let rpm-ostree simply install the latest kernel it finds in the enabled repos? That would solve the problem afaics.

[1] Kernel Vanilla Repositories - Fedora Project Wiki
[2] Kernel Vanilla Repositories - Fedora Project Wiki

1 Like

Thanks for posting this. I now think that I understand the issue!

As far as I know, there is no such functionality in rpm-ostree right now (current docs: override replace --experimental | rpm-ostree). So this would be an RFE to file upstream at Issues · coreos/rpm-ostree · GitHub.

1 Like

So this would be an RFE to file upstream

Done: RFE: allow "override replace" without specifying the repo that holds the packages to install · Issue #4708 · coreos/rpm-ostree · GitHub


If users regularly experience this issue, you maybe want to put it to the Proposed Common Issues to nominate it for Common Issues ?

I don’t know how widespread this is (I still use the old “dnf”-based stuff :smiley: ) , but the common issues are not only for stuff that is officially supported, but more generally for things that are likely to affect many users over a longer period (… e.g., proprietary nvidia driver issues and such …).

If this is relevant, you might review:

Thx for bringing this up, but I don’t think that’s worth it, as nobody complained about the problem so far. I thus assume documenting it on the page dedicated to the kernel vanilla repos should suffice.