Skip to content

kexec: support multiple initrd files via concatenation#178

Open
hansbogert wants to merge 1 commit intotinkerbell:mainfrom
hansbogert:main
Open

kexec: support multiple initrd files via concatenation#178
hansbogert wants to merge 1 commit intotinkerbell:mainfrom
hansbogert:main

Conversation

@hansbogert
Copy link
Copy Markdown

Ubuntu 24.04 images ship three separate initrd archives on one initrd line (microcode.initrd, initrd, kernel-modules.initrd). grub.go now collects all paths from an initrd directive into []string instead of only the first. kexec.go concatenates them into a single temp file before passing to KexecFileLoad; the temp file is reopened read-only to avoid ETXTBSY.

Description

Fixes: failed booting when using latest ubuntu 24.04 images which can have multiple initrds.

How Has This Been Tested?

End-to-end using the quickstart, but with iamt hardware and the ubuntu 24.04 images provided by the tinkerbell project

How are existing users impacted? What migration steps/scripts do we need?

No expected migrations needed

Checklist:

I have:

  • updated the documentation and/or roadmap (if required) (hansbogert: don't think it's needed)
  • added unit or e2e tests
  • provided instructions on how to upgrade (hansbogert: don't think it's needed)

Ubuntu 24.04 images ship three separate initrd archives on one initrd
line (microcode.initrd, initrd, kernel-modules.initrd). grub.go now
collects all paths from an initrd directive into []string instead of
only the first. kexec.go concatenates them into a single temp file
before passing to KexecFileLoad; the temp file is reopened read-only
to avoid ETXTBSY.

Signed-off-by: Hans van den Bogert <hansbogert@gmail.com>
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