Xen auf Wheezy - PCI-passthrough

15/05/2014 - 22:10 von Paul Muster | Report spam
Hallo zusammen,

das Verstecken von PCI-Geràten vor der Dom0 funktioniert in Wheezy nicht
mehr wie in Squeeze.

Squeeze:

# 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
0000:02:00.0
#

fein.

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]

Nungut, kommen wir zu Behebung des Problems.
http://wiki.xen.org/wiki/Assign_Har..._as_module
beschreibt zwei Optionen: a) Ein Skript "to be executed before Xen
domains" und b) Eintràge in /etc/modprobe.conf, für die man aber vorher
wissen muss, welche Treiber der Dom0-Kernel für die PCI-Geràte nutzen
möchte. Beides finde ich recht hàßlich.
http://zhigang.org/wiki/XenPCIPassthrough erwàhnt als weitere Option
"Put the module into initrd." Das klingt doch ganz interessant.

Ist also...

[
http://forums.linuxmint.com/viewtopic.php?fB&t2013&start0#p711782 ]

# echo xen-pciback >> /etc/initramfs-tools/modules
# update-initramfs -u -k all

der richtige Weg, der dann zusammen mit den vorhandenen Eintràgen in
grub.cfg funktioniert?


Danke & viele Grüße

Paul

[1]
Stimmt das denn?

# uname -a
Linux dom0 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3+deb7u1 i686 GNU/Linux
# grep pciback /boot/config-3.2.0-4-686-pae
#

Sollte dann da nicht irgendwas wie

CONFIG__PCIBACK=m

auftauchen?

Und sollte nicht in den Release Notes von Wheezy stehen, wenn man sowas
àndert??



Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-REQUEST@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)
Archive: https://lists.debian.org/5fif4b-23u.ln1@news.muster.net
 

Lesen sie die antworten

#1 Pierre Bernhardt
16/05/2014 - 04:00 | Warnen spam
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:

:~# 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



Zum AUSTRAGEN schicken Sie eine Mail an
mit dem Subject "unsubscribe". Probleme? Mail an (engl)
Archive: https://lists.debian.org/

Ähnliche fragen