Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic rebuilding of modules #1

Open
VarLad opened this issue Mar 11, 2024 · 1 comment
Open

Automatic rebuilding of modules #1

VarLad opened this issue Mar 11, 2024 · 1 comment

Comments

@VarLad
Copy link

VarLad commented Mar 11, 2024

Does this support automatic rebuilding of modules every kernel update/change?
If not, any idea what would that take?

@ahgencer
Copy link
Owner

No, the modules are not rebuilt automatically. The systemd service file under /extra/ is only for loading / unloading at boot time. I don't it makes too much sense to add this either, for a few reasons:

  1. The builds take a very long time. You probably don't want to wait around for ten minutes during boot time for some random modules to build. Automatic boots should be scheduled to start in the background after boot up, but at that point I'd personally prefer to explicitly know that a couple hundred MiB of files are about to be pulled in and compiled.

  2. From experience, the builds fail very often, usually caused by the Koji kernel builds not downloading correctly. What I do these days is pin the last ostree layer where the build was successful and roll back to it should I ever need the kernel module in the moment. Automating this process feels like building a house of cards at this point.

  3. Ideally, what I would like to do is use a custom Silverblue image built from ahgencer/ocitree (which was inspired by Universal Blue back when that project was still just starting out). The idea is that the image, along with all modifications to the base Silverblue image (extra packages, system configuration, kernel modules, etc.) would be built somewhere in some pipeline (either using GitHub Actions or on something like a NAS), and every machine could then just pull the image. No building kernel modules by the end-user necessary, everything would already be in place the moment you run rpm-ostree update. If the build ever fails, then there simply wouldn't be an update that day, and the pipeline would try again the next day.

If you think automatic builds would be useful to you, by all means, please feel free to fork this project :) I licensed it under GPL-2.0-or-later for exactly this reason. I just don't see it fitting my own use-case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants