Skip to content

Conversation

@HuijingHei
Copy link
Member

@HuijingHei HuijingHei commented Sep 2, 2025

efi: transfer usr/lib/ostree-boot to usr/lib/efi

This is required by step2 of #926 (comment), with the change, the files under legacy /usr/lib/ostree-boot/efi/EFI will be changed to /usr/lib/efi/<component>/<version>/EFI/.


efi: require minimum of 2 components for update metadata generation

Enhance generate_update_metadata() with validation to ensure
at least two packages are provided, preventing the creation of
incomplete or invalid update payloads.
See #994

@openshift-ci
Copy link

openshift-ci bot commented Sep 2, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@HuijingHei HuijingHei force-pushed the step2-ostree-boot branch 2 times, most recently from 76c8909 to 6b7c1d7 Compare September 3, 2025 13:48
@HuijingHei HuijingHei force-pushed the step2-ostree-boot branch 5 times, most recently from feffdab to 1bbe5cd Compare September 10, 2025 12:43
@HuijingHei HuijingHei marked this pull request as ready for review September 10, 2025 12:58
HuijingHei added a commit to HuijingHei/bootupd that referenced this pull request Sep 11, 2025
When doing tests for coreos#995,
find that the package `test-bootupd-payload-1.0-1.x86_64` is parsed
to `test-1.0-1` that might be confused, so keep the full name if
it is not `grub2` or `shim`
HuijingHei added a commit to HuijingHei/bootupd that referenced this pull request Sep 11, 2025
When doing tests for coreos#995,
find that the package `test-bootupd-payload-1.0-1.x86_64` is parsed
to `test-1.0-1` that might be confused, maybe should keep the full
name if it is not `grub2` or `shim`
HuijingHei added a commit to HuijingHei/bootupd that referenced this pull request Sep 11, 2025
When doing tests for coreos#995,
find that the package `test-bootupd-payload-1.0-1.x86_64` is parsed
to `test-1.0-1` that is confused, maybe should keep the full name
if it is not `grub2` or `shim`.
HuijingHei added a commit to HuijingHei/bootupd that referenced this pull request Sep 11, 2025
When doing tests for coreos#995,
find that the package `test-bootupd-payload-1.0-1.x86_64` is parsed
to `test-1.0-1` that is confused, maybe should keep the full name
if it is not `grub2` or `shim`.
HuijingHei added a commit to HuijingHei/bootupd that referenced this pull request Sep 11, 2025
When doing tests for coreos#995,
find that the package `test-bootupd-payload-1.0-1.x86_64` is parsed
to `test-1.0-1` that is confused, maybe should keep the full name
if it is not `grub2` or `shim`.
@HuijingHei
Copy link
Member Author

HuijingHei commented Sep 12, 2025

Try to find why the CI failed. The CI is fixed now. Ready for review, thank you!

Copy link
Member

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

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

Looks sane to me!

@HuijingHei HuijingHei force-pushed the step2-ostree-boot branch 2 times, most recently from 1ef8a9b to 4d2d02f Compare September 24, 2025 04:18
- `query_file()` to query the rpm database and get package version
- `transfer_ostree_boot_to_usr()` that will copy EFI files from
`usr/lib/ostree-boot` to `usr/lib/efi`
Enhance `generate_update_metadata()` with validation to ensure
at least two packages are provided, preventing the creation of
incomplete or invalid update payloads.

See coreos#994
not existing `usr/lib/ostree-boot/efi/EFI`
@cgwalters
Copy link
Member

I think this change was a good idea, but it's caused a multi-day breakage in bootc CI because of the version interlock it creates where older bootupd fails to understand systems whose layout is generated with newer bootupd.

See bootc-dev/bootc#1926

As of right now it seems this change is rolled out to most targets except Fedora 42, but it didn't propagate consistently or quickly of course.

In retrospect, what we probably should have done is made actually applying this change require an opt-in in the base image (config file say), or bootupctl backend install --format=2 or so. It's not strictly speaking too late to do that.

We're also working on bootc-dev/bootc#1816 which will obviate most issues of skew, but it's hard to avoid in the general case.

With format changes again, the key thing is to decouple understanding the change from application of the format.

cgwalters added a commit to cgwalters/bootc that referenced this pull request Jan 20, 2026
Bootupd is too old, see coreos/bootupd#995 (comment)

Signed-off-by: Colin Walters <walters@verbum.org>
cgwalters added a commit to cgwalters/bootc that referenced this pull request Jan 20, 2026
The newer bootupd hasn't been rolled out to this image yet,
so this should avoid version skew problems.

See coreos/bootupd#995

Signed-off-by: Colin Walters <walters@verbum.org>
cgwalters added a commit to bootc-dev/bootc that referenced this pull request Jan 21, 2026
Bootupd is too old, see coreos/bootupd#995 (comment)

Signed-off-by: Colin Walters <walters@verbum.org>
cgwalters added a commit to bootc-dev/bootc that referenced this pull request Jan 21, 2026
The newer bootupd hasn't been rolled out to this image yet,
so this should avoid version skew problems.

See coreos/bootupd#995

Signed-off-by: Colin Walters <walters@verbum.org>
@HuijingHei
Copy link
Member Author

In retrospect, what we probably should have done is made actually applying this change require an opt-in in the base image (config file say), or bootupctl backend install --format=2 or so. It's not strictly speaking too late to do that.

Besides this, does it make sense to update bootupd on f42 and c9s?

@cgwalters
Copy link
Member

I think we should keep c9s and c10s in lockstep by default unless there's a rationale against it.

For f42...well, I just turned off ci for that in bootc and honestly I don't see a good reason to update it by default, so no strong opinion from me.

Again in the end we are likely to fix this more comprehensively in bootc, so it's not urgent.

Though also tangential to this I think it's another case where the intersection between bootc and bootupd is fairly coupled and it could still make sense to do a merge.

@HuijingHei
Copy link
Member Author

In retrospect, what we probably should have done is made actually applying this change require an opt-in in the base image (config file say), or bootupctl backend install --format=2 or so. It's not strictly speaking too late to do that.

Could you help to create such an issue for this?

it could still make sense to do a merge.

Agree!

@travier
Copy link
Member

travier commented Jan 22, 2026

OK let's stop the 0.2.32 release rollout. Sorry I missed this earlier.

In retrospect, what we probably should have done is made actually applying this change require an opt-in in the base image (config file say), or bootupctl backend install --format=2 or so. It's not strictly speaking too late to do that.

Yes, let's do that to make sure we keep existing releases using the current format. We have a change for F44 so we should not change the layout in F43 and C9S at least. Maybe not even C10S but that could be discussed.

With format changes again, the key thing is to decouple understanding the change from application of the format.

+1

@travier
Copy link
Member

travier commented Jan 22, 2026

bootupctl backend install --format=2

I think you meant generate-metadata here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants