2020 schonmal angefangen, aber nicht zuende gebracht. Hier noch die Kurzversion, wie man z.B. in meinem Fall eine CINE S2 von Digital Devices im LXC Container ans Laufen bringt.
Die Installation von VDR unter Arch Linux wurde ja schon an einigen Stellen behandelt. Auch als LXC Container ändert sich eigentlich nichts. Statt neu zu installieren, habe ich hier auf einen frisch installierten ProxmoVE (PVE) das Backup vom Proxmox Backup Server (PBS) reingeladen und kürze mir somit die Installation ab.
Wenn ihr neu Installiert, muss als erstes darauf geachtet werden, dass der Container Rechte bekommt, die DVB-C/S/T Karte zu sehen.
Dafür muss zunächst entsprechende Nummer für die cgroups Config rausgefunden werden.
root@hhdach:~# ls -la /dev/dvb/adapter0/ total 0 drwxrwxrwx 2 root root 120 Jan 17 19:55 . drwxr-xr-x 4 root root 80 Jan 17 19:55 .. crw-rw-rw- 1 root video 212, 0 Jan 17 19:55 demux0 crw-rw-rw- 1 root video 212, 1 Jan 17 19:55 dvr0 crw-rw-rw- 1 root video 212, 3 Jan 17 19:55 frontend0 crw-rw-rw- 1 root video 212, 2 Jan 17 19:55 net0
Wichtig ist hier die Zahl hinter der Gruppe. In meinem Fall ist das die 212. Wenn man den Container gerade frisch installiert hat, dann muss man die Configdatei des Containers von Hand anpassen. Dabei müssen zwei Zeilen dazu:
lxc.cgroup.devices.allow: c 212:* rwm lxc.mount.entry: /dev/dvb dev/dvb none
Die Zeile mit cgroup.devices muss hier nun die Nummer der cgroup enthalten. Die Zeile darunter den Pfad des durchzureichenden Gerätes.
Bei mir sieht das dann komplett so aus (IP/MAC ist hier auf Fritzdefault/random).
arch: amd64 cores: 1 hostname: LXCArchVDR memory: 2048 net0: name=eth0,bridge=vmbr1,firewall=1,gw=192.168.178.1,hwaddr=12:23:45:67:89:AB,ip=192.168.178.254/24,type=veth onboot: 1 ostype: archlinux rootfs: ZFS-Containers:subvol-102-disk-0,size=20G swap: 2048 unprivileged: 1 lxc.cgroup.devices.allow: c 212:* rwm lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir
In meinem Fall, beim Wiederherstellen eines Backups wird die Configdatei direkt so mitgeliefert. Was für ein Luxus!
Schaut man jetzt in den Container, kann man die DVB-Karte schon sehen.
[root@LXCArchVDR ~]# ls -la /dev/dvb/ total 0 drwxr-xr-x 4 nobody nobody 80 Jan 17 18:55 . drwxr-xr-x 6 root root 460 Jan 17 18:55 .. drwxrwxrwx 2 nobody nobody 120 Jan 17 18:55 adapter0 drwxrwxrwx 2 nobody nobody 120 Jan 17 18:55 adapter1
Lediglich einen manuellen Schritt habe ich noch (und noch nicht automatisiert). Beim Start des PVE feuere ich einmal
chmod -R a+rw /dev/dvb/adapter*
ab und mache die Karte beschreibbar, damit VDR das Tuning einstellen kann. Das ist vermutlich nicht die feinste Art mit Hinsicht auf Security, aber der PVE steht eh nur lokal und sobald ein Service nach außen auf dem „roten“ Netzwerk verfügbar sein soll, wird er in eine klassische VM gesteckt.
Jetzt den VDR nochmal stoppen und starten und schauen ob er läuft.
In meinem Fall war’s das (Stand Januar 2021) und ich kann mit Kodi per VNSI an den VDR andocken.
Hallo,
vielen Dank für den Beitrag.
Ich bin gerade dabei ansible-yavdr in einem privilegierten Proxmox LXC Container zu installieren. Die Installation von ansible-yavdr klappt nach der Lösung von ein paar Stolperstellen. Da ein headless VDR aber nur richtig Sinn macht, wenn er per Web-Frontend zu bedienen ist wollt ich auch das vdr-plugin-live installieren. Das habe ich bisher nicht geschafft.
Mit folgenden Informationen würden Sie mir sehr weiterhelfen:
1. Haben Sie ein Web-Frontend bei Ihrem VDR installiert? Wenn ja, welches?
2. Nach Ihrem Beitrag vermute ich, dass Sie VDR auf Basis Arch Linux installiert haben? Stimmt das?
3. Mit Arch Linux habe ich leider keine Erfahrung (komme von Debian/Ubuntu). Gibt es irgendwo eine aktuelle Beschreibung zur Installation von LXC + VDR unter Arch Linux? Ist die hier: https://wiki.archlinux.de/title/VDR vielleicht noch aktuell?
Vielen Dank!
Tony
Hi,
yavdr habe ich vor Urzeiten mal benutzt, bin dann aber zu Archlinux rüber.
Als Webfrontend habe ich vdr-live, benutze es aber eigentlich nie, weil ich mit Kodi und dem VNSI Plugin alles DAUtauglich gemacht habe.
Der installierte VDR kommt bei mir von VDR4arch (pacman.conf):
[vdr4arch]
Server = https://vdr4arch.github.io/$arch
SigLevel = Never
also zusammengefasst:
1.) Vdrlive
2.) Arch Linux, ja
3.) Ja, wobei ich da sehr wenig konfiguriert habe, einen Suchlauf, bisschen channels.conf, VNSI/Streamdev/Live Plugin und das war´s glaube ich schon. Eigentlich plane ich dieses Jahr, das nochmal im Detail nachzubauen und hier zu beschreiben, aber aktuell kommen leider wieder mal „Reallife“ Sachen dazwischen.
Meine installierten Pakete:
[root@LXCArchVDR ~]# pacman -Q | grep vdr
vdr 2.4.4-1
vdr-epgsearch 1:2.4.0.r11.gd8cff1a-2
vdr-live 1:2.3.1-5
vdr-streamdev-client 0.6.1.r36.ge2a9b97-3
vdr-streamdev-server 0.6.1.r36.ge2a9b97-3
vdr-vnsiserver 2:1.8.0.r0.g49003f0-3
vdradmin-am 3.6.10-5
Servus zusammen,
auch erstmal danke für diesen Blogpost!
Jetzt zu meinem Problem:
Habe mir auch vor wenigen Monaten Proxmox zugelegt. Vorher lief auf der Hardware OpenXEN und mein VDR Server war eine paravirtualisierte VM. Die VM lief durch, aber irgendwann war nur noch DVB-S1 Empfang möglich.
Jetzt mit Proxmox und VDR im Archlinux LXC stürzt mir der LX-Container regelmäßig ab und ich habe keinen blassen Schimmer wieso.
Das Thema mit den Filepermissions für /dev/dvb/adapter* habe ich folgendermaßen gelöst:
crontab:
@reboot chmod a+rw -R /dev/dvb/adapter*
Zusätzlich zu den hier beschriebenen Einstellungen in der .conf habe ich:
lxc.apparmor.profile: unconfined
lxc.mount.auto: cgroup:rw:force
Es lief vor ein paar Tagen für eine Dauer von ca. 2 Wochen, aber jetzt schmiert der Container wieder täglich ab… Hat jemand eine Idee was man noch tun könnte?
Gruß
Simon
Also so wie Du´s beschreibst hatte ich das früher öfter mal mit anderen Karten. Aktuell nutze ich eine Cine C2 Karte von Digital Devices, das läuft eigentlich Wochen durch ohne Neustart. So einmal im Quartal bleibt das Ding aber auch hängen.
Hast Du irgendwelche Logmeldungen, oder dmesg Ausgaben, die auf etwas hindeuten, warum die Karte bzw. der Container hängen bleibt?
Irgendwelche aussergewöhnlichen Logmeldungen kann ich nicht feststellen. Komischerweise gibt es aber auch nur kein rsyslog für arch. Zumindest nicht aus AUR.
Ich habe folgende Karten:
03:05.0 Multimedia controller [0480]: Philips Semiconductors SAA7146 [1131:7146] (rev 01)
Subsystem: Technotrend Systemtechnik GmbH S2-3200 [13c2:1019]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- SERR- TAbort- <TAbort- SERR- <PERR- INTx-
Latency: 64 (3750ns min, 9500ns max)
Interrupt: pin A routed to IRQ 21
NUMA node: 0
Region 0: Memory at febff800 (32-bit, non-prefetchable) [size=512]
Kernel driver in use: budget_ci dvb
Kernel modules: budget_ci
Vielleicht hat ja ein Leser hier, noch hilfreiche Tuningtipps, man kann die Werte ja mit `setpci` anpassen, zb:
setpci -v -s latency_timer=
Erstmal Danke für den Beitrag!
Ich will vdr unter proxmox/lxc unter debian installieren und bekomme beim Start :
Nov 12 13:12:26 tv-server vdr[3638503]: vdr: cap_set_proc failed: Operation not permitted
Nov 12 13:12:26 tv-server systemd[1]: vdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Nov 12 13:12:26 tv-server systemd[1]: vdr.service: Failed with result ‚exit-code‘.
Der Container ist privilegiert und tvheadend funktioniert und kann meinen Sundtek-Stick benutzen.
Übrigens heißt croup jetzt croup2
Nochmal Danke und Gruß
Norbert
Oops, die Formatierung ist ja kaputt. Mein Fehler ?
Hallo zusammen,
habe jetzt Stunden dran verbracht, meine DD Cine V7 im LXC-Container zum laufen zu kriegen…, Bis ich auf die Seite stieß: https://forum.proxmox.com/threads/pve-7-0-lxc-intel-quick-sync-passtrough-not-working-anymore.92025/#post-400925
Da Proxmox 7 jetzt cgrouips2 verwendet, muss der Eintrag in der .conf so aussehen:
lxc.cgroup2.devices.allow: c 212:* rwm
lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir
Vieleicht hilft das jemanden weiter….
Hey, danke. Ich bin gerade umgezogen und habe jetzt erstmal Sat, d.h. ich muss mir noch die passende Karte besorgen, um das wieder mit einem aktuellen Proxmox nachspielen zu können. Ich glaube dein Weg ist auch die Lösung für Norbert.