Skip to content

UEFI and Q35 machine type support

The CERN Cloud Infrastructure supports UEFI boot for new instances. UEFI requires that the instance uses the Q35 machine type. By default, the CERN Linux cloud images (AlmaLinux and RHEL on 8 or 9) use UEFI and the Q35 machine type. This differs from the "CC7" (CERN CentOS 7) images that by default use BIOS and the PC machine type.

How to boot instances using UEFI from a personal image

If your personal image is compatible with UEFI and you would like that your instances are booted using UEFI the following properties need to be added into the image:

hw_firmware_type='uefi'
hw_machine_type='q35'
architecture='x86_64'

For existing personal images:

$ openstack image set --property hw_firmware_type='uefi' --property hw_machine_type='q35' --property architecture='x86_64' <MY_IMAGE_NAME>

For new images:

$ openstack image create --disk-format qcow2 --container-format bare --file MY_IMAGE_FILE --property hw_firmware_type='uefi' --property hw_machine_type='q35' --property architecture='x86_64' <MY_IMAGE_NAME>

How to boot instances using UEFI from the CC7 (CERN CentOS 7) image

The CERN cloud images "CC7" and "C8" support UEFI. However, for compatibility reasons they use BIOS and the PC machine type. In order to use these images with UEFI, you will need to download the image file and create a new image in your OpenStack project with the following properties:

hw_firmware_type='uefi'
hw_machine_type='q35'
architecture='x86_64'

First download the image file:

$ openstack image save --file MY_IMAGE_FILE IMAGE_NAME

Then upload a new image based in the previous downloaded file and with required properties:

$ openstack image create --disk-format qcow2 --container-format bare --file MY_IMAGE_FILE --property hw_firmware_type='uefi' --property hw_machine_type='q35' --property architecture='x86_64' <MY_IMAGE_NAME>

How to boot instances using BIOS from the RHEL/AlmaLinux images and keep the PC machine type for compatibility

In the rare cases that you may need to boot RHEL or Almalinux instances using BIOS or keep the PC machine type architecture, you will need to create a new image in your OpenStack project with the following properties:

hw_firmware_type='bios'
hw_machine_type='pc'
architecture='x86_64'

First download the image file:

$ openstack image save --file MY_IMAGE_FILE IMAGE_NAME

Then upload a new image based in the previous downloaded file and with required properties:

$ openstack image create --disk-format qcow2 --container-format bare --file MY_IMAGE_FILE --property hw_firmware_type='bios' --property hw_machine_type='pc' --property architecture='x86_64' <MY_IMAGE_NAME>