[HOWTO] Synology NAS mit Debian Chroot als Basis für EPGD

  • Nachfolgendes Thema kam hier auf und ich habe eine kleine Anleitung versprochen.

    Hier ist sie also, ohne Anspruch auf Vollständigkeit und Aktualität. ;-)


    Bitte beachten: das Paket Debian Chroot ist nicht für alle Architekturen der Synos erhältlich!


    Debian chroot auf der Syno installieren


    - ssh aktivieren:


    Control Panel -> Terminal & SNMP -> ‚enable ssh‘, Port ändern ‚2022‘



    - Syno Community zur Paketverwaltung hinzufügen


    Package Center -> Settings -> General -> Trust Level : ‚Synology Inc. and trusted publishers‘



    - Package Sources -> Add: Syno Community, http://packages.synocommunity.com/


    - Refresh

    - Rubrik Community auswählen und Python (nicht Python3!) installieren



    - Debian Chroot installieren



    - per ssh an der Syno anmelden:

    ssh -p 2022 admin@<SYNO>


    - root werden:

    sudo -i


    - Chroot Status prüfen:

    /var/packages/debian-chroot/scripts/start-stop-status status


    - Chroot starten:

    /var/packages/debian-chroot/scripts/start-stop-status start


    - ins Chroot wechseln:

    /var/packages/debian-chroot/scripts/start-stop-status chroot



    Grundkonfiguration der Chroot-Umgebung (Danke an HanG321, http://www.hang321.net/2014/08/16/debian-chroot-on-dsm/)


    - Paketquellen auf deutschen Debian Mirror umstellen:

    sed -i.`date +%Y%m%d` 's/fr.debian.org/de.debian.org/g' /etc/apt/sources.list

    - Paketcache aktualisieren und System auf den neuesten Stand bringen:

    apt-get update

    apt-get install aptitude

    aptitude update

    aptitude upgrade


    - locale und tzdata konfigurieren:

    aptitude install locales

    dpkg-reconfigure locales (de_DE@utf-8)

    dpkg-reconfigure tzdata (Europe/Berlin)


    - chroot am Prompt kenntlich machen:

    vi /etc/debian_chroot

    chroot


    Der Prompt sieht nach der Neuanmeldung dann so aus:

    (chroot)root@:~#


    - sshd konfigurieren:

    cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

    vi /etc/ssh/sshd_config

    Port 2122

    PermitRootLogin yes

    PasswordAuthentication yes


    Wer hier mehr Sicherheit möchte, kann auch den default lassen und ssh keys hinterlegen.


    - sshd neu starten:

    service ssh restart


    - Ab jetzt kann der sshd im Chroot direkt angesprochen werden:

    ssh -p 2122 root@<SYNO>


    - Grundausstattung im Chroot installieren (ganz nach Gusto…)

    aptitude install pciutils usbutils lsscsi mc screen htop


    - Basisumgebung zum Bauen von EPGD usw. vorbereiten

    aptitude install subversion git build-essential


    - MySQL Server installieren und starten

    aptitude install mysql-server

    service mysql start


    EPGD installieren


    - EPGD-Sourcen herunterladen

    mkdir ~/install; cd ~/install

    git clone https://projects.vdr-developer.org/git/vdr-epg-daemon.git/


    - EPGD-Plugin-Sourcen herunterladen

    cd ~/install/vdr-epg-daemon/PLUGINS

    mkdir tvm tvsp
    Sourcen der Plugins entsprechend herunterladen und in die Verzeichnisse packen :-)


    - Requirements für EPGD installieren

    Ist recht umfangreich, aber gut im README beschrieben, daher spare ich mir das hier 😊


    - Datenbank initial anlegen (laut README)

    mysql -u root -p

    CREATE DATABASE epg2vdr charset utf8;

    CREATE USER 'epg2vdr'@'%' IDENTIFIED BY 'epg';

    GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'%';

    GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'localhost' IDENTIFIED BY 'epg';

    FLUSH PRIVILEGES;

    EXIT;


    - EPGD samt Plugins bauen und Konfiguration vorbereiten

    cd ~/install/vdr-epg-daemon

    vi Make.config

    INIT_SYSTEM = none

    make

    make install

    cp contrib/epgd.init.d /etc/init.d/epgd

    cp contrib/epghttpd.init.d /etc/init.d/epghttpd

    mkdir /etc/epgd

    cp configs/* /etc/epgd/.

    cp PLUGINS/*/configs/*.x?l /etc/epgd/.


    - stored procedure für EPGD/MySQL bauen und installieren

    cd ~/install/vdr-epg-daemon/epglv

    make

    make install


    - Konfiguration des EPGD und der Plugins in /etc/epgd/epgd.conf vornehmen


    - /etc/epgd/channelmap.conf anlegen


    - Channellogos für EPGHTTPD unter /var/epgd/www/channellogos/ anlegen


    - Services starten

    service epgd start

    service epghttpd start


    - LOG der Syno kontrollieren: geht nicht im chroot, da hier kein syslog daemon läuft, also ssh auf die Syno und ein tail -f /var/log/messages starten


    Services beim Booten der Syno starten lassen


    Das Paket Debian Chroot kommt mit einem grafischen Tool, welches im Startmenü der Syno zu finden ist.

    Unter Services können hier die beim booten zu startenden Services entsprechend hinterlegt werden.

    Ich starte hier ssh, mysql, epgd und epghttpd:



    Einfach alle Services analog zum Screenshot für ssh anlegen.


    HTH!


    Cheers,

    Ole

    Images

    The post was edited 4 times, last by OleS ().