Installscript

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Was ist das Installscript?

Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.

Bilder

Voraussetzungen

  • Entwicklungsumgebung

Anleitung

Vorab

  • Linux-Grundwissen erforderlich.
  • Man sollte schon das eine und auch andere mal einen VDR von Hand kompiliert haben.
  • In Deutsch?

Normal werden die lokalen (locale) Einstellungen uebernommen.

Sprich ist die Konsole in Deutsch (LC_MESSAGES="de_DE@euro"), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.

Einfach, vorm ausfuehren der Scripts.

bash> export LANG=de_DE@euro

Alternativ.

bash> LANG=de_DE@euro sh setup.sh
bash> LANG=de_DE@euro sh vdr-install-script-current.run

Skripte anpassen

Entpacken.

bash> sh vdr-install-script-current.run --noexec --target /tmp/VDRtmp
bash> cd /tmp/VDRtmp/setup

Folgende Konfigurationsdateien sollte man sich an seine Bedürfnisse anpassen (Beschreibungen befinden sich unter den Links...).

config/setup.conf
config/commands.conf
config/reccmds.conf
config/make.conf
config/kernel.conf
config/configure.conf
config/marks2pts.conf
config/keymacros.conf
config/timercmds.conf
examples/plugins/mailbox/accounts.conf
examples/vdr/lirc.conf
examples/vdr/lcd.conf
examples/vdr/vdr.conf

In ../config/plugins befinden sich die Einstellungen der Plugins, als bsp das remote-plugin. ../config/plugins/remote.conf

## Description:
#
## Command line options:
#
# -i dev,   --input=dev   select device which supports the /dev/input protocol
# -l dev,   --lirc=dev    select LIRC device
# -t dev,   --tty=dev     select terminal device
# -T dev,   --TTY=dev     select terminal device with 'OSD'
# -p tcp:n  --port=tcp:n  select connection on tcp port <n>
#
## Examples:
#
# -i autodetect
#     Try to autodetect device '/dev/input/eventX' (X = 0,1,2,...).
#     If no device can be identified, '-i /dev/input/event0' is used.
#
# -i /dev/input/event2
#     use specified input device '/dev/input/event2'
#
# -l /dev/lircd
#     select LIRC remote control
#
# -p tcp:3333
#     wait for a telnet connection on tcp port 3333
#     (use 'telnet vdr 3333' to access this port)
#
# -t /dev/tty10
#     use terminal device without 'OSD'
#
# -T /dev/tty10
#     use terminal device with 'OSD'
#
# -i autodetect -p tcp:3333 -t /dev/tty10
#     use multiple devices
#
##

-i autodetect

Optionen werden mit einen ^- eingeleitet.

Weiter.

bash> mcedit config/setup.conf

Die meisten Optionen können unabhängig von der setup.conf auf der Komandozeile übergeben werden:

bash> LANG="de_DE@euro" ./setup.sh --help
bash> LANG="de_DE@euro" sh vdr-install-script-current.run -- --help

Struktur

Verzeichnis für die Konfiguration, ist von nun an /usr/local/etc (Standart), es sei denn es wurde anders Definiert.

--prefix=DIR [ /usr/local ]

../src befindet sich eine ebene tiefer, vom $INSTALLPREFIX (somit $INSTALLPREFIX/src).

Das ganze schaut in etwa wie folgt aus.

.
|----+ /var/log/vdr
|----+ /usr/local (--prefix=$INSTALLPREFIX)
|    |----+ /src
|    |    |----+ /VDR
|    |    |----+ /DVB
|    |----+ /stow
|    |    |----+ /package/bin
|    |    |----+ /package/lib
|    |    |----+ /package/doc
|    |    |----+ [...]
|    |----+ /cache
|    |    |----+ /cddb
|    |    |----+ /gameboy
|    |    |----+ /infosatepg
|    |    |----+ /mp3
|    |    |----+ /mldonkey
|    |    |----+ /tvmovie2vdr
|    |    |    |----+ /epgimages
|    |    |    |----+ /downloadfiles
|    |    |    |----+ /downloadupdatefiles
|    |----+ /etc
|    |    |----+ /commands
|    |    |    |----+ SHAREMARKS-reccmds-<NUM>.conf
|    |    |    |----+ TVMOVIE2VDR-commands-<NUM>.conf
|    |    |    |----+ [...]
|    |    |----+ /graphlcd
|    |    |    |----+ graphlcd.conf
|    |    |----+ /lcdproc
|    |    |    |----+ LCDd.conf
|    |    |----+ /lirc
|    |    |    |----+ lircd.conf
|    |    |    |----+ lircrc
|    |    |----+ /mplayer
|    |    |    |----+ codecs.conf
|    |    |    |----+ [...]
|    |    |----+ /mplayer.sh
|    |    |    |----+ lircrc.conf
|    |    |    |----+ mplayer.sh.conf
|    |    |----+ /nvram-wakeup
|    |    |    |----+ nvram-wakeup.conf
|    |    |----+ /sharemarks
|    |    |    |----+ marks2pts.conf
|    |    |----+ /tvmovie2vdr
|    |    |    |----+ channels.pl
|    |    |    |----+ channels_wanted.pl
|    |    |    |----+ config.pl
|    |    |    |----+ [...]
|    |    |----+ /vdradmin
|    |    |    |----+ vdradmind.at
|    |    |    |----+ vdradmind.bl
|    |    |    |----+ vdradmind.conf
|    |    |    |----+ vdradmind.done
|    |    |----+ /vdrrip
|    |    |    |----+ queuehandler.conf
|    |    |----+ /wget
|    |    |    |----+ wgetrc
|    |    |----+ /xxv
|    |    |    |----+ xxvd.cfg

Sicherung

Damit Einstellungen bei "updates" nicht verloren gehen, sichern Sie das ganze:

bash> ./setup.sh

Über folgenden Menüpunkt:

<-> - Configuration
    | - Load an Alternate Configuration File --->
    | - Save Configuration to an Alternate File --->
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Im folge Dialog /media/floppy/.config (ca 80Kb), einspielen über:

<-> - Configuration
    | - Load an Alternate Configuration File --->
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Andere Möglichkeit, packen der kompletten Scripts:

bash> ./setup.sh --buildrunpackage
      Label (default "vdr-install-script-<VERSION>.run"):

Gesichert wird, was in ../setup/SAFE definiert wurde.

#
# FILE(s) only txt files!
#
../setup/config/add.conf
#
# DIRECTORY(ies) maxdepth 1, only txt files!
#
../setup/config/plugins

Wer möchte kann auch Files "außerhalb" der Scripts sichern, einfach eintragen.

#
# FILE(s) only txt files!
#
/etc/lircrc.conf

Installations-Protokoll

Einiege Dialoge sind nicht mehr ganz aktuell, ab und zu ändert sich doch mal etwas.

