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

Force SeaBIOS instead of OVMF-based firmware & some firmware lookup logic changes #12750

Merged
merged 5 commits into from
Jan 19, 2024

Commits on Jan 19, 2024

  1. lxd/instance/drivers/driver_qemu: force SeaBIOS CSM firmware instead …

    …of OVMF
    
    EDKII CSM module was removed (https://bugzilla.tianocore.org/show_bug.cgi?id=4588),
    we want to force all existing VMs those are using a OVMF-based CSM firmware
    to step on the SeaBIOS.
    
    Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    mihalicyn committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    1441e59 View commit details
    Browse the repository at this point in the history
  2. instance/qemu: support extended firmware search algorithm

    - introduce new env variable LXD_QEMU_FW_PATH in addition to LXD_OVMF_PATH
    as this name is more correct. OVMF is a specific firmware name, while we
    can use SeaBIOS or, for example, ArmVirt.
    - make support of array of paths in the LXD_QEMU_FW_PATH/LXD_OVMF_PATH separated by ":"
    like PATH/LD_LIBRARY_PATH/etc.
    
    Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    mihalicyn committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    8f8f17f View commit details
    Browse the repository at this point in the history
  3. instance/qemu: rename ovmf mentions

    Let's rename ovmf mentions to vmf (virtual machine firmware) depending on the context.
    As OVMF is a specific name of the EDK2-based firmware for x86_64. For arm64 we also
    use edk2-based firmware called ArmVirtQemu (from ArmVirtPkg).
    
    No functional changes here.
    
    Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    mihalicyn committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    7e61b93 View commit details
    Browse the repository at this point in the history
  4. instance/qemu: do some sanity checks around enabling security.csm

    1. It makes no sense to set security.csm=true for arches except
    x86_64 as we don't have any kind of a "legacy" firmware for them.
    x86_64 architecture is a very special case cause we have a
    legacy (BIOS) and modern (UEFI) firmwares supported in LXD.
    
    2. Same about having CSM enabled together with boot.debug_edk2,
    cause the last one means that EDK2 is used.
    
    Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    mihalicyn committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    be48904 View commit details
    Browse the repository at this point in the history
  5. lxd/instance/drivers/driver_qemu: use bios-256k.bin instead of seabio…

    …s.bin
    
    bios-256k.bin is a standard name for SeaBIOS firmware, while seabios.bin
    is a specific one.
    
    Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
    mihalicyn committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    62ee9ff View commit details
    Browse the repository at this point in the history