[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Xen auf Wheezy - PCI-passthrough



On 15.05.2014 21:51, Paul Muster wrote:
> das Verstecken von PCI-Geräten vor der Dom0 funktioniert in Wheezy nicht mehr wie in Squeeze.
> Wheezy:
>   # grep pciback /boot/grub/grub.cfg
>          module  /vmlinuz-3.2.0-4-686-pae placeholder root=/dev/<root> ro  xen-pciback.hide=(02:00.0)
>   # xm pci-list-assignable-devices
>   #
> 
> Es passiert einfach nix. Recherche ergibt, dass in Wheezy xen-pciback nur noch als Modul im Kernel ist. Blöd.[1]
Ja, es passiert nix. Ist echt nervig. Gegen das auskommentieren der Module habe ich mich
entschieden da ich dann auch Module raus werfe die von PCI-Karten verwendet werden die ich
in der DOM0 brauche.
Vor dem Starten der Doms lass ich einfach ein kleines Script laufen welche die PCI-Devices unbinded:

root@newxen:~# pci_unbind 0000:01:04.0 0000:82:4.0 000082:04.1 0000:87:00.0 0000:88:00.0

Ich habs vergessen wo ich es her habe. Aber vielleicht habe ich auch noch selber darin rumgehackt:

for pcidev in $@; do
    if [ -h /sys/bus/pci/devices/"$pcidev"/driver ]; then
        echo "Unbinding $pcidev from" $(basename $(readlink /sys/bus/pci/devices/"$pcidev"/driver))
        echo -n "$pcidev" >| /sys/bus/pci/devices/"$pcidev"/driver/unbind
    fi
    echo "Binding $pcidev to pciback"
    echo -n "$pcidev" >| /sys/bus/pci/drivers/pciback/new_slot
    echo -n "$pcidev" >| /sys/bus/pci/drivers/pciback/bind
done

Vielleicht hift es Dir (die führenden 0 nicht vergessen).

Möglicherweise braucht man noch ein modprobe pciback davor. Bei mir ist es schon geladen.
Möglicherweise hilft es bei Dir in der grub.cfg:

menuentry 'Debian GNU/Linux, with Linux 3.2.0-0.bpo.4-amd64 and XEN 4.0-amd64 pciback' --class debian --class gnu-linux --class gnu --class os --class xen {
        insmod raid
        insmod mdraid
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        insmod xen-pcifront
        insmod xen-netback
        insmod xen-netfront
        insmod xen-evtchn
        insmod xen-pciback
        insmod xen-gntalloc
        insmod xen-gntdev
        insmod xenfs
        insmod xen-blkback
        insmod xen-blkfront
        set root='(md/bootmd)'
        search --no-floppy --fs-uuid --set d812954e-5ff3-413b-8525-35676c574a4b
        echo    'Loading Linux 3.2.0-0.bpo.4-amd64 ...'
        multiboot       /xen-4.0-amd64.gz placeholder iommu=1 iommu=debug iommu_inclusive_mapping=1 amd-iommu-debug
        module  /vmlinuz-3.2.0-0.bpo.4-amd64 placeholder root=/dev/mapper/xenrootdg-rootvol ro earlyprintk=xen xen-pciback.permissive xen-pciback.hide=(1:4.0)(0:8.0)(0:9.0)(82:4.0)(82:4.1)(87:0.0)(88:0.0) 'pci=resource_alignment=1:04.0;82:4.0;82:4.1;87:0.0;88:0.0'
        echo    'Loading initial ramdisk ...'
        module  /initrd.img-3.2.0-0.bpo.4-amd64
}

Jedenfalls boote ich immer von diesem Menü auch wenn ich pci_unbind noch zusätzlich
aufrufen muss.

PS: Wenn Du eine Lösung fürs booten bekommst, dann bin ich daran interressiert ;-)

MfG...
Pierre



Reply to: