Distribution for the installer #17
Replies: 0 comments 12 replies
-
How about a combination of 1 and 2? Read |
Beta Was this translation helpful? Give feedback.
-
Just a note about the Anaconda installer - historically the installer team considered that installer from a given development branch (Rawhide, branched Fedora, RHEL 8, RHEL 9, etc.) will be built from content corresponding to the given branch (Rawhide, branched Fedora, RHEL 8, RHEL 9, etc.) and install content corresponding to the given branch. This has been done to keep a sane support matrix during installer development and testing. Otherwise various issues could happen:
So if changing this status quo would appear necessary, it would be certainly something to be discussed with the installer team & installer QA. 🙂 |
Beta Was this translation helpful? Give feedback.
-
Since we're building this in a containerized environment if the host is using entitled repositories we'll get those injected into the container. |
Beta Was this translation helpful? Give feedback.
-
I'd add an option 4: Take a buildroot container as input IOW |
Beta Was this translation helpful? Give feedback.
-
The centos-bootc originated images gained a |
Beta Was this translation helpful? Give feedback.
-
We build the installer from scratch, and thus we need to know which distribution and repositories (there are distribution-specific quirks for installer) to build from. In the more distant future, I would like
bootc-image-builder
to use an installer from a container image, but is a completely new territory, and we simply don't have the time now to pursue this option short-term.The current situation is: bootc-image-builder is based on Fedora 39, but the repositories used to build the installer are from Fedora ELN. People will certainly want to build Fedora 40 and Centos Stream 9 based installers.
I think we have the following options for fixing the situation:
1) Take the distribution from the bootable container
Currently, the containers are not labeled with a distribution ID at all. Thus, we probably need to crack-open the bootable container, and read this from
/etc/os-release
, that's fine. We have two options regarding repositories: Either, we can hard-code them inbootc-image-builder
(that's howosbuild-composer
does it), or we can read/etc/yum.repos.d
from the bootable container.This will get quite ugly with RHEL, because AFAIK
/etc/yum.repos.d
will be simply empty.2) Take the distribution from the bootc-image-builder
The
bootc-image-builder
has/etc/os-release
and matching/etc/yum.repos.d
. The bib binary can just read these and assemble the installer based on its own distributions and repositories. It's probably quite simple to get RHEL working, because the RHEL bootc-image-builder will be RHEL-based.However, this means that we have to start building
bootc-image-builder
based on each supported distribution, so people can build all installer versions. So at least fedora-38, fedora-39, fedora-40, fedora-eln and centos-stream-9. This explodes our testing matrix, while providing zero value for disk images. :/3) Take the distribution as an argument
When building an installer, a user would have to specify from which OS they want the installer. Basically
sudo podman [...] bootc-image-builder --type iso --distro fedora-40
. In this case,bib
would have to have all repositories hardcoded inside. This sucks, but at least we have just one container image (well... actually an upstream one, and a RHEL-based one, so two...)I hate the option 3. I'm torn between 1 and 2. I think I slightly prefer number 2, but building multiple versions of bib gives me headaches...
Note that we need to resolve the discussion in order to fix osbuild/bootc-image-builder#157
Beta Was this translation helpful? Give feedback.
All reactions