Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: copy uki to installer #10128

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

frezbo
Copy link
Member

@frezbo frezbo commented Jan 14, 2025

Add unsigned uki to installer.
Add a QEMU test with unsigned UKI.

Part of: #9633

Add unsigned uki to installer.
Add a QEMU test with unsigned UKI.

Part of: siderolabs#9633

Signed-off-by: Noel Georgi <[email protected]>
@smira
Copy link
Member

smira commented Jan 14, 2025

I don't quite understand the goal of what we're doing today to be honest.

I think we should put unconditionally UKI to the installer (either signed or unsigned, depending on imager configuration), and make installer automatically extract initramfs/kernel from it when running in GRUB mode.

@frezbo
Copy link
Member Author

frezbo commented Jan 14, 2025

I don't quite understand the goal of what we're doing today to be honest.

I think we should put unconditionally UKI to the installer (either signed or unsigned, depending on imager configuration), and make installer automatically extract initramfs/kernel from it when running in GRUB mode.

but imager generates uki, so we can't put in default talos installer target, or we use imager always to generate installer

@smira
Copy link
Member

smira commented Jan 15, 2025

but imager generates uki, so we can't put in default talos installer target, or we use imager always to generate installer

So my thought process is the following:

  • in Dockerfile install-artifacts, always put UKIs instead of split initramfs/vmlinuz
  • in imager, when consuming incoming profile, support extracting sections of PE files, with syntax e.g. like /path/to/some.uki:.kernel, so that one can reference kernel asset to be extracted from the UKI
  • in imager, always generate installers with UKIs in artifacts attached
  • in installer, automatically detect what we should be doing: if using sd-boot and we have UKI, just copy it; if using GRUB and we have UKI, extract section from UKI same way

All of that for Talos 1.10+

Now, in Image Factory, we can generate installer with signed UKIs always, and they will work both for SecureBoot and non-SecureBoot.

Does it makes sense? We can talk it through as well

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

Successfully merging this pull request may close these issues.

3 participants