Bei mir habe ich dies auf einer Neuinstallation mit Standardoptionen von Proxmox durchgeführt, ausserdem war dies der erste Gast den ich eingerichtet habe.
Zunächst mal hier die Version die ich verwendet habe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
root@proxmox:~# pveversion -v proxmox-ve-2.6.32: 3.3-139 (running kernel: 2.6.32-34-pve) pve-manager: 3.3-5 (running version: 3.3-5/bfebec03) pve-kernel-2.6.32-32-pve: 2.6.32-136 pve-kernel-2.6.32-34-pve: 2.6.32-140 lvm2: 2.02.98-pve4 clvm: 2.02.98-pve4 corosync-pve: 1.4.7-1 openais-pve: 1.1.4-3 libqb0: 0.11.1-2 redhat-cluster-pve: 3.2.0-2 resource-agents-pve: 3.9.2-4 fence-agents-pve: 4.0.10-1 pve-cluster: 3.0-15 qemu-server: 3.3-3 pve-firmware: 1.1-3 libpve-common-perl: 3.0-19 libpve-access-control: 3.0-15 libpve-storage-perl: 3.0-25 pve-libspice-server1: 0.12.4-3 vncterm: 1.1-8 vzctl: 4.0-1pve6 vzprocps: 2.0.11-2 vzquota: 3.1-2 pve-qemu-kvm: 2.1-10 ksm-control-daemon: 1.1-1 glusterfs-client: 3.5.2-1 |
Als erstes gleich mal einen neuen Gast in der Weboberfläche(https://an.deine.IP.anpassen:8006) einrichten.
Als Grundsystem habe ich mich für Ubuntu Server 14.04(Trusty Tahr) LTS(Long Term Support) auf das ich später dann TVHeadend installiert habe. Eigentlich wollte ich ja meinen physikalisch vorhandenen VDR-Server migrieren, habe das dann aber nach 2 langen Abenden aufgegeben, vielleicht starte ich aber nochmal einen Anlauf.
Bis auf die Cores habe ich eigentlich die Standardoptionen übernommen:
Laufwerk
-Bus/Device: IDE 0
-Format: QEMU image format (qcow2)
-Cache: Standardeinstellung (kein Cache)
CPU
-Sockets: 1
-Cores: 4
-Typ: Standardeinstellung (kvm64)
Speicher
Automatische Speicherzuteilung innerhalb dieses Bereichs
-Max. Speicher (MB): 4096
-Min. Speicher (MB): 4
-Shares: Standardeinstellung
Netzwerk:
Bridged Mode
-Bridge: vmbr0
-Modell: Intel E1000
Jetzt müsst ihr euch noch die ID der neuen Virtual Machine merken, bei der ersten wie bei mir ist das die 100. Im späteren Verlauf müsst ihr dann ggf. meine 100 gegen eure ID ersetzen.
Nun folgende Zeile in grub ergänzen bzw. bestehende vervollständigen und grub updaten:
1 2 3 4 5 6 7 8 9 |
root@proxmox:/# nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=igfx_off intel_iommu=on" root@proxmox:/# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.32-32-pve Found initrd image: /boot/initrd.img-2.6.32-32-pve Found memtest86+ image: /memtest86+.bin Found memtest86+ multiboot image: /memtest86+_multiboot.bin done |
Slot der TV-Karte herausfinden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@proxmox:/# lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06) 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller (rev 06) 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04) 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:16.3 Serial controller: Intel Corporation 8 Series/C220 Series Chipset Family KT Controller (rev 04) 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04) 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4) 00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d4) 00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4) 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation C226 Series Chipset Family Server Advanced SKU LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04) 02:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge 04:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter |
Bei mir ist die Cine S2 also die 04:00.0.
Anschliessend folgende Zeile mit dem PCI-Slot in der Konfigurationsdatei eurer VM(ID anpassen) ergänzen:
1 2 |
root@proxmox:/# nano /etc/pve/qemu-server/100.conf hostpci0: 04:00.0 |
Ausserdem habe ich noch eine Datei “blacklist” mit folgendem Eintrag erstellt:
1 2 |
root@proxmox:/# nano /etc/modprobe.d/blacklist blacklist ddbridge |
So werden die Treiber in der Hostmaschine nicht geladen.
Anschliessend Neustarten
1 |
root@proxmox:/# shutdown -r now |
Testen ob DMAR und IOMMU korrekt laufen
1 2 3 4 5 6 7 8 9 |
root@proxmox:~# dmesg | grep -e DMAR -e IOMMU ACPI: DMAR 00000000d8ffe4c8 000B8 (v01 INTEL HSW 00000001 INTL 00000001) Intel-IOMMU: disable GFX device mapping dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da dmar: DMAR:[DMA Read] Request device [00:02.0] fault addr 36c00000 DMAR:[fault reason 06] PTE Read access is not set dmar: DMAR:[DMA Read] Request device [00:1f.2] fault addr dbf42000 DMAR:[fault reason 06] PTE Read access is not set |
Deshalb habe ich noch folgendes ergänzt:
1 2 |
root@proxmox:/# nano /etc/modprobe.d/kvm_iommu_map_guest.conf options kvm allow_unsafe_assigned_interrupts=1 |
Jetzt sah das Ganze gut aus…
1 2 3 4 5 |
root@proxmox:~# dmesg | grep -e DMAR -e IOMMU ACPI: DMAR 00000000d8ffe4c8 000B8 (v01 INTEL HSW 00000001 INTL 00000001) Intel-IOMMU: disable GFX device mapping dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da |
Nun sollte die Karte in der Gastmaschine erreichbar sein.
Also die VM starten und testen:
1 2 3 4 5 6 7 8 9 10 |
christian@TVHeadend:~$ lspci 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 00:03.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon 00:10.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter 00:12.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) |
Somit sollte alles soweit vorbereitet sein um euer TV-Programm installieren zu können.
Im meinem Fall habe ich mich für TVHeadend entschieden, aber natürlich sollte auch ein VDR oder MythTV funktionieren.
Ein Gedanke zu „DVB-S2-Karte(Cine S2) in Proxmox-VM durchreichen“