From f23e9472f91a034147d6644dc1c406685950913b Mon Sep 17 00:00:00 2001 From: Nikolay Martyanov Date: Thu, 19 Sep 2024 05:09:37 +0200 Subject: [PATCH] pillar: Add support for predefined OVMF settings based on resolution. Implemented logic to select predefined OVMF_VARS.fd files for specific screen resolutions. Added pre-saved OVMF settings for 800x600, 1024x768, 1280x800, and 1920x1080 resolutions, ensuring clean boot entries. Signed-off-by: Nikolay Martyanov --- .../rootfs/etc/ovmf/OVMF_VARS_1024x768.fd | Bin 0 -> 540672 bytes .../rootfs/etc/ovmf/OVMF_VARS_1280x800.fd | Bin 0 -> 540672 bytes .../rootfs/etc/ovmf/OVMF_VARS_1920x1080.fd | Bin 0 -> 540672 bytes .../rootfs/etc/ovmf/OVMF_VARS_800x600.fd | Bin 0 -> 540672 bytes pkg/pillar/hypervisor/kvm.go | 35 +++++++++++------- pkg/pillar/types/locationconsts.go | 2 + 6 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1024x768.fd create mode 100644 pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1280x800.fd create mode 100644 pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1920x1080.fd create mode 100644 pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_800x600.fd diff --git a/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1024x768.fd b/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1024x768.fd new file mode 100644 index 0000000000000000000000000000000000000000..a0d1de1d01d09571f219e1d862767dc47c67e01b GIT binary patch literal 540672 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 z7f0EAmQz2*Eiu)l%;?mPabjLh{=*U$0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009CEDRAi}w|w%RhkkwQ<6j?7KX~kwzdLqp?5!_Gf{w39)v}Ojb8G?x z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZptr#P E18+j^$N&HU literal 0 HcmV?d00001 diff --git a/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1280x800.fd b/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1280x800.fd new file mode 100644 index 0000000000000000000000000000000000000000..46e99148a49bc37ead522bb59e4080c1ea727e74 GIT binary patch literal 540672 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{R0v#p$*rHf_u=2z{KPl*q#r*1 z$`6kn9ee9baiC+%Qnj3lW7;PH0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ ZfB*pk1PBlyK!5-N0t5&UATT?D{|6=h@q+*W literal 0 HcmV?d00001 diff --git a/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1920x1080.fd b/pkg/dom0-ztools/rootfs/etc/ovmf/OVMF_VARS_1920x1080.fd new file mode 100644 index 0000000000000000000000000000000000000000..081a77d4d39f48620a633fab9d980228a2831a5c GIT binary patch literal 540672 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�Yh<)dHTRPX|)aJ9SiUS;v zi=!<4r+$oEVya92lMfaG1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0Rk_7flDvB<&*b3^s8GR|N40P!DFxf-LYe1Z+|heeSAf#mY2VP91_ovmf_vars.bin - ovmfSettingsFile, err := getOVMFSettingsFilename(domainName) + ovmfSettingsFile, err := getOVMFSettingsFilename(status.DomainName) if err != nil { return logError("failed to get OVMF settings file: %v", err) } + // Check if we need custom OVMF settings for the domain (the resolution) + fmlResolution := types.FmlResolutionUnset + if config.VirtualizationMode == types.FML { + // if we are not getting the resolution from the cloud-init, check the + // global config. + fmlResolution = status.FmlCustomResolution + if fmlResolution == types.FmlResolutionUnset { + if fmlResolution, err = getFmlCustomResolution(&status, globalConfig); err != nil { + return logError("failed to get custom resolution for domain %s: %v", status.DomainName, err) + } + } + } + // Find the necessary OVMF settings file + ovmfSettingsFileSrc := types.OVMFSettingsTemplate + if fmlResolution != types.FmlResolutionUnset { + ovmfSettingsFileSrc = types.CustomOVMFSettingsDir + "/OVMF_VARS_" + fmlResolution + ".fd" + } if _, err := os.Stat(ovmfSettingsFile); os.IsNotExist(err) { - if err := fileutils.CopyFile(types.OVMFSettingsTemplate, ovmfSettingsFile); err != nil { - return logError("failed to copy ovmf_vars.bin file: %v", err) + if err := fileutils.CopyFile(ovmfSettingsFileSrc, ovmfSettingsFile); err != nil { + return logError("failed to copy OVMF_VARS file: %v", err) } } // Set the RW permissions for the OVMF settings file @@ -779,14 +796,6 @@ func (ctx KvmContext) Setup(status types.DomainStatus, config types.DomainConfig domainName := status.DomainName domainUUID := status.UUIDandVersion.UUID - // this needs to be reworked to fit into the OVMF_VAR changes. - res, err := getFmlCustomResolution(&status, globalConfig) - if err != nil { - logError("failed to get fml custom resolution: %v", err) - } else { - logError("fml custom resolution is set to: %s", res) - } - // check if vTPM is enabled swtpmCtrlSock := "" if status.VirtualTPM { @@ -800,7 +809,7 @@ func (ctx KvmContext) Setup(status types.DomainStatus, config types.DomainConfig // for ARM produces a single QEMU_EFI.fd file that contains both OVMF_VARS.fd // and OVMF_CODE.fd. if config.VirtualizationMode == types.FML && runtime.GOARCH == "amd64" { - if err := prepareOVMFSettings(domainName); err != nil { + if err := prepareOVMFSettings(config, status, globalConfig); err != nil { return logError("failed to setup OVMF settings for domain %s: %v", status.DomainName, err) } } diff --git a/pkg/pillar/types/locationconsts.go b/pkg/pillar/types/locationconsts.go index 25a39d16f15..5d36f443e0a 100644 --- a/pkg/pillar/types/locationconsts.go +++ b/pkg/pillar/types/locationconsts.go @@ -137,6 +137,8 @@ const ( OVMFSettingsDir = SealedDirName + "/ovmf" // OVMFSettingsTemplate - template file for OVMF settings OVMFSettingsTemplate = "/usr/lib/xen/boot/OVMF_VARS.fd" + // CustomOVMFSettingsDir - directory for custom OVMF settings (for different resolutions) + CustomOVMFSettingsDir = "/hostfs/etc/ovmf" ) var (