[Fedora-xen] How to enable "pciback.hide" in standard xen 3.0.2 kernels

Wolfgang Schleicher wolfgang_schleicher at web.de
Thu Aug 17 09:33:28 UTC 2006


Or how to delegate special PCI devices from domain-0 to dom(u)

Hi,

I tried to manage some pci devices for dom(u) domains, using the fedora core 5 (xen0/u) and 6-test2 (xen) i686 kernel-xen and kernel-xen-devel rpms:

In domain-0 lspci shows the pci device 00:04.01 which should be delegated to dom(u)
In dom(u) lspci does not show any information (this seems to be ok)

lsmod in dom(u) gives:

xennet
ipv6
dm_mirror
dm_mod
parport_pc
lp
parport
pcspkr
ext3
jbd
xenblk

Following the official XEN Documentation, I modified the grub.conf with the following kernel option:
 
"module /vmlinuz-2.6.17-1.2566.fc6xen ro root=LABEL=/1 selinux=0 rhgb quiet pciback.hide=(00:08.0)" 
or
"module /vmlinuz-2.6.17-1.2566.fc6xen ro root=LABEL=/1 selinux=0 rhgb quiet pciback.hide=(0000:00:08.0)" 

After having booted into Domain-0, I noticed in the message log:

"kernel: Kernel command line: ro root=LABEL=/1 selinux=0 rhgb quiet pciback.hide=(00:08.0)"
"kernel: Unknown boot option `pciback.hide=(00:08.0)': ignoring"

So this kernel option does not seem to be supported by default.

Btw, I also tried the xen-binaries packages (the testing ones) from xensource with the same results

Adding the pci option to /etc/xen/config-file 

"pci = [ '0000:00:08.0' ]"
or
"pci = [ '00:08.0' ]"
or
"pci = [ '00,08,00' ]"

and trying to start the guest domain fails:

"Error: pci: failed to locate device and parse itŽs ressources
- [Errno 2] No such file or directory: '/sys/bus/pci/devices/0000:00:08.0/driver' "

I donŽt understand why the pci backend option is not included as a default kernel option and I wonder why this kernel option (slots) is mentioned in nearly every xen documentation (I know this option was missed in xen 3.0.0/3.0.1)

I would like prefer the latest fc6-t2 kernel packages as there seems to be no longer smaller xenU kernels which might give a better support when trying to compile different kernel modules (e.g. avm fritzcard).

What I did (Hardware x86, PIII)

I downloaded the latest fedora core 6t2 src.rpm kernel-packages and tried to rebuild but was unsecure [e.g. marked with (?)] about the correct kernel-xen options.

Then I would do the following:

-install fedora-buildrpmtree
-install kernel-2.6.17-1.2564.fc6.src.rpm
-switching to non root user:
-rpmbuild -bp --target i686 ~/rpmbuild/SPECS/kernel-2.6.spec
-cd ~/rpmbuild/BUILD/kernel-2.6.17/linux-2.6.17.i686/
-make mrproper
-cp ~/rpmbuild/SOURCES/kernel-2.6.17-i686.config .config
-make oldconfig
-cd ~/rpmbuild/BUILD/kernel-2.6.17/linux-2.6.17

-vi Makefile: 
change EXTRAVERSION = -1.2566.fc6xen 
    to EXTRAVERSION = -1.2566.fc6xen-wsc

#make menuconfig (not working for me)
- make xconfig
#make config (accepting all settings)

##
#not sure about this, having red this in another FC kernel-howto#
-echo >config.fix "# i386"
-cat .config >>config.fix
-cp -f config.fix ~/rpmbuild/SOURCES/kernel-2.6.17-i686.config
##

-rpmbuild --target i686 -ba ~/rpmbuild/SPECS/kernel-2.6.spec

Before doing the steps as listed above, I`m not sure what different settings should be used for a new kernel-built.
Current (orginal default FC6t2) kernel-xen config file: /usr/src/kernels/2.6.17-1.2566.fc6-xen-i686/build/.config

...
# XEN
#
CONFIG_XEN_PRIVILEGED_GUEST=y
# CONFIG_XEN_UNPRIVILEGED_GUEST is not set
CONFIG_XEN_PRIVCMD=y (?)
CONFIG_XEN_XENBUS_DEV=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_BLKDEV_TAP=m
CONFIG_XEN_NETDEV_BACKEND=m
# CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set
CONFIG_XEN_NETDEV_LOOPBACK=m
CONFIG_XEN_PCIDEV_BACKEND=m (?)
CONFIG_XEN_PCIDEV_BACKEND_VPCI=y
# CONFIG_XEN_PCIDEV_BACKEND_PASS is not set (?)
# CONFIG_XEN_PCIDEV_BACKEND_SLOT is not set (?)
# CONFIG_XEN_PCIDEV_BE_DEBUG is not set
# CONFIG_XEN_TPMDEV_BACKEND is not set
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_FRAMEBUFFER=m
CONFIG_XEN_KEYBOARD=m
CONFIG_XEN_SCRUB_PAGES=y
# CONFIG_XEN_DISABLE_SERIAL is not set
CONFIG_XEN_SYSFS=y
CONFIG_XEN_COMPAT_030002_AND_LATER=y
# CONFIG_XEN_COMPAT_LATEST_ONLY is not set
CONFIG_XEN_COMPAT_030002=y
CONFIG_HAVE_ARCH_ALLOC_SKB=y
CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y
CONFIG_NO_IDLE_HZ=y
CONFIG_XEN_UTIL=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_DEVMEM=y
CONFIG_XEN_SKBUFF=y
CONFIG_XEN_REBOOT=y
CONFIG_XEN_SMPBOOT=y
...

Please, can anyone provide a detailed "rebuilding kernel-xen" tutorial, regarding the relevant xen options for the pci backend/pci frontend settings?

Anyone to point me to location where pci backend precompiled fedora kernel-xen packages are provided?

Any help would be appreciated!

Thanks
Wolfgang

______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193





More information about the Fedora-xen mailing list