Skip to content

install/ostree: Set zipl as the bootloader for s390x#2152

Open
jbtrystram wants to merge 1 commit intobootc-dev:mainfrom
jbtrystram:s390x_set_zipl
Open

install/ostree: Set zipl as the bootloader for s390x#2152
jbtrystram wants to merge 1 commit intobootc-dev:mainfrom
jbtrystram:s390x_set_zipl

Conversation

@jbtrystram
Copy link
Copy Markdown
Contributor

zipl cannot dynamically read BLS config at boot, and requires the MBR to be updated before. So we set zipl as the bootloader for s390x by default. Otherwise, s390x systems cannot reboot into new deployments.

See #2151

@github-actions github-actions Bot added the area/install Issues related to `bootc install` label Apr 20, 2026
@bootc-bot bootc-bot Bot requested a review from ckyrouac April 20, 2026 12:37
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a configuration step to set 'zipl' as the bootloader for s390x architectures within the ostree repository. A review comment identifies that the configuration key used should be 'sysroot.bootloader' rather than 'bootloader' to ensure it is correctly placed in the configuration file. Additionally, it was suggested to integrate this change into the existing configuration loop to improve efficiency by avoiding an extra process execution.

Comment thread crates/lib/src/install.rs Outdated
@jbtrystram jbtrystram force-pushed the s390x_set_zipl branch 5 times, most recently from bc55aeb to f71e408 Compare April 20, 2026 13:07
@nikita-dubrovskii
Copy link
Copy Markdown

Right, we do the same in cosa : https://github.com/coreos/coreos-assembler/blob/main/src/osbuild-manifests/build.common.ipp.yaml#L165

@jbtrystram jbtrystram marked this pull request as draft April 21, 2026 10:17
@jbtrystram jbtrystram marked this pull request as draft April 21, 2026 10:17
@jbtrystram jbtrystram force-pushed the s390x_set_zipl branch 2 times, most recently from fffc668 to 1979ad0 Compare April 21, 2026 10:26
`zipl` cannot dynamically read BLS config at boot, and requires the MBR
to be updated before. So we set `zipl` as the bootloader for s390x by
default. Otherwise, s390x systems cannot reboot into new deployments.

We set the ostree parameter after the initial ostree deployement because
it fails if called during it.
See https://github.com/coreos/coreos-assembler/blob/99bb23e7dfbfa8f1ae8b9bfaca9ff2e6d98c6cba/src/osbuild-manifests/build.common.ipp.yaml#L160-L163

Fixes bootc-dev#2151
Signed-off-by: jbtrystram <jbtrystram@redhat.com>
@jbtrystram jbtrystram marked this pull request as ready for review April 21, 2026 11:01
@jbtrystram
Copy link
Copy Markdown
Contributor Author

A build with this passes coreOS tests that were failing :

[builder@coreos-s390x-builder debug-pod]$ kola run ostree.hotfix ext.config.systemd.condition-needs-update multipath.day2 rpmostree.install-uninstall rpmostree.upgrade-rollback
=== RUN   rpmostree.upgrade-rollback
=== RUN   multipath.day2
=== RUN   ostree.hotfix
=== RUN   rpmostree.install-uninstall
=== RUN   ext.config.systemd.condition-needs-update
=== RUN   rpmostree.upgrade-rollback/upgrade
=== RUN   rpmostree.upgrade-rollback/rollback
--- PASS: rpmostree.upgrade-rollback (64.43s)
    --- PASS: rpmostree.upgrade-rollback/upgrade (22.86s)
    --- PASS: rpmostree.upgrade-rollback/rollback (15.21s)
=== RUN   rpmostree.install-uninstall/install
=== RUN   rpmostree.install-uninstall/uninstall
--- PASS: rpmostree.install-uninstall (85.05s)
    --- PASS: rpmostree.install-uninstall/install (30.12s)
    --- PASS: rpmostree.install-uninstall/uninstall (22.90s)
--- PASS: ext.config.systemd.condition-needs-update (68.83s)
=== RUN   ostree.hotfix/unlock
=== RUN   ostree.hotfix/install
=== RUN   ostree.hotfix/uninstall
=== RUN   ostree.hotfix/persist
=== RUN   ostree.hotfix/rollback
--- PASS: ostree.hotfix (79.04s)
    --- PASS: ostree.hotfix/unlock (9.05s)
    --- PASS: ostree.hotfix/install (0.88s)
    --- PASS: ostree.hotfix/uninstall (0.50s)
    --- PASS: ostree.hotfix/persist (20.91s)
    --- PASS: ostree.hotfix/rollback (20.28s)
--- PASS: multipath.day2 (65.06s)
PASS, output in tmp/kola/qemu-2026-04-21-1037-17099

Copy link
Copy Markdown
Contributor

@jmarrero jmarrero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

jbtrystram added a commit to jbtrystram/fedora-coreos-config that referenced this pull request Apr 21, 2026
This reverts commit 90a6d6e.

In 10f346e we switched rawhide to use `bootc install to-filesystem`
to create our disk images.

This was reverted in 90a6d6e because of s390x issues.
A PR with the fix is now opened in bootc : bootc-dev/bootc#2152 and
the tests denylisted in coreos#4117
so let's revert the revert to enable this again.
jbtrystram added a commit to jbtrystram/fedora-coreos-config that referenced this pull request Apr 21, 2026
In coreos@10f346e
we switched rawhide to use `bootc install to-filesystem` to create our
disk images.

This was reverted in coreos@90a6d6e
a PR with the fix is now opened in bootc : bootc-dev/bootc#2152
so let's denylist those tests so we can re-enable `bootc install` for rawhide.
jbtrystram added a commit to coreos/fedora-coreos-config that referenced this pull request Apr 21, 2026
This reverts commit 90a6d6e.

In 10f346e we switched rawhide to use `bootc install to-filesystem`
to create our disk images.

This was reverted in 90a6d6e because of s390x issues.
A PR with the fix is now opened in bootc : bootc-dev/bootc#2152 and
the tests denylisted in #4117
so let's revert the revert to enable this again.
joelcapitao pushed a commit to coreos/fedora-coreos-config that referenced this pull request Apr 21, 2026
In 10f346e
we switched rawhide to use `bootc install to-filesystem` to create our
disk images.

This was reverted in 90a6d6e
a PR with the fix is now opened in bootc : bootc-dev/bootc#2152
so let's denylist those tests so we can re-enable `bootc install` for rawhide.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install Issues related to `bootc install`

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants