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

Fri Oct 31 23:17:22 UTC 2008
Kenneth Tanzer <ktanzer at desc.org>

What I ended up doing was looking at my working CentOS PV guest, listing 
all the modules, and finding the ones that were not loaded in my 
AsteriskNow guest.  That seemed to do the trick, and it booted.  (Once I 
realized that the initrd file had to be in /boot on the _host_, not the 
guest!)

Unfortunately, as it turns out, there are then a bunch of additional 
Asterisk modules that I would need to build for the xen kernel, and I 
didn't have any luck finding the source, so I think I might give up on 
this for a while.

Thanks very much for your help!

Ken

p.s.,  I felt like I spent a bunch of time scratching my head on this 
stuff because I couldn't find good, clear documentation.  Is there such 
documentation to be found somewhere, or is it just lacking at this point?

p.p.s.,  In case it's useful for others, this is the mkinitrd command I 
used within the guest, and then copied the initrd to /boot on the host:

mkinitrd --with=i2c_dev --with=ip6table_filter --with=ip6_tables 
--with=ip6t_REJECT --with=ip_conntrack --with=ip_conntrack_netbios_ns 
--with=iptable_filter --with=ip_tables --with=ipt_REJECT 
--with=nfnetlink --with=xenblk --with=xennet --with=x_tables 
--with=xt_state --with=xt_tcpudp 
/boot/initrd-2.6.18-92.1.13.el5xen.img.new 2.6.18-92.1.13.el5xen




Todd Deshane wrote:
> On Thu, Oct 30, 2008 at 8:04 PM, Kenneth Tanzer <ktanzer at desc.org> wrote:
>   
>>> I am not seeing the errors in the red hat based boot that I am familiar
>>> with,
>>>       
>> As I understand it, this Asterisk disk I have is built on Centos 5.2, so I'm
>> assuming Asterisk=CentOS=Redhat, at least for this purpose.
>>
>>     
>
> Yeah, I meant Red Hat-based, CentOS, fedora etc. are quite similar
>
>
>   
>>> it seems that you are running into one of the following (or
>>> similar:
>>>
>>> Your guest root file system is not where you expect it to be.
>>> If you haven't already, check the grub.conf in the guest.
>>>
>>>       
>> Here's my grub file:
>>
>> 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
>>
>> Here's the corresponding xen entries:
>>
>> kernel="/boot/vmlinuz-2.6.18-92.1.13.el5xen"
>> ramdisk="/boot/initrd-2.6.18-92.1.13.el5xen.img"
>> root="/dev/VolGroup00/LogVol00"
>> extra="ro"
>>
>> They seem to match to me.  Sanity check:  the "root" in the xen config is
>> specified as seen by the guest, right?
>>
>>     
>
> Yes, with the guest disk image.
>
>
>   
>>> OR
>>>
>>> You are missing modules in your ramdisk that are needed by your guest
>>> (in which case you would need to use mkinitrd to rebuild your xen initrd
>>> and make sure you include the necessary modules)
>>>
>>>       
>> I can boot the xen kernel as a fully-virtualized machine (with the grub.conf
>> mentioned above).  Is that a fair indicator that all the required modules
>> exist?  If not, any idea how to figure out what might be missing?
>>
>>     
>
> Actually no, the fully virtual kernel modules in the guest are not used
> when booting with the kernel and ramdisk options in the xen config.
>
> Some of those more familiar with centos might be able to jump in
> to help with specific modules, but if I was you I would boot the
> full virtual guest, do an lsmod and compare the modules, especially
> the ones to do with disk drivers, lvm, device mappers etc. with the
> /lib/modules/<xen kernel version>/modules
>
> Simply rebuilding the initrd with a mkinitrd and the right modules
> included might be all you need. This only the basic idea, I would
> suggest to take some time to search xen.markmail.org for either
> error messags or key words that may lead you to some exact
> instructions of the mkinitrd that will work for your setup.
>
> Hope that helps,
> Cheers,
> Todd
>
>