I have a virtual machine landscape consisting of a CentOS 5.3 Dom0 with
Xen 3.1.2, some PV CentOS DomU's with PCI passthrough (same versions),
and I'm trying to implement a F10 DomU with PCI passthrough. I set
everything up for the passthrough, and the F10 guest can't see any of
the devices with lspci. If I boot a CentOS PV machine with the same PCI
passthrough configuration, the devices show up with lspci. I've seen
some posts in various places about this issue, but no solutions. How do
I implement this?
I thought of writing some information about running Fedora 12 Xen guests
and also Fedora 12 Xen hosts/dom0.
Fedora 12 includes the upstream Linux pv_ops Xen domU support in the default kernel.
By using virt-install or virt-manager you can install Fedora 12 Xen PV
(paravirtual) guests directly from network, for example on RHEL 5.4,
CentOS 5.4, or Fedora Xen dom0/host.
If you want to run Fedora 12 Xen dom0 (host), there are some extra steps
needed. Fedora 12 ships with Xen hypervisor and management tools
(Xen 3.4.1, and Xen 3.4.2 in the F12 updates), but the required Xen dom0
capable host kernel is not included in Fedora atm/yet.
General information about Xen dom0 status in Fedora:
There are a couple of different ways to get and install a Xen dom0
capable kernel to Fedora 12 host:
- By using pre-packaged pv_ops xendom0 kernel rpms by M A Young. his repository:
- Compiling and installing Xen dom0 capable kernel yourself/manually.
There are many options to choose from, full list of the available Xen
dom0 capable kernels is here:
The recommended dom0 kernel is the pv_ops kernel, which is in the
process of being cleaned up for upstream/mainline Linux inclusion.
More information about pv_ops dom0 kernel, including the status
Xen developers are interested of both the success and failure reports
when using the Xen pv_ops dom0 kernel.
Tips for running Xen with Fedora 12:
- Make sure you install all the latest Fedora 12 updates, since they
have an updated Xen version (3.4.2), and also fix a bug in
python-virtinst tool to make Xen guest console keymaps work properly:
- Recent versions of Xen pv_ops dom0 kernel renamed some xen
backend driver modules to have "xen-" prefix in them, for
example evtchn module became xen-evtchn. Fedora Xen 3.4.2 init
scripts take care of this, and load the correct modules, but
Xen 3.4.1 doesn't do this automatically, causing xend fail to
start in dom0/host before the modules are loaded manually.
- There are some upcoming apic-related changes coming in pv_ops
dom0 kernel, which will require a patch to Xen hypervisor.
This patch is not yet included in the Fedora Xen rpms.
The patch will be added to Fedora Xen rpms when the upstream
pv_ops kernel starts to require/use it.
- pv_ops dom0 kernel currently lacks blktap2 support, so using
tap:aio: backend disk image files is not yet possible.
Xen file: backend image files work though.
At the moment it's recommended to use LVM volumes for guest
disks (Xen phy: backend).
- virt-manager seems to work OK on Fedora 12 Xen dom0.
- If you experience problems related to Fedora 12 guests (domU)
kernel crashing (especially related to save/restore/migration),
install the latest Fedora updates to the guest. There has been
a lot of Xen guest related fixes in the upstream Linux recently.
These fixes will appear in Fedora when the kernel gets updated
to include the latest stable upstream fixes.
Hopefully that helps :)
I installed xen 3.4.1 & M.young's xendom0 kernel on fedora 12 beta.
Everying works smoothly for me except that I can't use "tap:aio" for PV
It seems that blktap driver is not installed (not supported) on dom0 kernel.
I think performance of guest OS is better when is mounted by blktap. Is
there anyway I can use this option?
I have built a new set of kernel packages based on fedora rawhide
kernels and the xen/dom0/hackery branch of Jeremy's git repository
( http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=summary ).
This batch (kernel-2.6.29-0.114.2.6.rc6.fc11) is available via the koji
build system at
These are really for development and debugging purposes only, as I am
still having problems getting them to boot, but others have reported more
success at getting kernels based on this git repository working, so you
might be lucky.
Note to install these packages on Fedora 10 you will need to have
rpm-4.6.0-1.fc10 installed (currently in updates-testing but it should be
available in updates soon) because of the change to SHA-256 file digest
hashing in recent Fedora 11 builds.