[CentOS-virt] Can't get PCI card visible in guest

Thu Oct 30 22:37:56 UTC 2008
Kenneth Tanzer <ktanzer at desc.org>

OK, thanks.  Our vendor says our processor and chipset both don't 
support VT-d, so we're definitely out of luck!

Maybe someone can help with some related xen-ignorance on my part.  
Since it can't work with full virtualization, I'd like to try running 
paravirtualized.  (Sanity check:  you can do PCI passthroughs with PV 
guests, right?)

So I've downloaded the AsteriskNow 1.5 beta, which is (conveniently) 
built off of CentOS 5.2.  I installed it fully virtualized, fired it up 
and installed the xen kernel.  I can run the Xen kernel (albeit very 
slowly) in a fully-virtual environment, but I can't get it to boot as a 
PV guest.  I get this instead:

Error: (2, 'Invalid kernel', 'xc_dom_parse_elf_kernel: ELF image has no 

With some tweaking that I can no longer recreate, I was able to get the 
kernel to load, but then it paniced and died.  Any help with the correct 
boot magic would be greatly appreciated!


This is my xen configuration:

name = "anow_15b_pv"
uuid = "ef2d9b6c-0668-4d12-989c-876882b28099"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "preserve"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "phy:/dev/datafarm/asterisk_now_15b,hda,w" ]
vif = [ "mac=00:16:3e:27:72:11,bridge=xenbr0" ]

This is my grub.conf file:

# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
title CentOS (2.6.18-92.1.13.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-92.1.13.el5
        module /vmlinuz-2.6.18-92.1.13.el5xen ro 
        module /initrd-2.6.18-92.1.13.el5xen.img
title CentOS (2.6.18-92.1.13.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.1.13.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.1.13.el5.img

Todd Deshane wrote:
> On Mon, Oct 27, 2008 at 1:03 PM, Kenneth Tanzer <ktanzer at desc.org> wrote:
>> Well I'm all for sanity checks, not having realized that anything beyond "vt
>> support" was needed.  This is new territory for me, but based on my host
>> lspci output (below), I'm guessing that I've got a 3100 chipset, which seems
>> not to support vt-d, leaving me SOL.
>> Can you confirm I'm interpreting this properly, or offer some other means to
>> determine vt-d support?  Many thanks!
> The chipsets that support VT-d are listed on this page:
> http://wiki.xensource.com/xenwiki/VTdHowTo
> Cheers,
> Todd