Also dann... zur eigenen Dokumentation und falls es jemandem etwas nützt. VDR-Setup meiner Domain innerhalb eines KVM-Setups mit den beschriebenen Hardware-Tunern.
Voraussetzung: Laufender KVM-Server mit VT-d fähiger Hardware (SEHR WICHTIG: CPU und Mainboard!!!), Anleitung z.B. hier
1) Domain aufsetzen
fallocate -l 16G /vm/vdr/vdr_vda.img
virt-install --connect qemu:///system -n storage -r 4096 --vcpus=2 -f /vm/vdr/vdr_vda.img -s 4 --cdrom /vm/images/ubuntu-14.04.2-server-amd64.iso --noautoconsole --os-type linux --accelerate --network=bridge:br0,model=virtio -m 15:bf:6b:ec:f7:c9 -k de --vnc --vnclisten='0.0.0.0'
Dem Installationsprozedere folgen, wobei ich standardmäßig kein LVM nutze und kein SWAP im Hauptimage mit drin habe (das wird später via externem swap-Image über die xml-config eingebunden).
(System herunterfahren)
Die Konfigurationsdatei (z.B. vdr.xml) muss ergänzt werden um
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='kvm'/>
<source>
<address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='kvm'/>
<source>
<address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</hostdev>
Alles anzeigen
Wichtig ist, dass die beiden address-Zeilen, v.a. "bus" (weiteres siehe hier) der Ausgabe von lspci -v des Hosts der betroffenen Karten entsprechen!
Bei mir (Host):
root@server:/vm# lspci -v
|
|
V
03:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 03)
Subsystem: Device 6982:0002
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at efd00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [40] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [50] Express Endpoint, MSI 00
Capabilities: [74] Power Management version 2
Capabilities: [80] Vendor Specific Information: Len=50 <?>
Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?>
Kernel driver in use: pci-stub
04:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter
Subsystem: Digital Devices GmbH Cine S2 V6.5 DVB adapter
Flags: fast devsel, IRQ 16
Memory at efc00000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 3
Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit+
Capabilities: [90] Express Endpoint, MSI 00
Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=00c <?>
Kernel driver in use: pci-stub
Alles anzeigen
2) Treiber installieren wie oben beschrieben (wobei die Treiber aus dem GIT-Rep genügen):
00:06.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 03)
Subsystem: Device 6982:0002
Physical Slot: 6
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at fea00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [80] Vendor Specific Information: Len=50 <?>
Capabilities: [50] Express Endpoint, MSI 00
Capabilities: [74] Power Management version 2
Capabilities: [40] MSI: Enable- Count=1/32 Maskable- 64bit-
Kernel driver in use: SAA716x Budget
00:07.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter
Subsystem: Digital Devices GmbH Cine S2 V6.5 DVB adapter
Physical Slot: 7
Flags: fast devsel, IRQ 10
Memory at feb50000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [90] Express Endpoint, MSI 00
Capabilities: [50] Power Management version 3
Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit-
Kernel driver in use: DDBridge
Alles anzeigen
Man sieht, beide Treiber sind geladen und wie erwartet sind insgesamt 6 Tuner eingebunden:
root@vdr:~# ls -h /dev/dvb/
adapter0 adapter1 adapter2 adapter3 adapter4 adapter5
Als nächstes kommt die vdr-Installation dran.