Startmenu. Der Punkt Select software to uninstall ---> ist obsolete, zum deinstallieren einfach Packages im Software Manager makieren, ueber Key <N> oder <M> kann gelöscht werden. Postinstallation wird ebenfalls entfernt (dselect). Für Patches gilt das selbe, --reverse ueber <N> oder <M>, man kann somit Patches die auf VDR angewendet wurden, jederzeit Rückgängig machen.
Datei:Installscript-2.png
Download Manager
Dialog des Download Manager's.
Datei:Installscript-3.png
DL Manager Sub 1
Eine Ebene tiefer.
Datei:Installscript-4.png
DL Manager Sub 2
Hier stellt man sich letztendlich die Sourcen zusammen. <E> getestet, existiert, <*> getestet, lokal nicht gefunden, <R> recursiv (all) alles was man sieht, wird geladen.
Status der Download's.
Startmenu => Software Manager
Datei:Installscript-7.png
Software Manager
Auswahl der Packages.
Hier erfolgt die Auswahl der Sourcen (Versionsunabhängig), man sollte in etwa wissen was zusammenpasst!
Eintrag für /etc/inittab
Auswahl der channels.conf
Software Manager => Patches
Im Grunde genommen kann man alle Patches die verfügbar sind anwenden. Einfach in den entsprechenden Ordner ../packages/vdr/patches packen. (vorrausgesetzt --dry-run passt)
So sollte ein Patchlog ausschauen, ansonnsten Patch <NAME> not applied / nicht angewendet...
Mainmenu => Plugins Manager
Optionen gibt es 3 <I> installieren, <U> ersetzen, <D> löschen. Manchmal muß VDR für einiege Plugins gepatcht werden, sollte im plugins.log ersichtlich sein, für --reverese eines Patches, das entsprechende Plugin deinstallieren <D>. (<U> != <D>)
Zeigt zusätzliche Optionen zum übersetzen der Plugins an. (siehe make.conf)
Mainmenu => Compiling
Auswahl der DVB Driver.
Zeigt die auszuführende Postinstallation.
Auswahl der Optionen.
Hier können die Optionen zum übersetzen von VDR geändert werden.
Zeigt an was übersetzt worden ist.
Mainmenu => pluginsetup
Dialog zum aktivieren der Plugins, kann später über das admin-plugin geändert werden. (Reihenfolge/on/off)
Logfiles befinden sich Standart in /var/log/vdr.

Module

Alles unterhalb von ../add kann nachgerüstet werden.

Module im Ordner ../untestet sind anzupassen!

  • Ein Modul setzt Kernel 2.6.* vorraus (actuator.cmd)
  • Einiege sind nicht über den Beta Status hinaus gekommen. (am besten selbst testen)
  • Bei anderen fehlen Links.

Stow(ES)

GNU stow hilft die Dateien unter /usr/local zu organisieren, indem jede Software in ihrem eigenen Verzeichnis-Baum unter /usr/local/stow installiert wird und dann durch die Benutzung von symbolischen Links die Illusion erzeugt wird, das alle Software an der gleichen Stelle installiert sei.

Hier mal die wichtigsten Befehle.

  • help
bash> /usr/local/stow/stowES help --prog stow=/usr/local/stow/stow
  • (c)heck(s)tow / überprüfe
bash> /usr/local/stow/stowES cs --prog stow=/usr/local/stow/stow
Checking packages in /usr/local/stow (78 matches):
I (  772.5) DFB++-0.9.20
I (  1,385) DirectFB-0.9.20
I (19223.5) ImageMagick-6.0.2
I ( 10,085) MPlayer-1.0pre4
....
  • (c)heck(i)n / linkout
bash> /usr/local/stow/stowES ci MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
Calling "stow" to check in package MPlayer-1.0pre4 ...done.
Calling ldconfig
  • (c)eck(o)ut / linkin
bash> /usr/local/stow/stowES co MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
Calling ldconfig.
  • (r)e(m)ove / löschen
bash> /usr/local/stow/stowES rm MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
Calling "rm -rf" to remove package MPlayer-1.0pre4 ...done.
Calling ldconfig.
  • exchange / wechsel
bash> /usr/local/stow/stowES exchange MPlayer-1.0pre4 MPlayer-1.0pre5 --prog stow=/usr/local/stow/stow
Calling "stow -D" to check out package MPlayer-1.0pre4 ...done.
Calling "stow" to check in package MPlayer-1.0pre5 ...done.
Calling ldconfig.


Tipps

Mehrere Versionen

Mehrere Versionen von VDR nebenher installieren, einfach --prefix und --disdir, ändern.

bash> ./setup.sh --prefix=/usr/local/src/testumgebung --disdir=/usr/local/src/testumgebung/src/VDRtmp
                   ^^^^^^                               ^^^^^^
                   entpricht sonnst /usr/local          entpricht sonnst /usr/local/src/VDRtmp

