[HOWTO]: Installation eines VDR innerhalb von CoreElec (Amlogic only)

  • Hast Du KODI für den ersten Start maskiert (systemctl mask kodi)? Das musst Du einmalig machen, sonst hast Du nur Pixel-Matsch.

    Zum Debuggen empfehle ich, in der vdr.sh ein exit einzufügen, dann kannst Du das Ganze händisch starten und schauen, woran es liegt.

    Evtl. musst Du noch das "killall" in UBUNTU installieren.

    Mehr fällt mir im Moment nicht dazu sein und ich bin jetzt auch erst einmal für eine Woche raus. Schöne Ostern.

  • Dr. Seltsam


    Wenn das CE Startlogo weiter läuft, dann muss mit killall (ggfls. in der chroot Umgebung per apt installieren) der splash-Prozess gekillt werden. Ein ps aux zeigt das Kommando.

    Code
    CoreELEC:~ # ps aux |grep splash
    2112 root      0:16 splash-image /splash/progress/splash-1080-
    3865 root      0:00 grep splash
    CoreELEC:~ # kill 2112
    CoreELEC:~ # ps aux |grep splash
    3867 root      0:00 grep splash


    das CoreElec-Logo ist immer noch da... es gibt da einige Postings im CE-Forum wonach es gewollt ist, dass man es nicht abschalten kann.

    Vielleicht ist das ein Timing-Problem. Normalerweise soll es ja irgendwann von selbst verschwinden, wenn kodi startet. Kodi startet aber nicht, sondern ist maskiert, um vdr nicht zu behindern. system.d startet den vdr dann noch ehe das Logo weg ist.
    Ich sehe nach dem reboot, dass kurz ein vdr-OSD aufblitzt. vdr läuft dann mit Ton und ohne Bild - es steht nur das CE Logo auf dem Bildschirm.


    Wenn kodi nicht maskiert ist, kommt beim Booten nach dem Logo erst der kodi-Skin, dann blitzt ein vezerrtes vdr-OSD auf und danach ist vdr auf dem Bildschirm - allerdings mit verzerrten Resten vom kodi-skin.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Das Ergänzen von killall splash-image in LoadDriver() der runvdr hat das Problem mit dem CoreElec-Logo behoben. Es verschwindet nun und vdr startet. Ein Problem habe ich noch mit dem shutdown. Ich habe /usr/local/bin/vdrshutdown.h unverändert übernommen


    Wenn ich vdr mit der Fernbedienung ausschalte, kommt auch die Abfrage "Taste drücken um Ausschalten abzubrechen". Es passiert aber nichts. vdr bringt nach einiger Zeit einen Countdown, zu dem der Rechner angeblich runterfahren würde, aber das geschieht nie. Muss da noch vor dem poweroff - oder hat-Befehl die Auskommentierung raus? Aber dann würde ja die letzte Zeile nie ausgeführt werden (wobei ich ehrlich gesagt sowieso noch nicht verstanden habe, was die looper-Scripte eigentlich bewirken)


    Wenn ich in der chroot vdrshutdown.sh in der Konsole ausführe, kommt

    Code
    bash: line 0: echo: write error: Invalid argument
    loopershutdown: no process found


    Die direkte Eingabe von

    Code
    sudo hwclock --systohc --utc

    bringt hingegen keinen Fehler.


    so sieht loopershutdown aus:

    Code
    root@CoreELEC ~/UBUNTU/vdr # cat loopershutdown
    #!/bin/bash
    while true;
    do  sleep 300
    done

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Du musst in .config/system.d vom CoreElec noch den shutdown service anlegen. Der macht nicht anderes, als loopershutdown immer wieder aufzurufen, bis es eben gekillt wird. Wenn es nicht mehr gekillt wird, wir der shutdown ausgeführt:

    shutdown.service sieht so aus und muss als service einmalig gestartet werden unter CE (systemctl enable shutdown.service).


    Die Lopper-Skripte blockieren nur die Ausführung von dem, was Du unter chroot machen möchtest. Die Ausführung selbst wird durch den looper blockiert. Wird der looper dann unter chroot gekillt, führ das CE-System das aus, was ausgeführt werden soll, z.B. reboot oder shutdown, was sonst nicht in chroot funktioniert.

  • shutdown.service existierte, war aber noch nicht gestartet. Die Box fährt aber immer noch nicht runter und die Fehlermeldung bei Ausführung in der Konsole ist die gleiche.

    Kann es an meiner UBUNTU/vdr/shutdown.sh liegen, weil ich kein ambilight habe?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Nein, daran kann es nicht liegen, ich habe nur die ambilight-Datei kopiert und den Teil verwendet, den ich zum shutdown benötige. Ich schlage folgende Schritte vor:


    1. Läuft der service wirklich? (ps -aux)

    2. Kille doch mal den looper in CE, der für shutdown.service zuständig ist und schau, ob die Box dann runterfährt.

    3. Wenn das funktioniert, muss es auch mit der vdrshutdown.sh funktionieren.


    LG

    beta

  • Der shutdown funktioniert nun, ohne dass ich genau sagen kann, woran es lag.


    Ein Problem habe ich jetzt mit dem Wechsel zu kodi und zurück. Der Aufruf des externalplayer-Kommandos aus dem OSD-Menü heruas führt dazu, dass das vdr-Bild einfriert und kodi sich öffnet. Nach wenigen Sekunden schließt sich kodi aber von selbst wieder und danach sieht man das vdr-Bild mit überlagerten Teilen des kodi-Menüs.


    In #2 sollte noch ergänzt werden, dass nach dem Anlegen der softoggle.service in .config/system.d auch ein systemctl enable softoggle.service notwendig ist. Das hat aber auch nicht geholfen.


    Ich habe mir nochmal Deine UBUNTU/vdr/softoggle angesehen. Darin heisst es

    Code
    PFAD=/storage/UBUNTU/vdr

    sowie

    $PFAD/svdrpsend.sh ...


    Mir fiel auf, dass ich nur das von vdr installierte perl-Script /usr/local/bin/svdrpsend habe, aber kein bash-Script in /storage/UBUNTU/vdr Die Anlage dieser Datei hattest Du nicht erwähnt. Was ist ihr Inhalt?


    In #3 hattest Du beschrieben, die Einträge für die Fernbedienung direkt in der boot.ini einzutragen. Ich schlage vor, das besser in der .config zu machen. Zum einen ist es updatesicher, zum anderen liefert ir-keytable -u die Werte für remotewakeup, decode_type und remotewakeupmask gleich in der passenden Syntax.

    Musstest Du für Deine hardkernel-FB noch repeat delay und/oder repeat period anpassen? Meine Universal-FB liefert mit dem von mir verwendeten Code eines alten CD-Spielers immer doppelte Signale pro Tastendruck. Es gibt dazu bereits Standardwerte, um das auszugleichen, aber die reichen für meine FB nicht und ich weiss nicht, wie ich das in CoreElec anpassen kann.


    CoreELEC:~/.config # ir-keytable

    Found /sys/class/rc/rc0/ with:

    Driver: meson-ir

    Default keymap: rc-empty

    Input device: /dev/input/event2

    LIRC device: /dev/lirc0

    Attached BPF protocols: Operation not supported

    Supported kernel protocols: unknown other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp cec irmp

    Enabled kernel protocols: lirc irmp

    Name: meson-ir

    bus: 25, vendor/product: 0000:0000, version: 0x0000

    Repeat delay = 500 ms, repeat period = 125 ms


    Man kann das zwar manuell mit z.B. ir-keytable --delay=600 --period=200 ändern, aber das ist nach dem reboot wieder weg. Eine /etc/rc.config gibt es unter CoreElec nicht.

    vdr bietet dazu eigene Konfigurationseinträge, aber ich könnte mir vorstellen, dass es besser ist, lieber gleich den Kernel richtige Werte benutzen zu lassen.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • svdrpsend.sh sieht so aus


    Bash
    #!/bin/sh
    export PATH='/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
    chroot /storage/UBUNTU ./usr/local/bin/svdrpsend "$@"


    Ich habe noch ein Problem mit der Fernbedienung, wenn ich verschlüsselte Sender mit CAM in 4K auflösen lasse. Das ist dann fast nicht bedienbar und scheint an meson-ir zu liegen. Ich muss mich mit amremote beschäftigen und schauen, wie ich das unter VDR ans Laufen bekomme...

    Für Tipps bin ich dankbar.

  • es klappt leider immer noch nicht mit dem Wechsel von vdr zu kodi.

    Ich habe das versucht zu debuggen:

    Zunächst wird der Bildschirm schwarz und kodi erscheint. Nach einigen Sekunden schließt sich kodi aber wieder und das vdr-Bild kommt zurück (teilweise überlagert mit Teilen des kodi-Skins).

    Es wird aber weder kodi gestoppt noch vdr attached. Der Bereich hinter dem ersten 'done' im softoggle-Script kommt anscheinend nie zur Ausführung:

    Code
    looper wurde gestartet
    vdr wurde detached
    vdr remote off
    case xbmc
    kodi wurde demaskiert
    kodi wurde gestartet
    kodi wurde nach dem Start wieder demaskiert

    Was ich nicht verstehe ist, weshalb überhaupt wieder ein vdr-Bild zu sehen ist, denn softhdodroid müsste immer noch detached sein.


    Mir ist das ganze Zusammenspiel noch nicht klar. Das external-Player-Plugin killt das looper-Script. Wieso führt das jetzt dazu, das im laufenden (von system.d gestarteten) softoggle-Script der case "vdr" zurifft? Warum wird als erstes der gerade beendete looper wieder neu gestartet?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Wohin wird in der chroot-Umgebung eigentlich geloggt? Ich wollte das syslog der Ubuntu-Umgebung prüfen, um zu sehen, was der vdr da eigentlich loggt Aber das syslog ist seit dem Anlegen der chroot-Umgebung nicht mehr aktualisiert worden. Und in CoreElec gibt es kein /var/log/syslog

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • nein, kodi läuft weiter. Es drängelt sich bloß der vdr wieder ins Bild.

    Aber mit journalctl -f sehe ich jetzt genauer, was da abläuft, auch wenn ich es nicht verstehe

    das sind glaube ich die entscheidenden Stellen:


    Apr 30 13:43:30 CoreELEC vdr[3626]: [3626] externalplayer-plugin: PID of child process: 3709 executing "/usr/bin/killall looper"

    Apr 30 13:43:30 CoreELEC vdr.sh[3353]: /usr/local/bin/runvdr: line 89: 3626 Aborted /usr/local/bin/vdr


    Apr 30 13:43:30 CoreELEC vdr.sh[3353]: Sat Apr 30 13:43:30 CEST 2022 reloading DVB driver

    Apr 30 13:43:40 CoreELEC vdr.sh[3353]: Sat Apr 30 13:43:40 CEST 2022 restarting VDR


    Warum bricht das laufende runvdr-Script ab und vdr startet neu? Einen watchdog habe ich nicht aktiviert.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ich verstehe es bloß nicht. Das klappt auf der Konsole (ausgeführt außerhalb der chroot-Umgebung, wie es das softoggle-Script macht) einwandfrei:

    Code
    CoreELEC:~/UBUNTU # /storage/UBUNTU/vdr/svdrpsend.sh PLUG softhdodroid DETA
    220 CoreELEC SVDRP VideoDiskRecorder 2.6.0; Sat Apr 30 14:07:57 2022; UTF-8
    900 SoftHdDevice is detached
    221 CoreELEC closing connection

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • ich habe die von beta aus #30 unverändert übernommen

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • in #31 als erstes

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!