Skip to content
Menu
TechDudes.de
  • Allgemein
  • Server
  • Linux
  • Impressum
TechDudes.de

VDR Server im LXC-Container unter Proxmox

Posted on 17. Januar 202126. Mai 2021 by Dennis

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.

9 thoughts on “VDR Server im LXC-Container unter Proxmox”

  1. Anton Blau sagt:
    3. April 2021 um 16:45 Uhr

    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

    Antworten
    1. Dennis sagt:
      8. April 2021 um 10:43 Uhr

      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

      Antworten
  2. Simon Müller sagt:
    26. Mai 2021 um 18:16 Uhr

    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

    Antworten
    1. Dennis sagt:
      26. Mai 2021 um 18:31 Uhr

      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?

      Antworten
      1. Simon Müller sagt:
        27. Mai 2021 um 18:39 Uhr

        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=

        Antworten
  3. Norbert Klamann sagt:
    12. November 2021 um 15:32 Uhr

    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

    Antworten
  4. Norbert Klamann sagt:
    12. November 2021 um 15:33 Uhr

    Oops, die Formatierung ist ja kaputt. Mein Fehler ?

    Antworten
  5. Samson Tux sagt:
    24. November 2021 um 23:19 Uhr

    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….

    Antworten
    1. Dennis sagt:
      25. November 2021 um 00:13 Uhr

      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.

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Neueste Beiträge

  • Smart 451 Schlüsselbatterie wechseln und Schlüssel wieder anlernen
  • VDR Server im LXC-Container unter Proxmox
  • Einen guten Start in 2021
  • Arch Linux in Proxmox LXC – first Steps
  • Pimp your Zbox

Kategorien

  • Allgemein
  • Android
  • Arch Linux
  • Browser
  • Chrome
  • Debian
  • Docker
  • Firefox
  • IBM (Allgemein)
  • IBM (Server)
  • KVM
  • Linux
  • LXC
  • NAS
  • Raspberry Pi
  • Redhat / CentOS
  • Server
  • Sonstiges
  • Sun
  • Thunderbird
  • Toolbox
  • Ubuntu
  • Virtualisierung
  • Windows
  • Xen

Schlagwörter

18.04 451 Acer Android Arch Linux Aspier Batterie wechseln bios bios-mod container denicid docker Dropbox DVB-C dvb-c2 DVB-S2 id4me Install Installation Kubuntu kvm lga Linux LXC mailcow microcode mSATA nextcloud pin-mod Proxmox proxmox-ve pve ReverseProxy Schlüssel Schlüssel anlernen Schlüsselbatterie Smart Smart451 SSD Thunderbird Ubuntu V3-771 V3-771G VDR vt-d
©2023 TechDudes.de | Theme: Wordly by SuperbThemes