Owner

Current status

Detailed Description

In all prior Fedora releases fullyvirtualized Xen guests had to boot via the QEMU BIOS. This means booting from a CDROM, harddisk, or Network PXE. Paravirtualized guests could always boot directly from a kernel and initrd. This allowed for fully automated guest installation since it allowed the tools to pass arguments straight into anaconda. KVM fullyvirtualized guests also support direct kernel booting. The support for Xen HVM was always there in the underlying QEMU device model, however, it was disabled as it conflicted with the way Xen boots HVM guests.

Recently patches were added to upstream Xen to work-around the limitations of Xen's HVM boot process, so it is now possible to directly boot fullyvirtualized Xen guests from a kernel and initrd, passing boot args.

Benefit to Fedora

It will be possible to automate the installation of fullyvirtualized Linux guests under Xen, giving feature parity with Xen paravirt and KVM guest install processes.

Scope

Change to xen userspace to support direct kernel booting. (100% complete: upstream, and backported to rawhide

Turn on kernel+initrd support for Xen HVM in virt-install (100%, no work required)

Turn on kernel+initrd support for Xen HVM in virt-manager (100%, in 0.5.4 release)

Test Plan

Use virt-install to perform an unattended kickstart install of a F9 guest, fully virtualized

Use virt-manager to install a fully virtualized guest from a HTTP hosted tree.

User Experience

The core user experiance is that there is parity between paravirt and fully virt guests in terms of installation media choices.

Dependencies

xen

python-virtinst

virt-manager

Contingency Plan

No needed. This is new functionality, no regressions will be seen if it is not finished. The core capability is already in rawhide, and additional application layer functionality can be easily added in updates.

Documentation

Installation of fullvirtualized guests can now use the same installation source as paravirtualized guests. The use of the '--location' argument to virt-install instructs it to download the installation kernel+initrd from the specified URI.