From 792c7fea45509184cfa86ded87c81872075d3bf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Gini=C3=A8s?= Date: Thu, 10 Oct 2024 10:59:39 +0200 Subject: [PATCH 1/6] Update libvirt_guest_installation.xml (PXE part)) Fix PXE enablement (there is no Network PXE but the NIC) --- xml/libvirt_guest_installation.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index e860ad0207..4b22b4c9fb 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -302,8 +302,8 @@ - Under Enable boot menu, activate - Network PXE and confirm with + Under Enable boot menu, find the NIC device + move it on top of the menu and confirm with Apply. From 951fe5dba81be0f3ef07df9c71da2fdbf8d05d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Gini=C3=A8s?= Date: Thu, 10 Oct 2024 11:12:37 +0200 Subject: [PATCH 2/6] Update libvirt_guest_installation.xml fixes to provide 2 options --- xml/libvirt_guest_installation.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index 4b22b4c9fb..b159686fc5 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -302,15 +302,19 @@ - Under Enable boot menu, find the NIC device - move it on top of the menu and confirm with + Under Enable boot menu and confirm with Apply. + You can also find the NIC device in the boot Menu configuration and move + it on top and confirm with Apply. This latest option will + force the virtual machine to use PXE as default boot. Start the installation by clicking Begin - Installation. If a PXE server is properly configured, the + Installation. Now press for boot menu and + choose 1. iPXE. + If a PXE server is properly configured, the PXE menu screen appears. From 17989591e32476ea36a27b22f771c880ce34d124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Gini=C3=A8s?= Date: Thu, 10 Oct 2024 12:40:19 +0200 Subject: [PATCH 3/6] Tip on FW features Adding a tip on FW features --- xml/libvirt_guest_installation.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index b159686fc5..1340c099e0 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -598,7 +598,13 @@ network=vnet_nated must be explicitly specified. Users can reference the JSON descriptor files to find a firmware that satisfies their requirements. - + + + The directory /usr/share/qemu/firmware contains all the json files + used by &libvirt;. This file give you all firmwares's information including + the fetaures capabilities. + + When using virt-install, automatic firmware selection is enabled by specifying the firmware=efi parameter From 66103ccac1d61da08badf6e11a9a8903ef794ae4 Mon Sep 17 00:00:00 2001 From: Souvik Sarkar Date: Fri, 18 Oct 2024 14:56:20 +0530 Subject: [PATCH 4/6] Cosmetic modifications --- xml/libvirt_guest_installation.xml | 61 +++++++++++++++++++----------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index 1340c099e0..2ad189f026 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -295,27 +295,44 @@ - - Inspect Boot device order and activate the box - next to Enable boot menu. - - - - - Under Enable boot menu and confirm with - Apply. - You can also find the NIC device in the boot Menu configuration and move - it on top and confirm with Apply. This latest option will - force the virtual machine to use PXE as default boot. - + + Inspect Boot device order and select Enable boot menu. + + + + + To retain VirtIO Disk as the default boot option, confirm with Apply. + + + + + To force the virtual machine to use PXE as the default boot option: + + + + + Select the NIC device in the boot menu configuration. + + + + + Move it to the top using the arrow signs on the right. + + + + + Confirm with Apply. + + + + + - Start the installation by clicking Begin - Installation. Now press for boot menu and - choose 1. iPXE. - If a PXE server is properly configured, the - PXE menu screen appears. + Start the installation by clicking Begin Installation. Now press + for boot menu and choose 1. iPXE. If a PXE + server is properly configured, the PXE menu screen appears. @@ -596,13 +613,13 @@ network=vnet_nated firmware with secure boot enabled and Microsoft keys enrolled. When using manual selection, the full path of the firmware and any optional settings must be explicitly specified. Users can reference the JSON descriptor - files to find a firmware that satisfies their requirements. + files to find a firmware that satisfies their requirements. - The directory /usr/share/qemu/firmware contains all the json files - used by &libvirt;. This file give you all firmwares's information including - the fetaures capabilities. + The directory /usr/share/qemu/firmware contains all the JSON files + used by &libvirt;. This file give you detailed information about the firmwares, including + the capabilitie of the features. From d8baf25d1bf2c41c0d785f0a9f05c2f7840afef0 Mon Sep 17 00:00:00 2001 From: Souvik Sarkar Date: Fri, 18 Oct 2024 15:37:25 +0530 Subject: [PATCH 5/6] Editorial corrections --- xml/libvirt_guest_installation.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index 2ad189f026..434c9125dd 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -618,8 +618,8 @@ network=vnet_nated The directory /usr/share/qemu/firmware contains all the JSON files - used by &libvirt;. This file give you detailed information about the firmwares, including - the capabilitie of the features. + used by &libvirt;. This file gives you detailed information about the firmwares, including + the capabilities of the features. From 7b4957f65de8135f4b1b4cb4b33cb6b45a59d5fa Mon Sep 17 00:00:00 2001 From: Souvik Sarkar Date: Fri, 18 Oct 2024 15:53:12 +0530 Subject: [PATCH 6/6] XML formatting --- xml/libvirt_guest_installation.xml | 609 +++++++++++++---------------- 1 file changed, 264 insertions(+), 345 deletions(-) diff --git a/xml/libvirt_guest_installation.xml b/xml/libvirt_guest_installation.xml index 434c9125dd..8c5dbc45e9 100644 --- a/xml/libvirt_guest_installation.xml +++ b/xml/libvirt_guest_installation.xml @@ -13,28 +13,25 @@ - A &vmguest; consists of an image containing an operating system and data - files and a configuration file describing the &vmguest;'s virtual hardware - resources. &vmguest;s are hosted on and controlled by the &vmhost;. This - section provides generalized instructions for installing a &vmguest;. - For a list of supported &vmguest;s refer to . - Virtual machines have few if any requirements above those required to run - the operating system. If the operating system has not been optimized for - the virtual machine host environment, it can only run on - virtualization computer hardware, in - full virtualization mode, and requires specific device drivers to be - loaded. The hardware that is presented to the &vmguest; depends on the - configuration of the host. + Virtual machines have few if any requirements above those required to run the operating system. + If the operating system has not been optimized for the virtual machine host environment, it can + only run on virtualization computer hardware, in full + virtualization mode, and requires specific device drivers to be loaded. The hardware that is + presented to the &vmguest; depends on the configuration of the host. - You should be aware of any licensing issues related to running a single - licensed copy of an operating system on multiple virtual machines. Consult - the operating system license agreement for more information. + You should be aware of any licensing issues related to running a single licensed copy of an + operating system on multiple virtual machines. Consult the operating system license agreement + for more information. GUI-based guest installation @@ -42,12 +39,11 @@ Changing default options for new virtual machines - You can change default values that are applied when creating new - virtual machines. For example, to set UEFI as the default firmware type - for new virtual machines, select - EditPreferences - from &vmm;'s main menu, click New VM and set - UEFI as the firmware default. + You can change default values that are applied when creating new virtual machines. For + example, to set UEFI as the default firmware type for new virtual machines, select + EditPreferences from &vmm;'s + main menu, click New VM and set UEFI as the firmware + default.
Specifying default options for new VMs @@ -63,54 +59,49 @@ - The New VM wizard helps you through the steps required - to create a virtual machine and install its operating system. To start - it, open the &vmm; and select File - New Virtual Machine. Alternatively, start - &yast; and select Virtualization + The New VM wizard helps you through the steps required to create a virtual + machine and install its operating system. To start it, open the &vmm; and select + File New Virtual Machine. + Alternatively, start &yast; and select Virtualization Create Virtual Machines. - Start the New VM wizard either from &yast; or - &vmm;. + Start the New VM wizard either from &yast; or &vmm;. - Choose an installation source—either a locally available media - or a network installation source. To set up your &vmguest; from an - existing image, choose import existing disk image. + Choose an installation source—either a locally available media or a network + installation source. To set up your &vmguest; from an existing image, choose + import existing disk image. - On a &vmhost; running the &xen; hypervisor, you can choose whether to - install a paravirtualized or a fully virtualized guest. The - respective option is available under Architecture - Options. Depending on this choice, not all installation + On a &vmhost; running the &xen; hypervisor, you can choose whether to install a + paravirtualized or a fully virtualized guest. The respective option is available under + Architecture Options. Depending on this choice, not all installation options may be available. - Depending on your choice in the previous step, you need to provide - the following data: + Depending on your choice in the previous step, you need to provide the following data: Local install media (ISO image or CDROM) - Specify the path on the &vmhost; to an ISO image containing the - installation data. If it is available as a volume in a libvirt - storage pool, you can also select it using - Browse. For more information, see + Specify the path on the &vmhost; to an ISO image containing the installation data. + If it is available as a volume in a libvirt storage pool, you can also select it + using Browse. For more information, see . - Alternatively, choose a physical CD-ROM or DVD inserted in the - optical drive of the &vmhost;. + Alternatively, choose a physical CD-ROM or DVD inserted in the optical drive of the + &vmhost;. @@ -118,19 +109,17 @@ Network install (HTTP, HTTPS or FTP) - Provide the URL pointing to the installation - source. Valid URL prefixes are, for example, - ftp://, http:// and - https://. + Provide the URL pointing to the installation source. Valid URL + prefixes are, for example, ftp://, http:// + and https://. - Under URL Options, provide a path to an - auto-installation file (&ay; or Kickstart, for example) and - kernel parameters. Having provided a URL, the operating system - should be automatically detected correctly. If this is not the - case, deselect Automatically Detect Operating System - Based on Install-Media and manually select the - OS Type and Version. + Under URL Options, provide a path to an auto-installation file + (&ay; or Kickstart, for example) and kernel parameters. Having provided a URL, the + operating system should be automatically detected correctly. If this is not the + case, deselect Automatically Detect Operating System Based on + Install-Media and manually select the OS Type and + Version. @@ -150,11 +139,10 @@ Import existing disk image - To set up the &vmguest; from an existing image, you need to - specify the path on the &vmhost; to the image. If it is - available as a volume in a libvirt storage pool, you can also - select it using Browse. For more - information, see . + To set up the &vmguest; from an existing image, you need to specify the path on the + &vmhost; to the image. If it is available as a volume in a libvirt storage pool, + you can also select it using Browse. For more information, see + . @@ -162,12 +150,10 @@ Manual install - This installation method is suitable to create a virtual - machine, manually configure its components and install its OS - later. To adjust the VM to a specific product version, start - typing its name, for example, - sles—and select the desired version - when a match appears. + This installation method is suitable to create a virtual machine, manually + configure its components and install its OS later. To adjust the VM to a specific + product version, start typing its name, for example, + sles—and select the desired version when a match appears. @@ -175,40 +161,35 @@ - Choose the memory size and number of CPUs for the new virtual - machine. + Choose the memory size and number of CPUs for the new virtual machine. - This step is omitted when Import an Existing Image - is chosen in the first step. + This step is omitted when Import an Existing Image is chosen in the + first step. - Set up a virtual hard disk for the &vmguest;. Either create a new - disk image or choose an existing one from a storage pool (for more - information, see ). If you - choose to create a disk, a qcow2 image is created - and stored under /var/lib/libvirt/images by - default. + Set up a virtual hard disk for the &vmguest;. Either create a new disk image or choose an + existing one from a storage pool (for more information, see + ). If you choose to create a disk, a + qcow2 image is created and stored under + /var/lib/libvirt/images by default. - Setting up a disk is optional. If you are running a live system - directly from CD or DVD, for example, you can omit this step by - deactivating Enable Storage for this Virtual - Machine. + Setting up a disk is optional. If you are running a live system directly from CD or DVD, + for example, you can omit this step by deactivating Enable Storage for this + Virtual Machine. - On the last screen of the wizard, specify the name for the virtual - machine. To be offered the possibility to review and make changes to - the virtualized hardware selection, activate Customize - configuration before install. Specify the network device - under Network Selection. When using - Bridge device, the first bridge found on the host - is pre-filled. To use a different bridge, manually update the text - box with its name. + On the last screen of the wizard, specify the name for the virtual machine. To be offered + the possibility to review and make changes to the virtualized hardware selection, + activate Customize configuration before install. Specify the network + device under Network Selection. When using Bridge + device, the first bridge found on the host is pre-filled. To use a different + bridge, manually update the text box with its name. Click Finish. @@ -216,15 +197,13 @@ - If you kept the defaults in the previous step, the installation - starts. If you selected Customize configuration before - install, a &vmguest; configuration dialog opens. For more - information about configuring &vmguest;s, see + If you kept the defaults in the previous step, the installation starts. If you selected + Customize configuration before install, a &vmguest; configuration + dialog opens. For more information about configuring &vmguest;s, see . - When you are done configuring, click Begin - Installation. + When you are done configuring, click Begin Installation. @@ -232,39 +211,34 @@ Passing key combinations to virtual machines - The installation starts in a &vmm; console window. Certain key - combinations, such as - F1 , are - recognized by the &vmhost; but are not passed to the virtual machine. - To bypass the &vmhost;, &vmm; provides the sticky key - functionality. Pressing , - , or three times - makes the key sticky, then you can press the remaining keys to pass the - combination to the virtual machine. + The installation starts in a &vmm; console window. Certain key combinations, such as + F1 + , are recognized by the &vmhost; but are not passed to the virtual machine. To + bypass the &vmhost;, &vmm; provides the sticky key functionality. Pressing + , , or three + times makes the key sticky, then you can press the remaining keys to pass the combination + to the virtual machine. - For example, to pass - F2 to a Linux - virtual machine, press three times, then - press F2 - . You can also press three times, - then press F2 - . + For example, to pass + F2 to a Linux virtual machine, press + three times, then press + F2 . You can also press three times, + then press F2 . - The sticky key functionality is available in the &vmm; during and after - installing a &vmguest;. + The sticky key functionality is available in the &vmm; during and after installing a + &vmguest;. Configuring the virtual machine for PXE boot - PXE boot enables your virtual machine to boot from the installation - media via the network, instead of from a physical medium or an - installation disk image. Refer to - for more details about - setting up a PXE boot environment. + PXE boot enables your virtual machine to boot from the installation media via the network, + instead of from a physical medium or an installation disk image. Refer to + for more details about setting up a PXE boot + environment. To let your VM boot from a PXE server, follow these steps: @@ -272,8 +246,7 @@ - Start the installation wizard as described in - . + Start the installation wizard as described in . @@ -283,56 +256,56 @@ - Proceed to the last step of the wizard and activate - Customize configuration before install. Confirm - with Finish. + Proceed to the last step of the wizard and activate Customize configuration + before install. Confirm with Finish. - On the Customize screen, select Boot - Options. + On the Customize screen, select Boot Options. - - Inspect Boot device order and select Enable boot menu. - - - - - To retain VirtIO Disk as the default boot option, confirm with Apply. - - - - - To force the virtual machine to use PXE as the default boot option: - - - - - Select the NIC device in the boot menu configuration. - - + + Inspect Boot device order and select Enable boot + menu. + + - - Move it to the top using the arrow signs on the right. - + + To retain VirtIO Disk as the default boot option, confirm with + Apply. + - - Confirm with Apply. - + + To force the virtual machine to use PXE as the default boot option: + + + + + Select the NIC device in the boot menu configuration. + + + + + Move it to the top using the arrow signs on the right. + + + + + Confirm with Apply. + + + - - - + - Start the installation by clicking Begin Installation. Now press - for boot menu and choose 1. iPXE. If a PXE - server is properly configured, the PXE menu screen appears. + Start the installation by clicking Begin Installation. Now press + for boot menu and choose 1. iPXE. If a + PXE server is properly configured, the PXE menu screen appears. @@ -342,16 +315,15 @@ Installing from the command line with <command>virt-install</command> - virt-install is a command-line tool that helps you - create new virtual machines using the &libvirt; library. It is useful if - you cannot use the graphical user interface, or need to automatize the - process of creating virtual machines. + virt-install is a command-line tool that helps you create new virtual + machines using the &libvirt; library. It is useful if you cannot use the graphical user + interface, or need to automatize the process of creating virtual machines. - virt-install is a complex script with a lot of command - line switches. The following are required. For more information, see the - man page of virt-install (1). + virt-install is a complex script with a lot of command line switches. The + following are required. For more information, see the man page of + virt-install (1). @@ -361,31 +333,25 @@ - : Specify the - name of the new virtual machine. The name must be unique across - all guests known to the hypervisor on the same connection. It - is used to create and name the guest’s configuration file and - you can access the guest with this name from - virsh. Alphanumeric and - _-.:+ characters are allowed. + : Specify the name + of the new virtual machine. The name must be unique across all guests known to the + hypervisor on the same connection. It is used to create and name the guest’s + configuration file and you can access the guest with this name from + virsh. Alphanumeric and _-.:+ characters are + allowed. - : Specify - the amount of memory to allocate for the new virtual machine in - megabytes. + : Specify the + amount of memory to allocate for the new virtual machine in megabytes. - : Specify the - number of virtual CPUs. For best performance, the number of - virtual processors should be less than or equal to the number - of physical processors. + : Specify the + number of virtual CPUs. For best performance, the number of virtual processors + should be less than or equal to the number of physical processors. @@ -397,9 +363,8 @@ - : set up a paravirtualized guest. - This is the default if the &vmhost; supports paravirtualization - and full virtualization. + : set up a paravirtualized guest. This is the default if + the &vmhost; supports paravirtualization and full virtualization. @@ -409,10 +374,8 @@ - : Specify the - hypervisor. Supported values are kvm or - xen. + : Specify the + hypervisor. Supported values are kvm or xen. @@ -422,16 +385,13 @@ Guest storage - Specify one of , - or the - type of the storage for the new virtual machine. For example, - creates 10 GB disk in the default - image location for the hypervisor and uses it for the &vmguest;. - - specifies the directory on the &vmhost; to be exported to the - guest. And sets up a &vmguest; without a - local storage (good for Live CDs). + Specify one of , or + the type of the storage for the new virtual machine. For + example, creates 10 GB disk in the default image + location for the hypervisor and uses it for the &vmguest;. specifies the directory on + the &vmhost; to be exported to the guest. And sets up a + &vmguest; without a local storage (good for Live CDs). @@ -439,9 +399,8 @@ Installation method - Specify the installation method using one of - , , - , , or + Specify the installation method using one of , + , , , or . @@ -450,26 +409,23 @@ Accessing the installation - Use the option to specify how to - access the installation. &productname; supports the values + Use the option to specify + how to access the installation. &productname; supports the values vnc or none. If using VNC, virt-install tries to launch - virt-viewer. If it is not installed or cannot be - run, connect to the &vmguest; manually with your preferred viewer. - To explicitly prevent virt-install from - launching the viewer, use . To - define a password for accessing the VNC session, use the following - syntax: . To define a password for accessing the VNC session, + use the following syntax: . - In case you are using , you can - access the &vmguest; through operating system supported services, - such as SSH or VNC. Refer to the operating system installation - manual on how to set up these services in the installation system. + In case you are using , you can access the &vmguest; + through operating system supported services, such as SSH or VNC. Refer to the operating + system installation manual on how to set up these services in the installation system. @@ -477,16 +433,14 @@ Passing kernel and initrd files - It is possible to directly specify the Kernel and Initrd of the - installer, for example, from a network source. - To set up a network source, see . - To pass additional boot parameters, use the - option. This can be used to specify a - network configuration. For details, see + To pass additional boot parameters, use the option. This + can be used to specify a network configuration. For details, see . @@ -509,18 +463,16 @@ network=vnet_nated Enabling the console - By default, the console is not enabled for new virtual machines - installed using virt-install. To enable it, use - as in the - following example: + By default, the console is not enabled for new virtual machines installed using + virt-install. To enable it, use as in the following example: &prompt.user;virt-install --virt-type kvm --name sles12 --memory 1024 \ --disk /var/lib/libvirt/images/disk1.qcow2 --os-variant sles12 --extra-args="console=ttyS0 textmode=1" --graphics none - After the installation finishes, the - /etc/default/grub file in the VM image is - updated with the option on the + After the installation finishes, the /etc/default/grub file in the + VM image is updated with the option on the GRUB_CMDLINE_LINUX_DEFAULT line. @@ -530,25 +482,22 @@ network=vnet_nated - &suse; supports &uefisecboot; on &x86-64; &kvm; guests only. - &xen; HVM guests support booting with UEFI firmware, but - they do not support &uefisecboot;. + &suse; supports &uefisecboot; on &x86-64; &kvm; guests only. &xen; HVM guests support + booting with UEFI firmware, but they do not support &uefisecboot;. - By default, new virtual machines installed using - virt-install are configured with a legacy - BIOS. They can be configured to use UEFI with - . A firmware that supports - &uefisecboot; and has Microsoft keys enrolled will be selected. - If secure boot is undesirable, the option - + By default, new virtual machines installed using virt-install are + configured with a legacy BIOS. They can be configured to use UEFI with . A firmware that supports &uefisecboot; and has Microsoft keys + enrolled will be selected. If secure boot is undesirable, the option can be used to select a UEFI firmware without secure boot support. It is also possible to explicitly specify a UEFI firmware image. See - for advanced - information and examples on using UEFI with virtual machines. + for advanced information and + examples on using UEFI with virtual machines. @@ -557,11 +506,10 @@ network=vnet_nated Example of a <command>virt-install</command> command line - The following command line example creates a new &sle; 15 SP2 virtual - machine with a virtio accelerated disk and network card. It creates a - new 10 GB qcow2 disk image as a storage, the source installation media - being the host CD-ROM drive. It uses VNC graphics, and it automatically - launches the graphical client. + The following command line example creates a new &sle; 15 SP2 virtual machine with a virtio + accelerated disk and network card. It creates a new 10 GB qcow2 disk image as a + storage, the source installation media being the host CD-ROM drive. It uses VNC graphics, + and it automatically launches the graphical client. @@ -587,99 +535,83 @@ network=vnet_nated Advanced guest installation scenarios - This section provides instructions for operations exceeding the scope of - a normal installation, such as manually configuring UEFI firmware, memory - ballooning and installing add-on products. + This section provides instructions for operations exceeding the scope of a normal + installation, such as manually configuring UEFI firmware, memory ballooning and installing + add-on products. Advanced UEFI configuration - The UEFI firmware used by virtual machines is provided by - OVMF (Open Virtual Machine Firmware). - The qemu-ovmf-x86_64 package contains firmwares for - &x86-64; &vmguest;s. Firmwares for &aarch64; &vmguest;s are provided by - the qemu-uefi-aarch64 package. Both packages contain - several firmwares, each supporting a different set of features and - capabilities. The packages also include JSON firmware descriptor files, - which describe the features and capabilities of individual firmwares. + The UEFI firmware used by virtual machines is provided by OVMF + (Open Virtual Machine Firmware). The + qemu-ovmf-x86_64 package contains firmwares for &x86-64; &vmguest;s. + Firmwares for &aarch64; &vmguest;s are provided by the qemu-uefi-aarch64 + package. Both packages contain several firmwares, each supporting a different set of + features and capabilities. The packages also include JSON firmware descriptor files, which + describe the features and capabilities of individual firmwares. - - &libvirt; supports two methods of selecting virtual machine UEFI - firmware: automatic and manual. With automatic selection, &libvirt; will - select a firmware based on an optional set of features specified by the - user. If no explicit features are specified, &libvirt; will select a - firmware with secure boot enabled and Microsoft keys enrolled. When using - manual selection, the full path of the firmware and any optional settings - must be explicitly specified. Users can reference the JSON descriptor - files to find a firmware that satisfies their requirements. + &libvirt; supports two methods of selecting virtual machine UEFI firmware: automatic and + manual. With automatic selection, &libvirt; will select a firmware based on an optional set + of features specified by the user. If no explicit features are specified, &libvirt; will + select a firmware with secure boot enabled and Microsoft keys enrolled. When using manual + selection, the full path of the firmware and any optional settings must be explicitly + specified. Users can reference the JSON descriptor files to find a firmware that satisfies + their requirements. The directory /usr/share/qemu/firmware contains all the JSON files - used by &libvirt;. This file gives you detailed information about the firmwares, including - the capabilities of the features. + used by &libvirt;. This file gives you detailed information about the firmwares, + including the capabilities of the features. - When using virt-install, automatic firmware selection - is enabled by specifying the firmware=efi parameter - to the boot option, for example, - . The selection process can be - influenced by requesting the presence or absence of firmware features. - The following example illustrates automatic firmware selection with - &uefisecboot; disabled. + When using virt-install, automatic firmware selection is enabled by + specifying the firmware=efi parameter to the boot + option, for example, . The selection process can be + influenced by requesting the presence or absence of firmware features. The following + example illustrates automatic firmware selection with &uefisecboot; disabled. - &prompt.user;virt-install --connect qemu:///system --virt-type kvm \ --name sle15sp5 --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --boot firmware=efi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no \ --os-variant sle15sp5 - - To ensure persistent &vmguest;s use the same firmware and variable - store throughout their lifetime, &libvirt; will record automatically - selected firmware in the &vmguest; XML configuration. Automatic - firmware selection is a one-time activity. Once firmware has been - selected, it will only change if the &vmguest; administrator - explicitly does so using the manual firmware selection method. + To ensure persistent &vmguest;s use the same firmware and variable store throughout their + lifetime, &libvirt; will record automatically selected firmware in the &vmguest; XML + configuration. Automatic firmware selection is a one-time activity. Once firmware has + been selected, it will only change if the &vmguest; administrator explicitly does so + using the manual firmware selection method. - - The loader and nvram - parameters are used for manual firmware selection. loader - is required, and nvram defines an optional UEFI - variable store. The following example illustrates manual firmware - selection with secure boot enabled. + The loader and nvram parameters are used for + manual firmware selection. loader is required, and + nvram defines an optional UEFI variable store. The following example + illustrates manual firmware selection with secure boot enabled. - &prompt.user;virt-install --connect qemu:///system --virt-type kvm \ --name sle15sp5 --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --boot loader=/usr/share/qemu/ovmf-x86_64-smm-code.bin,loader.readonly=yes,loader.type=pflash,loader.secure=yes,nvram.template=/usr/share/qemu/ovmf-x86_64-smm-vars.bin \ --os-variant sle15sp5 - - &libvirt; cannot modify any characteristics of the UEFI firmwares. For - example, it cannot disable &uefisecboot; in a firmware that has - &uefisecboot; enabled, even when specifying loader.secure=no. - &libvirt; will ensure the specified firmware can satisfy any specified - features. For example, it will reject configuration that disables secure - boot with loader.secure=no, but specifies a - firmware that has &uefisecboot; enabled. + &libvirt; cannot modify any characteristics of the UEFI firmwares. For example, it cannot + disable &uefisecboot; in a firmware that has &uefisecboot; enabled, even when specifying + loader.secure=no. &libvirt; will ensure the specified firmware can + satisfy any specified features. For example, it will reject configuration that disables + secure boot with loader.secure=no, but specifies a firmware that has + &uefisecboot; enabled. - - The qemu-ovmf-x86_64 package contains several UEFI - firmware images. For example, the following subset supports SMM, - &uefisecboot;, and has either Microsoft, openSUSE or SUSE UEFI CA keys - enrolled: + The qemu-ovmf-x86_64 package contains several UEFI firmware images. For + example, the following subset supports SMM, &uefisecboot;, and has either Microsoft, + openSUSE or SUSE UEFI CA keys enrolled: - &prompt.root;rpm -ql qemu-ovmf-x86_64 [...] @@ -691,12 +623,9 @@ network=vnet_nated /usr/share/qemu/ovmf-x86_64-smm-suse-vars.bin [...] - - For the &aarch64; architecture, the package is named - qemu-uefi-aarch32: + For the &aarch64; architecture, the package is named qemu-uefi-aarch32: - &prompt.root;rpm -ql qemu-uefi-aarch32 [...] @@ -706,27 +635,22 @@ network=vnet_nated /usr/share/qemu/firmware/60-aavmf-aarch32.json /usr/share/qemu/qemu-uefi-aarch32.bin - - The *-code.bin files are the UEFI firmware files. - The *-vars.bin files are corresponding variable - store images that can be used as a template for a per-VM non-volatile - store. &libvirt; copies the specified vars template - to a per-VM path under /var/lib/libvirt/qemu/nvram/ - when first creating the VM. Files without code or - vars in the name can be used as a single UEFI image. - They are not as useful, since no UEFI variables persist across power - cycles of the VM. + The *-code.bin files are the UEFI firmware files. The + *-vars.bin files are corresponding variable store images that can be + used as a template for a per-VM non-volatile store. &libvirt; copies the specified + vars template to a per-VM path under + /var/lib/libvirt/qemu/nvram/ when first creating the VM. Files without + code or vars in the name can be used as a single UEFI + image. They are not as useful, since no UEFI variables persist across power cycles of the + VM. - - The *-ms*.bin files contain UEFI CA keys as found - on real hardware. Therefore, they are configured as the default in - &libvirt;. Likewise, the *-suse*.bin files contain - preinstalled &suse; keys. There is also a set of files with no - preinstalled keys. + The *-ms*.bin files contain UEFI CA keys as found on real hardware. + Therefore, they are configured as the default in &libvirt;. Likewise, the + *-suse*.bin files contain preinstalled &suse; keys. There is also a + set of files with no preinstalled keys. - For more details on OVMF, see . @@ -736,9 +660,9 @@ network=vnet_nated Memory ballooning with Windows guests - Memory ballooning is a method to change the amount of memory used by - &vmguest; at runtime. Both the &kvm; and &xen; hypervisors provide this - method, but it needs to be supported by the guest as well. + Memory ballooning is a method to change the amount of memory used by &vmguest; at runtime. + Both the &kvm; and &xen; hypervisors provide this method, but it needs to be supported by + the guest as well. While &opensuse; and &slea;-based guests support memory ballooning, Windows guests need the @@ -749,14 +673,13 @@ network=vnet_nated - Install the Windows guest with the maximum memory equal or less - than the initial value. + Install the Windows guest with the maximum memory equal or less than the initial value. - Install the Virtual Machine Driver Pack in the Windows guest to - provide required drivers. + Install the Virtual Machine Driver Pack in the Windows guest to provide required + drivers. @@ -766,8 +689,7 @@ network=vnet_nated - Reset the maximum memory of the Windows guest to the required - value. + Reset the maximum memory of the Windows guest to the required value. @@ -781,27 +703,24 @@ network=vnet_nated Including add-on products in the installation - Certain operating systems, such as &productname;, offer to include add-on - products in the installation process. If the add-on product - installation source is provided via &scc;, no special &vmguest; - configuration is needed. If it is provided via CD/DVD or ISO image, it - is necessary to provide the &vmguest; installation system with both the - standard installation medium image and the image of the add-on product. + Certain operating systems, such as &productname;, offer to include add-on products in the + installation process. If the add-on product installation source is provided via &scc;, no + special &vmguest; configuration is needed. If it is provided via CD/DVD or ISO image, it is + necessary to provide the &vmguest; installation system with both the standard installation + medium image and the image of the add-on product. - If you are using the GUI-based installation, select Customize - Configuration Before Install in the last step of the wizard - and add the add-on product ISO image via Add - Hardware Storage. Specify the - path to the image and set the Device Type to + If you are using the GUI-based installation, select Customize Configuration Before + Install in the last step of the wizard and add the add-on product ISO image via + Add Hardware Storage. + Specify the path to the image and set the Device Type to CD-ROM. - If you are installing from the command line, you need to set up the - virtual CD/DVD drives with the parameter rather - than with . The device that is specified first - is used for booting. The following example installs &sls; &product-ga; - together with &suse; Enterprise Storage extension: + If you are installing from the command line, you need to set up the virtual CD/DVD drives + with the parameter rather than with . The + device that is specified first is used for booting. The following example installs &sls; + &product-ga; together with &suse; Enterprise Storage extension: &prompt.user;virt-install \ --name sles&product-ga;+storage \