Dann.

bash> cd /usr/local/src/testumgebung/bin
bash> ./runvdr start


Packages statt Sourcen

bash> cd ../setup
bash> ./add-apt.sh
bash> ./add-emerge.sh
bash> ./add-rpm.sh

Dann.

bash> ./setup.sh --enable-packages

Nun kann per apt-get / emerge / rpm installiert werden, vorrausgesetzt es sind Packages verfügbar, und diese wurde eingetragen.

Debian 2.6.11 Howto

Einführung

Debian Installation nach Debian mit 2.6.9er / 2.6.10er Kernel für VDR aufsetzen.

/etc/apt/sources.list

bash> nano /etc/apt/sources.list

# unstable tree
deb http://ftp.de.debian.org/debian/ unstable main
deb-src http://ftp.de.debian.org/debian/ unstable main
deb http://security.debian.org/ stable/updates main
deb http://non-us.debian.org/debian-non-US unstable/non-US main
# testing / stable
deb http://ftp.de.debian.org/debian/ testing main
deb-src http://ftp.de.debian.org/debian/ testing main
deb http://security.debian.org/ testing/updates main
deb http://non-us.debian.org/debian-non-US testing/non-US main
deb ftp://ftp.debian.org/debian testing main contrib non-free
deb ftp://ftp.debian.org/debian stable main contrib non-free
# matroska
deb http://www.bunkus.org/debian/unstable/ ./
deb-src http://www.bunkus.org/debian/unstable/ ./
# marillat
deb ftp://ftp.nerim.net/debian-marillat/ testing main

/etc/apt/apt.conf

bash> nano /etc/apt/apt.conf

APT::Default-Release "testing";

apt-get update

bash> apt-get update
bash> apt-get install debhelper kernel-package sudo rcconf cvs \
      wget lynx mc dialog bzip2 unzip unrar automake kernel-package hdparm \
      samba libtool libncurses5 libncurses5-dev hotplug hotplug-utils

exim + ppp deaktivieren

bash> rcconf

image / source laden

bash> apt-get install kernel-image-2.6.11-1-686-smp kernel-source-2.6.11

source entpacken

bash> cd /usr/src
bash> tar xjvf kernel-source-2.6.11.tar.bz2
bash> ln -s kernel-source-2.6.11 linux

konfigurieren / compilieren

bash> cd /usr/src/linux
bash> make menuconfig
bash> make
bash> make modules_install
bash> cp vmlinux /boot/vdr-2.6.11-1
bash> cp System.map /boot/System.map-vdr-2.6.11-1
bash> cp .config /boot/config-vdr-2.6.11-1
bash> cd /lib/modules/2.6.11-1-686-smp
bash> ln -s /usr/src/kernel-source-2.6.11 build

link löschen

bash> rm -rf /usr/local/man

script ausführen

bash> cd /usr/local/src
bash> wget ftp://ftp.cadsoft.de/vdr/Tools/vdr-install-script-current.run
bash> chmod +x vdr-install-script-current.run
bash> sh vdr-install-script-current.run
bash> cd VDRtmp/setup
bash> ./add-apt.sh
bash> ./setup.sh --enable-packages
tvmovie2vdr
   libdate-manip-perl
mailbox-plugin
   libc-client2001 libc-client2001-dev
vdradmin
   libcompress-zlib-perl
clipinc
   libwww-perl

Links

[1] ftp://ftp.cadsoft.de/vdr/Tools Cadsoft Ftp
[2] http://linvdr.org/download/vdr/Tools Download Spiegel
[3] http://savannah.gnu.org/projects/stow GNU Stow Projekt Homepage
[4] http://www.inf.tu-dresden.de/~al10/stowES Erweiterung für Stow
[5] http://linuxwiki.de/Stow Stow Wiki
[6] http://vdrportal.de/board/thread.php?threadid=27246 Diskussion im VDRportal