As the final part of this XCP tutorial, I wanted to add one more item that I discovered when booting up my HVM guest from a CD image. After complete all the memory and VM setup issues I got the following response to starting my new VM:
xe vm-start uuid=f0ddc908-79a9-ea0f-7a22-17c8c4bd983c
The bootloader returned an error vm: f0ddc908-79a9-ea0f-7a22-17c8c4bd983c (oracle_vm)
msg: Error from bootloader: Failed to parse the output of bootloader: Â ()
In this case, my VM tried to obtain its information from the CD but was not finding it. I ran the following command to profile my entire VM image,
xe vm-param-list uuid=f0ddc908-79a9-ea0f-7a22-17c8c4bd983c | grep HVM
HVM-boot-policy ( RW):
HVM-boot-params (MRW):
HVM-shadow-multiplier ( RW): 1.000
last-boot-record ( RO): ‘(‘struct’ (‘uuid’ ‘f0ddc908-79a9-ea0f-7a22-17c8c4bd983c’) (‘allowed_operations’ (‘array’)) (‘current_operations’ (‘struct’ (‘OpaqueRef:4f53e4c6-55dd-0b9a-b883-544943782288’ ‘start’))) (‘power_state’ ‘Halted’) (‘name_label’ ‘oracle_vm’) (‘name_description’ ‘Installed via xe CLI’) (‘user_version’ ‘1’) (‘is_a_template’ (‘boolean’ ‘0’)) (‘suspend_VDI’ ‘OpaqueRef:NULL’) (‘resident_on’ ‘OpaqueRef:NULL’) (‘affinity’ ‘OpaqueRef:NULL’) (‘memory_overhead’ ‘1048576’) (‘memory_target’ ‘512000000’) (‘memory_static_max’ ‘512000000’) (‘memory_dynamic_max’ ‘512000000’) (‘memory_dynamic_min’ ‘512000000’) (‘memory_static_min’ ‘512000000’) (‘VCPUs_params’ (‘struct’)) (‘VCPUs_max’ ‘1’) (‘VCPUs_at_startup’ ‘1’) (‘actions_after_shutdown’ ‘destroy’) (‘actions_after_reboot’ ‘restart’) (‘actions_after_crash’ ‘restart’) (‘consoles’ (‘array’)) (‘VIFs’ (‘array’)) (‘VBDs’ (‘array’ ‘OpaqueRef:b6970f61-abdf-9ccb-2d98-94c01b571a3e’ ‘OpaqueRef:730588ba-f6f0-089e-ad86-e0930e3bcfd6’)) (‘crash_dumps’ (‘array’)) (‘VTPMs’ (‘array’)) (‘PV_bootloader’ ‘eliloader’) (‘PV_kernel’ ”) (‘PV_ramdisk’ ”) (‘PV_args’ ‘graphical utf8’) (‘PV_bootloader_args’ ”) (‘PV_legacy_args’ ”) (‘HVM_boot_policy’ ”) (‘HVM_boot_params’ (‘struct’)) (‘HVM_shadow_multiplier’ (‘double’ ‘1’)) (‘platform’ (‘struct’ (‘nx’ ‘false’) (‘acpi’ ‘true’) (‘apic’ ‘true’) (‘pae’ ‘true’) (‘viridian’ ‘true’))) (‘PCI_bus’ ”) (‘other_config’ (‘struct’ (‘install-respository’ ‘cdrom’) (‘mac_seed’ ‘7328478f-c1e6-22d3-a856-c589537451f5’) (‘linux_template’ ‘true’) (‘machine-address-size’ ’36’) (‘install-methods’ ‘cdrom,nfs,http,ftp’) (‘rhel5’ ‘true’) (‘install-distro’ ‘rhlike’))) (‘domid’ ‘-1’) (‘domarch’ ”) (‘last_boot_CPU_flags’ (‘struct’)) (‘is_control_domain’ (‘boolean’ ‘0’)) (‘metrics’ ‘OpaqueRef:36a9d247-0c51-6cae-34ae-5db9bcae5108’) (‘guest_metrics’ ‘OpaqueRef:NULL’) (‘last_booted_record’ ”) (‘recommendations’ ‘<restrictions><restriction field=\”memory-static-max\” max=\”17179869184\” /><restriction field=\”vcpus-max\” max=\”8\” /><restriction property=\”number-of-vbds\” max=\”7\” /><restriction property=\”number-of-vifs\” max=\”7\” /></restrictions>’) (‘xenstore_data’ (‘struct’)) (‘ha_always_run’ (‘boolean’ ‘0’)) (‘ha_restart_priority’ ”) (‘is_a_snapshot’ (‘boolean’ ‘0’)) (‘snapshot_of’ ‘OpaqueRef:NULL’) (‘snapshots’ (‘array’)) (‘snapshot_time’ (‘dateTime.iso8601’ ‘19700101T00:00:00Z’)) (‘transportable_snapshot_id’ ”) (‘blobs’ (‘struct’)) (‘tags’ (‘array’)) (‘blocked_operations’ (‘struct’)) (‘snapshot_info’ (‘struct’)) (‘snapshot_metadata’ ”) (‘parent’ ‘OpaqueRef:9ebdd1c5-2026-8773-7a06-0c36e67be3f0’) (‘children’ (‘array’)) (‘bios_strings’ (‘struct’)))’
In the data above, it was clear that my HVM boot-policy had no setting so I updated that field with the following command:
xe vm-param-set uuid=f0ddc908-79a9-ea0f-7a22-17c8c4bd983c HVM-boot-policy=BIOS\ order HVM-boot-params:order=”dc”
From there, I was able to start my VM and leverage OpenXenCenter to run through the OS installation.
Final thoughts, I would like to thank Dave Scott from Citrix and Alberto González RodrÃguez from OpenXenCenter for assisting me these past few days while I worked through the memory and CD issues. Hopefully, my experience and notes can be of use to someone else trying out XCP for the first time.
Read more
Xen is open, secure, and built for the future. As the new Community Manager, I’m focused on growing the Xen community, welcoming new contributors, and ensuring a thriving ecosystem. Let’s build the future of virtualization together!
The Xen Project has released Xen 4.20 🎉! This release introduces a range of enhancements that further solidify its position as the premier open-source hypervisor. It delivers important security updates, improved performance, and broader hardware support. Xen has doubled down as the best choice for cloud providers, enterprise users, and
We just wrapped up the Xen Winter Meetup 2025. It was an amazing opportunity to push Xen forward in a way that can only happen when people get together in person. Organized by Vates, we hosted it at the University of Grenoble IMAG building, a great spot for cutting-edge research
We're excited to announce our newest Advisory Board Member Honda, to Xen Project. Since its foundation, Honda has been committed to "creating a society that is useful to people" by utilizing its technologies and ideas. Honda also focuses on environmental responsiveness and traffic safety, and continue