-
Notifications
You must be signed in to change notification settings - Fork 29
how to workaround rpm dependency? #468
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
Comments
Absolutely, we can support other backends here in bootupd. It should be relatively straightforward to do. Do you know any Rust? |
I know a little bit of rust, I can probably try and get it working on arch linux if you can provide some guidance on:
we were able to hack around this dependency by reusing generated files from fedora but naturally the resulting image couldn't boot (I think because the metadata pointed to Fedora-specific grub configuration?) |
We basically just need version information. I think instead of hardcoding knowledge of rpm in bootupd, we could try having an external script that can be provided by the OS output it? |
This comment was marked as off-topic.
This comment was marked as off-topic.
@cgwalters I'm curious about this too. Can you provide a bit more detail about what you mean when you say "We basically just need version information"? Specifically, what I'm wondering is what it would take to boot existing container images (say Arch Linux) without any of the package layering stuff? I don't mind needing to build a custom image in order to install things. It looks like someone has actually already been trying to get that working. Maybe you can comment about whether that would be expected to work? |
@cgwalters is there any way I can help here? Can you give me some pointers on what needs to be done? |
I was poking again at this; looking specifically at Debian for example, it looks like the deb already in So this one then also relates a lot to #766 in that we should potentially just be able to take over or move what happens in the maintainer scripts? I am not finding offhand how that happens, I see at least
But I don't think that's it, since I think the configure phase only runs once? Needs investigation. |
OK and openSUSE is the same - grub is already in |
Hello! I've been working on getting bootc working with archlinux, and found this issue linked from containers/bootc#865. I'd like to help contribute to getting bootupd working on archlinux as well, to simplify installing a bootc based system. The main issue with bringing bootupd support to archlinux is how the package version and build time are requested. Correct me if I'm wrong, but as far as I can tell, bootupd looks for files in
I'm fine with requiring that the efi mount point for bootupd compatible be A few questions I would like answered before I work on this:
I should also note that I am in no way affiliated with the archlinux project, I'm just interested in bootc for personal use. |
Curiously, as of my attempt to build an Arch+bootc VM today (full writeup: https://brianecole.com/blog/2025-03-27_bootc-movingarch.html ), we've switched from an "rpm" dependency to
Perhaps it's because I'm not a developer, but I can't tell from reading along - why does it care about the package manager at all? What version information does it need that isn't in EDIT: It has since been pointed out to me that https://github.com/osbuild/bootc-image-builder is a separate project, so this may actually not be relevant to this thread. |
I have no idea how bootc image builser works but it might be trying to either install something or find version of a package like grub Which is what i saw with bootupd when this was posted(me and poster were working at same time sharing notes) bootupd triea to find version of grub whuch is something that wouldnt be in /etc/os-release |
Yes. Part of bootupd is really working around the fact that Fedora (only?) installs grub to /boot and doesn't have a direct install script. There's work to rectify that finally.
It doesn't need to conceptually, no.
Yes definitely.
I think my strawman here is we should move the rpm-querying thing out into a helper binary and not be in Rust. Something similar was done in e.g. bootc-dev/bootc#1105 (comment) |
There is work in progress to move the binaries out of See: |
See also the discussion in https://gitlab.com/fedora/bootc/tracker/-/issues/61 |
Hi bootupd team,
I love the idea behind bootc so I've been trying to create a bootc image based on archlinux.
As part of creating a bootc image
bootupd backend generate-metadata
is called but this fails on arch linux as there is not rpm binary.Is there a way I can work around this dependency? I am happy to hack around this in my image as it is just a proof of concept but not sure what to do
Also the readme suggest bootupd should be OS agnostic but looking for
rpm
means it is not really agnostic :-( are there plans to remove this dependency?The text was updated successfully, but these errors were encountered: