Bake base passwd/group into the ISO instead of running dnf in pre-install#64
Draft
nabeya11 wants to merge 5 commits into
Draft
Bake base passwd/group into the ISO instead of running dnf in pre-install#64nabeya11 wants to merge 5 commits into
nabeya11 wants to merge 5 commits into
Conversation
…stall The Fedora >= 42 installer image ships no dnf CLI (only dnf-3/dnf4, no dnf/dnf5), so the kickstart's `dnf install setup` to obtain the base passwd/group no longer works. Extract those files from the setup package in the builder (which has a working package manager) and bake them into the ISO, so %pre-install just copies them and needs no package manager. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the Fedora installer flow for Fedora >= 42 by moving “base passwd/group” extraction from kickstart install-time (which depended on dnf) to ISO build-time, then consuming the baked-in files during %pre-install.
Changes:
- Build-time: extract
/etc/passwdand/etc/groupfrom thesetupRPM and place them on the ISO asetc-passwd-base/etc-group-base. - Install-time:
%pre-installnow copies the baked base files and appends the project’s static UID/GID entries frometc-passwd/etc-group. - Removes the prior
%pre-installdnf install setupapproach that fails in Fedora >= 42 installer environments lacking adnfCLI.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| ks.tpl.cfg | Switches %pre-install to consume baked-in etc-*-base files and append static UID/GID entries. |
| entrypoint.sh | Extracts passwd/group from the setup RPM at build time and writes etc-passwd-base/etc-group-base into the ISO root. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add `curl -fsS` for the PXE downloads so an HTTP error aborts instead of writing an error page into passwd/group. - Select the setup RPM via a glob array with an exact-count check and extract into a mktemp dir instead of `ls | head` and a fixed directory. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Match the %post cleanup pattern so the mountpoint does not linger. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Fedora >= 42 installer environment ships no
dnfCLI (onlydnf-3/dnf4), so the kickstart'sdnf install setup— used to get thebase passwd/group — fails with
command not found.This moves the extraction to build time:
entrypoint.shpullsetc/passwdandetc/groupfrom thesetupRPMand bakes them into the ISO as
etc-passwd-base/etc-group-base.%pre-installjust copies them and appends our static UID/GID entries.