kiranchavala opened a new issue, #12325:
URL: https://github.com/apache/cloudstack/issues/12325

   ### problem
   
   Unable to boot a vm in uefi mode on a kvm arm64 host
   
   ### versions
   
   ACS 4.22 
   KVM Ubuntu 24.0.4 
   
   ### The steps to reproduce the bug
   
   1. On the kvm host make sure the efi packages (apt install  swtpm 
qemu-efi-aarch64)
   
   2. Create a uefi properties file
   
   ```
   
   root@raspberrypi5-cloudstack:~# cat /etc/cloudstack/agent/uefi.properties
   # CloudStack Agent UEFI Configuration for ARM64
   # This file configures UEFI boot support for ARM64 virtual machines
   
   # Secure boot mode with Microsoft keys
   guest.nvram.template.secure=/usr/share/AAVMF/AAVMF_VARS.ms.fd
   guest.loader.secure=/usr/share/AAVMF/AAVMF_CODE.ms.fd
   
   # Secure boot mode without Microsoft keys
   guest.nvram.template.secboot=/usr/share/AAVMF/AAVMF_VARS.fd
   guest.loader.secboot=/usr/share/AAVMF/AAVMF_CODE.secboot.fd
   
   # Standard UEFI mode (default)
   guest.nvram.template.legacy=/usr/share/AAVMF/AAVMF_VARS.fd
   guest.loader.legacy=/usr/share/AAVMF/AAVMF_CODE.fd
   
   # No secure boot mode (explicitly disabled)
   guest.nvram.template.nosecboot=/usr/share/AAVMF/AAVMF_VARS.fd
   guest.loader.nosecboot=/usr/share/AAVMF/AAVMF_CODE.no-secboot.fd
   
   # NVRAM storage path
   guest.nvram.path=/var/lib/libvirt/qemu/nvram/
   
   ```
   
   3. Restart the services 
   
   service libvirtd restart
   
   service cloudstack-agent restart
   
   4. Launch a vm select the boot mode as UEFI and secure 
   
   <img width="1130" height="214" alt="Image" 
src="https://github.com/user-attachments/assets/36333b4d-06aa-42ef-8dbf-d8af5ef639ea";
 />
   
   5. Exception observed 
   
   ```
   root@raspberrypi5-cloudstack:~# cat  /var/log/cloudstack/agent/agent.log 
|grep -i "logid:04a17230"
   2025-12-23 05:51:11,829 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-5:[]) (logid:04a17230) Trying to fetch storage pool 
1a655239-1930-3a48-b0c5-9069065c283d from libvirt
   2025-12-23 05:51:11,834 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-5:[]) (logid:04a17230) Trying to fetch storage pool 
1a655239-1930-3a48-b0c5-9069065c283d from libvirt
   2025-12-23 05:51:11,842 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-5:[]) (logid:04a17230) Creating volume 
b491328b-ef97-4bf3-ab0e-e2973a50a761 from template 
b2173816-1a35-49ea-b1e1-b1ede4ade146 in pool 
1a655239-1930-3a48-b0c5-9069065c283d (NetworkFilesystem) with size (3.50 GB) 
3758096384
   2025-12-23 05:51:11,843 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-5:[]) (logid:04a17230) Attempting to create volume 
b491328b-ef97-4bf3-ab0e-e2973a50a761 (NetworkFilesystem) in pool 
1a655239-1930-3a48-b0c5-9069065c283d with size (3.50 GB) 3758096384
   2025-12-23 05:51:11,903 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-5:[]) (logid:04a17230) Creating volume 
[/mnt/1a655239-1930-3a48-b0c5-9069065c283d/b491328b-ef97-4bf3-ab0e-e2973a50a761]
 with backing file 
[/mnt/1a655239-1930-3a48-b0c5-9069065c283d/b2173816-1a35-49ea-b1e1-b1ede4ade146]
 as the property [create.full.clone] is [false].
   2025-12-23 05:51:12,041 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-4:[]) (logid:04a17230) Trying to fetch storage pool 
1a655239-1930-3a48-b0c5-9069065c283d from libvirt
   2025-12-23 05:51:12,077 INFO  [kvm.storage.LibvirtStorageAdaptor] 
(AgentRequest-Handler-4:[]) (logid:04a17230) Trying to fetch storage pool 
1a655239-1930-3a48-b0c5-9069065c283d from libvirt
   2025-12-23 05:51:12,105 WARN  [kvm.resource.LibvirtKvmAgentHook] 
(AgentRequest-Handler-4:[]) (logid:04a17230) Groovy script 
'/etc/cloudstack/agent/hooks/libvirt-vm-xml-transformer.groovy' is not 
available. Transformations will not be applied.
   2025-12-23 05:51:12,105 WARN  [kvm.resource.LibvirtKvmAgentHook] 
(AgentRequest-Handler-4:[]) (logid:04a17230) Shell script 
'/etc/cloudstack/agent/hooks/libvirt-vm-xml-transformer.sh' is not available. 
Transformations will not be applied.
   2025-12-23 05:51:12,105 WARN  [kvm.resource.LibvirtKvmAgentHook] 
(AgentRequest-Handler-4:[]) (logid:04a17230) Groovy scripting engine is not 
initialized. Data transformation skipped.
   2025-12-23 05:51:12,107 WARN  [resource.wrapper.LibvirtStartCommandWrapper] 
(AgentRequest-Handler-4:[]) (logid:04a17230) LibvirtException 
org.libvirt.LibvirtException: XML error: No PCI buses available
   
   ```
   
   Workaround 
   
   Boot into BIOS and LEGACY
   
   <img width="1110" height="225" alt="Image" 
src="https://github.com/user-attachments/assets/151a35dc-3fa6-4c32-90bc-3522c6ba5a2f";
 />
   
   
   VM boots , verify 
   
   On the kvm host dumpxml of the vm 
   
   ```
     <os>
       <type arch='aarch64' machine='virt-8.2'>hvm</type>
       <loader readonly='yes' 
type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader>
       <nvram 
template='/usr/share/AAVMF/AAVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/i-2-131-VM_VARS.fd</nvram>
       <boot dev='cdrom'/>
       <boot dev='hd'/>
       <smbios mode='sysinfo'/>
     </os>
   
   ```
   
   
   login to the vm and verify 
   
   ls /sys/firmware/efi
   
   [ -d /sys/firmware/efi ] && echo "UEFI boot" || echo "Legacy BIOS"
   
   
   <img width="1366" height="304" alt="Image" 
src="https://github.com/user-attachments/assets/c58ced45-1cd9-4727-bd0f-238b9469e318";
 />
   
   
   ### What to do about it?
   
   Cloudstack should BOOT mode UEFI and secure on kvm arm64 hosts


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to