XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    UEFI Firmware not supported

    Scheduled Pinned Locked Moved Management
    12 Posts 6 Posters 2.3k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      Andrew Top contributor
      last edited by

      olivierlambert I have many VMs on XCP 8.2.1 set for UEFI boot but XO source (commit 8eb4d) and XOA (5.93.1) show the message Firmware not supported when boot firmware is set to UEFI (for many VMs). A specific example is Debian 11 (and 12) installed and working with UEFI boot.
      uefi-fw.jpg

      An example that works is FreeBSD 14 set to UEFI boot and it does NOT show the warning in XO. Also, Windows 10 UEFI does not show the warning. So, maybe it's just Debian Linux installs.

      1 Reply Last reply Reply Quote 0
      • DanpD Offline
        Danp Pro Support Team
        last edited by

        Hi Andrew,

        This feature was added last month, and it appears to be using settings from the template to make this determination. Which template(s) are these VMs using? Can you show us the output of xe template-param-list uuid=<Template-UUID> where you replace <Template-UUID> with the actual UUID of one of the templates involved.

        Regards,
        Dan

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          Andrew Top contributor @Danp
          last edited by

          Danp I did not know it was just reporting what was in the template. I thought it actually looked for the UEFI boot volume.

          The Debian Bookworm 12 template contains: recommendations ( RO): <restriction field="supports-uefi" value="no"/>

          1 Reply Last reply Reply Quote 0
          • Tristis OrisT Offline
            Tristis Oris Top contributor
            last edited by Tristis Oris

            Few months ago i created test VMs with uefi without any erors.
            But now all of them show same error on both 8.2 8.3. Doesn't matter which template - ubuntu, centos, oracle, alma, etc.

            1 Reply Last reply Reply Quote 0
            • stormiS Offline
              stormi Vates 🪐 XCP-ng Team
              last edited by

              You can ignore the warning. We added a feature so that you are warned when trying to enable legacy bios on an OS which doesn't support it, for example Windows 11, but it also started giving warning in the other direction, when uefi is chosen on a template which says it doesn't support it. Why the templates say they don't support UEFI, I think it comes initially from decisions at XenServer, because they didn't extensively test these OSes, but we know that any recent Linux supports UEFI and this works well in XCP-ng.

              F 1 Reply Last reply Reply Quote 2
              • F Offline
                ferrao @stormi
                last edited by

                stormi is there any benefit in using those templates instead of just using Other Install Media, that allows UEFI and UEFI secure boot?

                stormiS K 2 Replies Last reply Reply Quote 0
                • stormiS Offline
                  stormi Vates 🪐 XCP-ng Team @ferrao
                  last edited by

                  ferrao Yes, they usually have better defaults for the target OS.

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    KPS Top contributor @ferrao
                    last edited by

                    ferrao
                    There is another thread about bad performance of migrated VMs, where the main reason was/is, that the wrong template was active which did lead to a degraded performance.

                    F 1 Reply Last reply Reply Quote 1
                    • F Offline
                      ferrao @KPS
                      last edited by

                      KPS stormi may I ask another question:

                      Yes I do see thats some settings when I ask for the profile using xe:

                      [15:19 xen1 ~]# xe template-param-list uuid=6c91b878-5095-421e-a914-224b3bb1088c 
                      uuid ( RO)                                  : 6c91b878-5095-421e-a914-224b3bb1088c
                                                  name-label ( RW): Red Hat Enterprise Linux 9
                                            name-description ( RW): To use this template from the CLI, install your VM using vm-install, then set other-config-install-repository to the path to your network repository, e.g. http://<server>/<path> or nfs:server:/<path>
                                                user-version ( RW): 1
                                               is-a-template ( RW): true
                                         is-default-template ( RW): true
                                               is-a-snapshot ( RO): false
                                                 snapshot-of ( RO): <not in database>
                                                   snapshots ( RO): 
                                               snapshot-time ( RO): 19700101T00:00:00Z
                                               snapshot-info ( RO): 
                                                      parent ( RO): <not in database>
                                                    children ( RO): 
                                           is-control-domain ( RO): false
                                                 power-state ( RO): halted
                                               memory-actual ( RO): 0
                                               memory-target ( RO): 0
                                             memory-overhead ( RO): 36700160
                                           memory-static-max ( RW): 4294967296
                                          memory-dynamic-max ( RW): 4294967296
                                          memory-dynamic-min ( RW): 4294967296
                                           memory-static-min ( RW): 2147483648
                                            suspend-VDI-uuid ( RW): <not in database>
                                             suspend-SR-uuid ( RW): <not in database>
                                                VCPUs-params (MRW): 
                                                   VCPUs-max ( RW): 1
                                            VCPUs-at-startup ( RW): 1
                                      actions-after-shutdown ( RW): Destroy
                                        actions-after-reboot ( RW): Restart
                                         actions-after-crash ( RW): Restart
                                               console-uuids (SRO): 
                                                         hvm ( RO): false
                                                    platform (MRW): videoram: 8; hpet: true; secureboot: false; device-model: qemu-upstream-compat; apic: true; device_id: 0001; vga: std; nx: true; pae: true; viridian: false; acpi: 1
                                          allowed-operations (SRO): changing_NVRAM; changing_dynamic_range; changing_shadow_memory; changing_static_range; provision; export; clone; copy
                                          current-operations (SRO): 
                                          blocked-operations (MRW): 
                                         allowed-VBD-devices (SRO): 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 100; 101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112; 113; 114; 115; 116; 117; 118; 119; 120; 121; 122; 123; 124; 125; 126; 127; 128; 129; 130; 131; 132; 133; 134; 135; 136; 137; 138; 139; 140; 141; 142; 143; 144; 145; 146; 147; 148; 149; 150; 151; 152; 153; 154; 155; 156; 157; 158; 159; 160; 161; 162; 163; 164; 165; 166; 167; 168; 169; 170; 171; 172; 173; 174; 175; 176; 177; 178; 179; 180; 181; 182; 183; 184; 185; 186; 187; 188; 189; 190; 191; 192; 193; 194; 195; 196; 197; 198; 199; 200; 201; 202; 203; 204; 205; 206; 207; 208; 209; 210; 211; 212; 213; 214; 215; 216; 217; 218; 219; 220; 221; 222; 223; 224; 225; 226; 227; 228; 229; 230; 231; 232; 233; 234; 235; 236; 237; 238; 239; 240; 241; 242; 243; 244; 245; 246; 247; 248; 249; 250; 251; 252; 253; 254
                                         allowed-VIF-devices (SRO): 0; 1; 2; 3; 4; 5; 6
                                              possible-hosts ( RO): e49f21ab-723c-472e-8ad2-46c169e31172; 488e0f1d-69f3-4ecb-a37b-b5328764c229; f6d05b66-a21b-49bc-ad57-b4ca9bad756f
                                                 domain-type ( RW): hvm
                                         current-domain-type ( RO): unspecified
                                             HVM-boot-policy ( RW): BIOS order
                                             HVM-boot-params (MRW): firmware: bios; order: cdn
                                       HVM-shadow-multiplier ( RW): 1.000
                                                   PV-kernel ( RW): 
                                                  PV-ramdisk ( RW): 
                                                     PV-args ( RW): 
                                              PV-legacy-args ( RW): 
                                               PV-bootloader ( RW): 
                                          PV-bootloader-args ( RW): 
                                         last-boot-CPU-flags ( RO): 
                                            last-boot-record ( RO): ''
                                                 resident-on ( RO): <not in database>
                                                    affinity ( RW): <not in database>
                                                other-config (MRW): default_template: true; import_task: OpaqueRef:5bfca08c-951b-4024-a329-60260d8936fe; mac_seed: 99974ea1-478b-426d-b483-960e65912bd8; disks: <provision><disk bootable="true" device="0" size="10737418240" sr="" type="system"/></provision>; install-methods: cdrom,nfs,http,ftp; linux_template: true
                                                      dom-id ( RO): -1
                                             recommendations ( RO): <restrictions><restriction field="memory-static-max" max="1649267441664"/><restriction field="vcpus-max" max="32"/><restriction field="has-vendor-device" value="false"/><restriction field="allow-gpu-passthrough" value="1"/><restriction field="allow-vgpu" value="1"/><restriction field="allow-network-sriov" value="1"/><restriction field="supports-bios" value="yes"/><restriction field="supports-uefi" value="no"/><restriction field="supports-secure-boot" value="no"/><restriction max="255" property="number-of-vbds"/><restriction max="7" property="number-of-vifs"/></restrictions>
                                               xenstore-data (MRW): 
                                  ha-always-run ( RW) [DEPRECATED]: false
                                         ha-restart-priority ( RW): 
                                                       blobs ( RO): 
                                                  start-time ( RO): 19700101T00:00:00Z
                                                install-time ( RO): 19700101T00:00:00Z
                                                VCPUs-number ( RO): 0
                                           VCPUs-utilisation (MRO): 
                                                  os-version (MRO): <not in database>
                                          PV-drivers-version (MRO): <not in database>
                          PV-drivers-up-to-date ( RO) [DEPRECATED]: <not in database>
                                                      memory (MRO): <not in database>
                                                       disks (MRO): <not in database>
                                                        VBDs (SRO): 
                                                    networks (MRO): <not in database>
                                         PV-drivers-detected ( RO): <not in database>
                                                       other (MRO): <not in database>
                                                        live ( RO): <not in database>
                                  guest-metrics-last-updated ( RO): <not in database>
                                         can-use-hotplug-vbd ( RO): <not in database>
                                         can-use-hotplug-vif ( RO): <not in database>
                                    cooperative ( RO) [DEPRECATED]: true
                                                        tags (SRW): 
                                                   appliance ( RW): <not in database>
                                           snapshot-schedule ( RW): <not in database>
                                            is-vmss-snapshot ( RO): false
                                                 start-delay ( RW): 0
                                              shutdown-delay ( RW): 0
                                                       order ( RW): 0
                                                     version ( RO): 1
                                               generation-id ( RO): 
                                   hardware-platform-version ( RO): 0
                                           has-vendor-device ( RW): false
                                             requires-reboot ( RO): false
                                             reference-label ( RO): rhel-9
                                                bios-strings (MRO): 
                      

                      That's a lot of things.

                      The questions would be:

                      1. Is there a way to create another template that will inherit from the base template just to modify the UEFI support? Because let's be honest, it's 2024 and I don't feel like using legacy BIOS even for VMs... And when I mean inherit is that if something changes on the template it will be automatically changed on the inherited one. I'm aware that I can just clone/copy the template and modify but this will eventually lose updates to the base template.

                      2. Does XOA (the paid version) have more up to date templates with, for example, UEFI support for Linux? FreeBSD, etc?

                      Thank you all guys.

                      1 Reply Last reply Reply Quote 0
                      • stormiS Offline
                        stormi Vates 🪐 XCP-ng Team
                        last edited by stormi

                        UEFI is supported for Linux already. It also works for FreeBSD, as far as I remember (but there are no official FreeBSD templates). Don't trust what XO or the templates say about UEFI support, until they have fixed the UI regression. Some template fields are legacy and not to be trusted, and this is one of them.

                        1 Reply Last reply Reply Quote 0
                        • stormiS Offline
                          stormi Vates 🪐 XCP-ng Team
                          last edited by

                          Regarding how to inherit an existing template, I don't know if it is doable at the user level. Default templates are created in a way where they inherit from higher level templates, but that's before they become template objectifs in XAPI, so it's probably different for user templates.

                          F 1 Reply Last reply Reply Quote 0
                          • F Offline
                            ferrao @stormi
                            last edited by ferrao

                            stormi Thanks stormi.

                            I have to get used to XO. I always use XCP-ng Admin on Windows because old habits die hard, and there I cannot even select UEFI with all the Linux templates.

                            The magic that XO does is that it allows to use the templates, but with UEFI.

                            I have a VM that I've deployed with the "Other install media" option, so I just dettached the disk and reimported on the new one created by XO, with the correct template. Everything seems fine.

                            So my question about inheriting the template is not relevant if we use XO. Hope my understand is correct.

                            Thanks.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post