Installscript
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/record.conf
examples/vdr/lirc.conf
examples/vdr/lcd.conf
examples/vdr/shutdown.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, landet nach Auswahl in der plugin_setup.conf, siehe pluginsetup-plugin, das selbe für die Description.
## Description: Remote Plugin (Beschreibung) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Würde später im Menu des Plugins (pluginsetup) stehen, ansonnsten nur der <NAME> (Remote)
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 | | |----+ /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. | |
Dialog des Download Manager's. | |
Eine Ebene tiefer. | |
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 | |
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 pluginsetup plugin geändert werden. (Reihenfolge/on/off) | |
Logfiles befinden sich Standart in /var/log/vdr. |
Scripts
runvdr
shutdown.sh
rwrapper.sh
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 ibdate-manip-perl mailbox-plugin libc-client2001 libc-client2001-dev vdradmin libcompress-zlib-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 |