Skip to content

Conversation

@cgwalters
Copy link
Collaborator

No description provided.

…ries

UKI files are located at /usr/lib/modules/<version>/<version>.efi, not
directly in /usr/lib/modules/. Update the kernel/initramfs detection
loop to search inside version subdirectories for .efi files.

This enables ephemeral boot for "pure UKI" images that ship only a
Unified Kernel Image without separate vmlinuz/initramfs.img files.

Note: UKI boot extracts kernel/initramfs using objcopy, which breaks
the signature chain. Secure Boot is not supported for ephemeral runs.
See docs/todo/ephemeral-uefi.md for future UEFI boot work.

Closes: bootc-dev#161

Assisted-by: OpenCode (Claude Sonnet 4)
Signed-off-by: Colin Walters <walters@verbum.org>
Replace verbose std::process::Command usage with xshell's cmd! macro
throughout the integration tests. This provides cleaner syntax with
safe variable interpolation and reduces boilerplate significantly.

Key patterns used:
- cmd!(sh, "...").read()? for capturing stdout
- cmd!(sh, "...").ignore_status().output()? for fallible commands
- {var} interpolation and {args...} array expansion

The run_bcvk() helper and VmCleanupGuard Drop impl intentionally
retain std::process::Command for consistent CapturedOutput handling
and because Shell::new() is fallible in Drop contexts.

Assisted-by: Claude Code (Sonnet 4)
Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters
Copy link
Collaborator Author

This one I based on #190 just to avoid textual conflicts and having to redo the tests in that PR

Copy link

@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 significant improvements by refactoring integration tests to consistently use xshell for command execution, enhancing readability and maintainability. It also adds a new kernel module for robust kernel and Unified Kernel Image (UKI) detection, which is crucial for supporting diverse bootc images. The integration of this module into run_ephemeral and the addition of new UKI-specific integration tests demonstrate a strong commitment to compatibility and reliability. Furthermore, the docs/todo/ephemeral-uefi.md document provides excellent foresight and planning for future UEFI boot support. Overall, these changes represent a substantial positive step for the project.

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.

1 participant