[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 
shstrtab\n')

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!

Ken

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
#boot=/dev/hda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
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 
root=/dev/VolGroup00/LogVol00
        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
>
>
>
>