bootupd
bootupd copied to clipboard
how to workaround rpm dependency?
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?
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:
- what is bootupd expecting from the package manager?
- what is the purpose of the metadata being generated?
- how does it relate to the grub configuration?
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?
@cgwalters @akdev1l any movement on this
@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?