Installation eines VDR+Plugins nativ auf CoreELEC Boxen

  • ps: Persönlich bin ich auf die 19er Images umgestiegen. Das Update ist vom Entwicklungsrechner viel gemütlicher

    Ich habe mir eine 32GB SDcard besorgt und wollte jetzt in den kommenden Tagen den Versuch starten.

    Dazu gleich die erste Frage:

    Bedeutet jetzt 19er-Image das aktuelle nightly-Image oder welches Coreelec-Image soll ich von Coreelec holen?


    Wie erfolgt dann die eigentliche Installation:

    1. Ich installiere zuerst "ganz normal" das Coreelec-nightly-Imgae auf die SDcard.
    2. Dann Coreelec einrichten bis es soweit läuft.
    3. Muss ich nun die Abhängigkeiten auch installieren: apt-get install build-essential coreutils ...
    4. Wie geht es dann weiter, da habe ich etwas die Übersicht verloren!
    5. Ich müsste mich ja dann mit den richtigen Branch verbinden. Ich würde auch den "coreelec-19-VDR" nehmen
    Code
    1. git clone https://github.com/Zabrimus/CoreELEC.git
    2. cd CoreELEC
    3. git checkout coreelec-19-VDR
    4. ./build-local.sh -9

    6. Und wie dann weiter?



    PS: Folgende Plugins stehen noch auf meiner Wunschliste:

    vdr-plugin-devstatus

    vdr-plugin-dynamite

  • Zabrimus Ich habe noch ein paar Wünsche für Plugins:


    - tvscraper

    - targavfd

    - mp3 oder music

    - remoteosd

    - femon

    - externalplayer (was ich zum umschalten auf kodi nutze. Damit habe ich einen Haupt-Menü-Eintrag und muss nicht über commands.conf gehen)

    - cdplayer


    Vielen Dank,

    Rudi

  • Also okay. Viele Fragen zum meinen vielleicht zu kurzen Bemerkungen.


    Der 19-VDR und 20-VDR Branch werden zeitnah (wenn mir was neues auffällt) von CoreELEC geholt. Sie sind also fast auf demselben Stand wie CoreELEC selbst. Also im Prinzip sind das schon nightly Images.


    Der 19er-VDR und 20-VDR werden gebaut mit

    Code
    1. git clone https://github.com/Zabrimus/CoreELEC.git
    2. cd CoreELEC
    3. ./build-local.sh -9 (für den 19er Branch)
    4. oder
    5. ./build-local.sh -0 (für den 20er Branch)

    Das Build-Script wechselt schon automatisch in den richtigen Branch.


    Falls man das alles selbst kompilieren will, dann müssen die Abhängigkeiten installiert sein. Die Script von CoreELEC prüft die Anhängigkeiten zum Teil automatisch, aber leider nicht alle. Die Liste der Pakete, die ich angegeben habe apt-get install build-essential coreutils ... beinhaltet alles, was notwendig ist, damit der Build nicht irgendwann abbricht, weil etwas fehlen sollte.


    Wenn die 19er oder 20er Images gebaut werden, dann befinden sich am Ende im Verzeichnis target alle Images:

    Code
    1. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Generic.img.gz
    2. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-LaFrite.img.gz
    3. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-LePotato.img.gz
    4. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Odroid_C4.img.gz
    5. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Odroid_HC4.img.gz
    6. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Odroid_N2.img.gz
    7. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Radxa_Zero2.img.gz
    8. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549-Radxa_Zero.img.gz
    9. CoreELEC-Amlogic-ng.arm-19.5-Matrix_devel_20220425173549.tar

    Das tar nutze ich für ein Update eines bereits vorhanden Systems (kopieren nach /storage/.update + reboot). Dann wird automatisch aktualisiert.

    Die *.img.gz sind genauso zu behandlen wie die Images von CoreELEC selbst. Der einzige Unterschied ist der, das in den obigen Images VDR zusätzlich installiert ist. Ansonsten sollten sie nahezu identisch sein, wenn man von VDR und zusätzlichen Libs speziell für VDR absieht.


    build-local -i erzeugt ebenso wie oben alle Images, allerdings nur für die stable Version 19.4-Matrix.

    build-local -t erzeugt ein tar, das nur den VDR enthält und nach /storage/.opt entpackt wird. Ansonsten ist da nix drin.


    Also:

    1. apt-get install ....

    2. git checkout + cd CoreELEC

    3. ./build-local -9 oder ./build-local -0

    4a. entweder das tar aus target in eine bereits bestehende Installation kopieren, oder

    4b. eines der Images auf SD ziehen und davon booten. Wie bei CoreELEC auch.

    5. Das install.sh in /usr/local/bin ausführen, damit die Konfigurationsdaten entpackt werden.

    5. Bugs finden und melden oder auch nicht finden oder nicht melden oder was auch immer ;)


    Die Plugins schaue ich mir an. Das Problem ist immer, ein aktuelles Repository zu finden oder die letzte Version.


    Ich hoffe, damit ist es etwas klarer.


    Zabrimus

  • Great project. Thank you very much.

    Do you think an additional plugin could be included:


    vdr-plugin-streamdev-client

    YaVDR Ansible VM (VDR 2.4.0) as a VNSI Server and Streamdev Server. DD CINE S2 + 2 x DD Duoflex S2 (6 tuners)

    Modified Reelbox AVG II with working display: Gigabyte C1037UN-EU + EHD + 4GB ram + 32GB SSD. Streamdev client only.BM2LTS
    VDR1- ASUS AT3IONTI, 4gb RAM, 32GB SSD, MCE Remote, Custom case, YAVDR 0.6.2

    VDR2- ASUS AT5IONTI, 4gb RAM, 128GB SSD, MCE Remote, D-Vine 5 HTPC Case, YAVDR Ansible, Ubuntu 20.04.2

    4 x KODI (Libreelec) - Asus AT3IONTI, 2gb RAM, 32gb SSD, MCE Remote @ Nokia dBox1 case

    Raspberry PI3 b Plus - MLD (experimental)

    UNRAID - 80 TB storage, Supermicro X10SRL -F + Xeon E5-2680 v3 + 128 GB ECC Ram.

  • Sehr cooles Projekt, hoffe es auch bald hinzubekommen :)


    Ich scheitere allerdings jedesmal an der vorher schon beschriebenen Fehlermeldung bzgl. rpc.h (Ubuntu 22.04). Die Tipps die ich hier gefunden habe bzw. auf den verlinkten Seiten haben mir allerdings den Erfolg noch nicht gebracht. Wo genau sollte ich was ändern, damit es kompiliert? Soweit ich verstanden hatte, würden die Änderungen ohnehin nur erfolgreich greifen wenn ich das ganze CoreElec kompiliere, korrekt?


    Eine Zusatzfrage noch, ich verwende sehr gerne den zapcockpit, reicht es den patch aus dem skindesigner verzeichnis einfach in den patches folder im _vdr Verzeichnis zu legen?


    Vielen Dank im Voraus für die Hilfe, und danke für dieses Tolle Projekt!


    PS - sieht man in diesem Konstrukt auch die Option epgd auf eine ähnliche Art und Weise bereitzustellen? Oder wären die Boxen dafür dann doch eher zu Schwach auf der Brust?

  • Do you think an additional plugin could be included:
    vdr-plugin-streamdev-client

    The plugin streamdev is already part of the build. This includes streamdev-server and streamdev-client.

    Ich scheitere allerdings jedesmal an der vorher schon beschriebenen Fehlermeldung bzgl. rpc.h (Ubuntu 22.04).

    Ich weiß nicht, ob es sinnvoll ist, das insgesamt zu versuchen. Eigentlich müssten die Änderung aus LibreELEC oder CoreeELEC selbst kommen. Aber die empfehlen als Build-System Ubuntu 20.04 LTS. Ich weiß nicht, ob und wann ein Upgrade bzw. eine Unterstützung anderer Versionen geplant ist. Ich kann dazu auch so gar nichts finden. Es gibt wohl einen Docker-Container, der zum Build verwendet werden kann. Das habe ich allerdings nicht probiert: CoreELEC Builder.


    Eine Zusatzfrage noch, ich verwende sehr gerne den zapcockpit, reicht es den patch aus dem skindesigner verzeichnis einfach in den patches folder im _vdr Verzeichnis zu legen?

    Genau. Einfach in den patches Ordner packen und der Patch wird automatisch beim Build angewandt. Wenn der Patch auch ohne Zapcockpit keine negativen Auswirkungen hat, kann ich das auch direkt übernehmen.

    PS - sieht man in diesem Konstrukt auch die Option epgd auf eine ähnliche Art und Weise bereitzustellen? Oder wären die Boxen dafür dann doch eher zu Schwach auf der Brust?

    Das weiß ich gar nicht. Wenn ich das richtig sehe, dann gibt es MariaDB als Addon zu Kodi. Man muss allerdings immer im Auge behalten, daß ein Minimalsystem bei Kodi bzw. CoreELEC im Vordergrund steht und zum Teil über configure einiges abschaltet/disabled wird. Man wird um eine Prüfung oder einen Test nicht herumkommen: Sowohl epgd, als auch MariaDB.


    Zabrimus

  • Die Plugins schaue ich mir an. Das Problem ist immer, ein aktuelles Repository zu finden oder die letzte Version.

    Ich kann Dir das Repository von yaVDR empfehlen. Da gibt es auch einen Focal-Branch und dass wird von seahawk1986 immer aktuell gehalten.

    Da findest Du alle aktuellen Plugins für den VDR. Du kannst Dich ja mal mit seahawk1986 in Verbindung setzen!

    Er hat glaub ich auch ein Repository mit vdr-2.6.1



    Inzwischen habe ich erste Versuche gemacht, aber es will nicht so richtig vorwärts gehen, denn ich bekomme immer Fehler und der build-Process bricht ab.

    Dazu benutze ich einen Linux-PC auf dem yaVDR-0.7-focal läuft.

    Ich habe zuerst das apt-get install .... ausgeführt und dann git checkout + cd CoreELEC

    Wenn ich dann ./build-local -9 ausführen will gibt es immer Fehlermeldungen.


    Unter "root" geht es gar nicht, weil das wohl nicht unterstützt wird.

    Unter einem anderen User erhalte ich aber dann immer folgende Fehelrmeldung, mit der ich aber nichts anfangen kann:

    Code
    1. yavdr@yaVDR-PC:~/CoreELEC$ ./build-local.sh -9
    2. umount: target/pass1: Datei oder Verzeichnis nicht gefunden
    3. target/pass1 not mounted
    4. umount: target/pass2: Datei oder Verzeichnis nicht gefunden
    5. target/pass2 not mounted
    6. fatal: Konnte '/home/yavdr/CoreELEC/.git/index.lock' nicht erstellen: Keine Berechtigung
    7. yavdr@yaVDR-PC:~/CoreELEC$



    Gibt es denn keine Möglichkeit die kompletten Images direkt zu bekommen, so wie es bei Coreelec gemacht wird?

    Das würde vieles vereinfachen! ;)



    Ansonsten probiere ich übermorgen weiter, wenn mir jemand sagt, warum es bei mir nicht laufen will.

    Für heute ist erstmal Schluss!

  • Wild guess - hat das der Benutzer mit dem es versuchst rechte auf und in das CoreELEC Verzeichnis?

    Da war wohl was dran, denn ich habe es gerade nochmal probiert, ohne vorher auf "root" zu wechseln, also direkt unter dem User "yavdr"

    Jetzt scheint es durchzulaufen bzw. läuft noch. Dauert scheinbar etwas länger, obwohl ich schon schlafen gehen wollte! ;)

  • Bei mir klappt der build-process nicht, da mein Laufwerk /dev/sda2 voll läuft.

    Das Verzeichnis /CoreELEC belegt dann ca. 20GB  :(

    Da ist doch irgendwas faul! :/


    Hier mal die letzten Zeilen vor dem Abbruch:

  • Hallo Paulaner,

    läuft bei mir durch.


    Größe ca. 37GB


    Gruß

    kla.b

    VDR 1 : yavdr ansible focal, Asus M3N-HDMI, AMD x240, 2x TT3200,1x Sundtek DVB-C, 6 TB HDD

    VDR 2 : yavdr ansible focal, ASRock J5005, DVBSky S952 Dual

    VDR 3 : reelVDR, IBM Thinkcenter, HDe, am Beamer Sony AW15

  • In der CoreELEC Umgebung in der Docker Umgebung hänge ich auf scraper2vdr weil Magick++.h nicht gefunden werden kann, mittels apt-file find Magick++ glaube ich alles nachinstalliert, aber hängt dennoch wo. In welchem file könnte ich ggf. includes oder pkgconfig dir oder Ähnliches anpassen damit das gefunden wird?


    danke im Voraus für jegliche Idee :)


    EDIT: im build-Verzeichnis vom vdr-plugin-skindesigner im Makefile von imagemagick auf graphicsmagick gewechselt und der Build lief durch.

  • läuft bei mir durch.

    Größe ca. 37GB

    Okay, da muss ich mal sehen wie ich das mache, denn die Partition /dev/sda2 auf der ich das Build laufen lassen wollte ist nur 30GB groß.

    Davon sind ca. 10GB von yaVDR-System belegt und deswegen gibts dann den Abbruch, weil die Partition einfach voll ist! :(

  • läuft bei mir durch.


    Größe ca. 37GB

    Perfekt. Dann funktioniert der Docker Container? Das werde ich im Readme mit aufnehmen. Danke für den Test.

    Wenn man alle Branches baut und die Sourcen behält und auch die build.* Directories nicht löscht kommt man schnell auf ca. 150GB. Aber das ist wohl eher ganz schwach bis gar nicht sinnvoll.

    In der CoreELEC Umgebung in der Docker Umgebung hänge ich auf scraper2vdr weil Magick++.h nicht gefunden werden kann, mittels apt-file find Magick++ glaube ich alles nachinstalliert, aber hängt dennoch wo. In welchem file könnte ich ggf. includes oder pkgconfig dir oder Ähnliches anpassen damit das gefunden wird?

    Auf den Fehler bin ich auch gekommen, als ich ganz frisch gebaut habe. Der Umstieg ImageMagick auf GraphicsMagick war leider nicht ganz sauber und noch fehlerbehaftet. Wenn man das Build-Verzeichnis vollständig behalten und nach einem Git Pull neu gebaut hat, dann tritt ein seltsamer Mischbetrieb auf, der nicht funktioniert. Leider fällt das erst beim ganz neuen Build auf - ohne Restbestände.


    Im Git sollte die Umstellung jetzt komplett sein und alle Referenzen auf ImageMagick weg sein. Magick++ stammt aus ImageMagick. In GraphicsMagick nennt sich die Library GraphicsMagick++.


    Eingebaut habe ich die folgenden neuen Plugins:

    devstatus, dynamite, tvscraper, targavfd, externalplayer, femon, svdrpservice, remoteosd, zappilot, cdplayer, dvd, mp3

    Wenn ich jetzt nix vergessen habe. Bei den meisten weiß ich nicht, wie testen oder ich kann sie sogar aufgrund fehlender Hardware nicht testen.


    Beim Start von VDR mit allen Plugins, crasht der VDR bzw. das Plugin skinflatplus. Das hat mich daran erinnert, daß ich die Default-Konfigurationen bzw. die Pfade überprüfen muss. Ein paar Fehler habe ich schon gefunden, die ich noch korrigieren muss.


    Das dynamite Plugin habe ich nie genutzt und verstehe es auch nicht.

    Code
    1. dynamite: creating dynamic device slots as much as possible
    2. new device number 15 (card index 15)

    Soweit kann ich das nachvollziehen, aber dann...

    Code
    1. new device number 17 (card index 17)
    2. ERROR: too many devices or "dynamite"-unpatched device creator!
    3. new device number 17 (card index 18)
    4. ERROR: too many devices or "dynamite"-unpatched device creator!

    Wozu sind denn dann die ersten 15 da? Egal. Wer es einsetzen will, weiß wohl auch damit umzugehen ;)


    Der VDR beinhaltet die Patches:

    vdr-2.4.0_zapcockpit.patch

    vdr-2.4.6-dynamite.patch

    vdr-plugin-easyvdr.patch


    Zabrimus

  • Ob es mit dem docker vollständig funktioniert kann ich erst später berichten wenn wirklich alles fertig ist.


    gibt es eigentlich eine Möglichkeit vor dem Kompilieren die gewünschten Plugins auszuwählen, oder umgekehrt was man nicht benötigt abzuwählen oder auszukommentieren? Die meisten Plugins verwende ich persönlich nämlich gar nicht, dauern aber zum Kompilieren :)


    bzgl graphmagick - Empfehlung alles zu löschen, neu das Git zu klonen und neu Kompilieren?

  • Hallo reini-at,

    hatte den skindesigner in packages/virtuall/vdr-all/package.md auskommentiert.


    Gruß

    kla.b

    VDR 1 : yavdr ansible focal, Asus M3N-HDMI, AMD x240, 2x TT3200,1x Sundtek DVB-C, 6 TB HDD

    VDR 2 : yavdr ansible focal, ASRock J5005, DVBSky S952 Dual

    VDR 3 : reelVDR, IBM Thinkcenter, HDe, am Beamer Sony AW15

  • bzgl graphmagick - Empfehlung alles zu löschen, neu das Git zu klonen und neu Kompilieren?

    Wahrscheinlich ist das das Beste. Ich habe mal versucht im build Verzeichnis manuell aufzuräumen. pkg_install, build, ein paar .tstamps. Aber so richtig gut hat das nicht funktioniert.


    ibt es eigentlich eine Möglichkeit vor dem Kompilieren die gewünschten Plugins auszuwählen,

    hatte den skindesigner in packages/virtuall/vdr-all/package.md auskommentiert.

    Genau das ist die Lösung. Einfach auskommentieren. Allerdings sind nicht VDR und die Plugins die Bremse. Das eigentliche System samt Kodi frisst den Großteil der Zeit. Bei weniger großen inkompatiblen Änderungen ist der Build bei mir mittlerweile in wenigen Minuten durch, allerdings nur wenn nicht sowas wie ImageMagick/GraphicMagick auftaucht.


    Zabrimus

  • So, Update von meiner Seite - alles wurde gebaut, und ich kann den VDR starten. Weiter komme ich gerade nicht mehr, aber das liegt daran, dass ich übersehen habe dass das vdr plugin cecremote nicht vorhanden ist, und ich daher gerade Fernbedienungslos bin :) Wäre es möglich, dieses Plugin noch mit aufzunehmen?


    Herzlichen dank jedenfalls für die Mühen und Energie die hier reingesteckt wurde!!