photon-os-installer 2.8-5: interactive install, STIG package set, initrd locale - #1658
Open
dcasota wants to merge 2 commits into
Open
photon-os-installer 2.8-5: interactive install, STIG package set, initrd locale#1658dcasota wants to merge 2 commits into
dcasota wants to merge 2 commits into
Conversation
This was referenced Jun 5, 2026
Merged
dcasota
force-pushed
the
upstream/photon-os-installer-2.8-5-interactive-osrelease
branch
from
June 6, 2026 02:00
4a367fc to
2553814
Compare
…trd locale
Patch2 0003-isoInstaller-fix-interactive-NoneType-crash
isoInstaller crashed with a NoneType error on interactive installs.
Patch3 0004-installer-add-btrfs-progs
btrfs-progs was missing from the package set for btrfs root filesystems.
Patch4 0005-tdnf-capture-install-output
tdnf output was not captured, so package failures were invisible in the
installer log and overlaid the UI.
Patch5 0006-stig-drop-redundant-packages
Drop libselinux-utils, ntp and libgcrypt from KS_STIG_PACKAGES.
libselinux-utils is already a selinux-policy dependency and is never
invoked by the role; ntp is installed but never configured, since no task
notifies the time-sync handlers; libgcrypt was a workaround for an aide
packaging bug. Verified on a live install: the three are absent from
additional_packages, libselinux-utils and libgcrypt still arrive as
ordinary dependencies, and time sync is handled by systemd-timesyncd.
Patch6 0007-installer-seed-locale.conf-before-package-install
The initramfs rpm's %transfiletriggerin runs mkinitrd at the end of the
transaction started by _install_packages(). dracut's 20i18n module needs
/etc/locale.conf, but m_locale only creates it in the POST_INSTALL phase,
twelve steps later. dracut therefore reported
dracut[E]: i18n_vars not set! Please set up i18n_vars in configuration file.
on the installer console and fell back to embedding every keymap.
Seed the file in _initialize_system() instead. m_locale is untouched, so
the ostree path and localedef are unaffected.
Change-Id: I20853ab60b0d5435af5c0de42b408f1534c82161
Signed-off-by: Daniel Casota <dcasota@gmail.com>
…media Selecting "Apply STIG hardening" in the installer asks for the STIG package set. If those RPMs are not in the ISO's own RPMS/, the install aborts with "Error(1011) : No matching packages" - the menu offers an option the media cannot honour. Add 0008 (dcasota/photon-os-installer#11), which imports KS_STIG_PACKAGES from stigenable rather than restating those names in a package list file; restating them is how the media and the installer drifted apart. It also adds packages named via --initrd-pkgs to the download list, which only parsed the list *file* before. Both go to the ISO's RPMS/ only, not into self.initrd_pkgs, so the initrd does not grow. Without this patch the change existed only on the photon-os-installer branch and never reached an ISO, so the matrix checks tagged POI#11 were passing without exercising it. Change-Id: Ia98edc47daa849d0a41847986470624009effc2a Signed-off-by: Daniel Casota <dcasota@gmail.com>
dcasota
force-pushed
the
upstream/photon-os-installer-2.8-5-interactive-osrelease
branch
from
September 1, 2026 10:11
2553814 to
d340325
Compare
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.
Extended from 2.8-3 to 2.8-6, adding three patches beyond the original three. All are verified end-to-end on a real minimal-ISO install.
0003-isoInstaller-fix-interactive-NoneType-crash0004-installer-add-btrfs-progsbtrfs-progsmissing from the package set for btrfs root filesystems0005-tdnf-capture-install-output0006-stig-drop-redundant-packageslibselinux-utils,ntp,libgcryptfromKS_STIG_PACKAGES0007-installer-seed-locale.conf-before-package-installdracut[E]: i18n_vars not set!on the installer console0008-isoBuilder-put-installer-requestable-packages-on-mediaError(1011)0006 — redundant STIG packages
libselinux-utilsis already aselinux-policydependency and is never invoked by the role.ntpis installed but never configured: no task notifies the time-sync handlers, so all three are dead code, and 0 of the 117 controls cover time sync.libgcryptwas a workaround for an aide packaging gap, fixed properly in Updated cloud-init.md with Markdown syntax #21.Verified on a live install:
additional_packagesis exactly[audit, rsyslog, openssl-fips-provider, selinux-policy, aide];libselinux-utilsandlibgcryptstill arrive as ordinary transitive dependencies; time sync is handled bysystemd-timesyncd(System clock synchronized: yes).0007 — initrd locale ordering
The
initramfsrpm's%transfiletriggerinrunsmkinitrdat the end of the transaction started by_install_packages(). dracut's20i18nmodule needs/etc/locale.conf, butm_localeonly creates it inPOST_INSTALL— twelve steps later, so the file is guaranteed absent. dracut then reportsand falls back to
install_all_kbd(), embedding every keymap instead of the target's.Reproduced on the installed system by removing
/etc/locale.confand re-running dracut: present → silent, absent → the error, independent of-H. Confirmed by mtimes on a real install:initrd.img08:21:14,/etc/locale.conf08:22:09.Seeded in
_initialize_system()instead, right after thefilesystemrpm provides/etc.m_localeis deliberately untouched — it rewrites the same content, runslocaledef, and still covers the ostree path where_initialize_system()is not called.0008 — installer-requestable packages on the media
Selecting "Apply STIG hardening" asks for the STIG package set at install time. If those RPMs are not in the ISO's own
RPMS/, the install aborts withError(1011) : No matching packages— the menu offers an option the media cannot honour.KS_STIG_PACKAGESinstigenable.pyis the installer's own declaration of what that option installs, so it is imported rather than restated in a package list file; restating those names is how the media and the installer drifted apart. The import is local becausestigenablepulls in the curses UI modules, which need not become a module-level dependency of the ISO builder.Packages named via
--initrd-pkgswere also never added to the download list (only the list file was parsed), so they could not be installed into the initrd from the ISO's ownRPMS/either. Both additions go toRPMS/only, not intoself.initrd_pkgs, so the initrd does not grow.This carries dcasota/photon-os-installer#11 into the photon spec. Until now that change existed only on the installer branch and never reached an ISO, so the permutation-matrix checks tagged POI#11 were passing without exercising it.
Verification
%autosetupapplies thempy_compileOK;rpmspecparses at subrelease 90 and 92support/spec-checker/check_spec.pyexits 0Mirrors upstream #1658, which carries only 0003-0005.