bootc: support grub2 serial console customization#2403
Conversation
9d7b50c to
b1afdd7
Compare
|
@jbtrystram I'll mark this one as draft until we land the required |
b1afdd7 to
80612a9
Compare
|
@supakeen I see the blueprints changes have been released so I guess this can be reviewed ? I just noticed the |
Yea, you can undraft. |
joelcapitao
left a comment
There was a problem hiding this comment.
I tested this PR alongside other PRs I have and got:
============================================================
=== Processing artifact: qemu for x86_64
============================================================
IMAGE_TYPE: qcow2
MEDIA_TYPE: application/vnd.diskimage.qcow2
=== Pre-merged blueprint for qemu ===
name = "Fedora CoreOS"
[customizations]
[customizations.ignition]
[customizations.ignition.firstboot]
empty = true
[customizations.kernel]
append = "mitigations=auto,nosmt $ignition_firstboot ignition.platform.id=qemu console=tty0 console=ttyS0,115200n8"
[customizations.bootloader]
[customizations.bootloader.grub2]
terminal_input = ["serial", "console"]
terminal_output = ["serial", "console"]
serial = "serial --speed=115200"
=== Building qemu disk image ===
Manifest generation step
Building manifest for bootc-based-qcow2
Using disk.yaml root filesystem (xfs), ignoring bootc config (xfs)
Image building step
<stdin> has errors:
.pipelines[2].stages[7].options:
'path' is a required property
error: error running osbuild: exit status 2
ERROR: Failed to build qemu
80612a9 to
cb7d8ac
Compare
Wire the blueprint bootloader customization into the bootc disk image pipeline. When blueprint specifies grub2 serial/terminal settings, emit an org.osbuild.grub2.d stage that writes a drop-in config to `boot/grub2/console.cfg` after bootc install-to-filesystem. This relies on `bootupd`'s `console.cfg` grub config: https://github.com/coreos/bootupd/blob/main/src%2Fgrub2%2Fgrub-static-pre.cfg#L41 This adds a Go wrapper for the new osbuild stage and reads `GetBootloader()` in the bootc image type. Assisted-by: Opencode.ai <Opus 4.6> Requires: osbuild/blueprint#53 Requires: osbuild/osbuild#2473
cb7d8ac to
90ca81e
Compare
supakeen
left a comment
There was a problem hiding this comment.
Mmm I still had the default path value in my head too :)
Wire the blueprint bootloader customization into the bootc disk image pipeline.
When blueprint specifies grub2 serial/terminal settings, emit an org.osbuild.grub2.d stage that writes a drop-in config to
boot/grub2/console.cfgafter bootc install-to-filesystem.This relies on
bootupd'sconsole.cfggrub config: https://github.com/coreos/bootupd/blob/main/src%2Fgrub2%2Fgrub-static-pre.cfg#L41This adds a Go wrapper for the new osbuild stage and reads
GetBootloader()in the bootc image type.Assisted-by: Opencode.ai <Opus 4.6>
Requires: osbuild/blueprint#53
Requires: osbuild/osbuild#2473