Die Installation per HowTo an sich sollte immer noch funktionieren, nicht nur für EPIA Boards. Hier und da pflege ich neue Erkenntnisse ein. (8. August 2009).
Hallo VDR Freunde,
habe einige Zeit mit dem Setup eines VDRs für einen Kumpel verbracht und einige Fallstricke umschiffen müssen. Evtl. helfen die Erfahrungen dem ein oder anderen von Euch. Selbstverständlich sind einige Punkte mit Hilfe des Portals gelöst worden, ich fasse sie hier einfach nochmal zusammen.
Austattung des Geräts:
- Silverstone LC02
- EPIA M10000, 1GHz Nehemia
- 512MB, 160GB Samsung HDD 7200rpm
- Hauppauge Nexus-S 2100
- mceusb & orig. Sender (nicht mceusb2)
- WLAN Netgear WG111v2
Ziele:
- "Debianisierte" Installation
- Bootsplash, d.h. booten fast ohne Meldungen
=> Problem: usplash und usplash-debian-theme hauen mit dem orig. Lenny-Kernel die Console(n) zusammen.
=> Mit der Kernel-Version "linux-image-2.6.28-etobi.3-xxx" aus Tobi und "linux-image-2.6.30-bpo.1-xxx" aus Backports treten die Probleme nicht mehr auf.
- Sensoren des Boards
- Bildausgabe über Grafikchip CLE266
- Live-Buffer
- Automatisches aufwachen
- vdradmin
Entscheidungen:
- Debian 5.0r2 (Lenny)
=> mit Kernel 2.6.30 aus Backports
- Ausgabe per Xineliboutput über X11, d.h. vdr-sxfe
- VDR aus e-Tobi Repository, wir müssen nicht selbst kompilieren sondern greifen auf gute Arbeit zurück
=> Ich verwende den Zweig etch/vdr-extensions, damit gibt es Live-Buffer
- Nvram-Wakeup / ACPI-Wakeup
- vdradmin-am
=> Ich mag's und man kann sehr schön "epgsearch" steuern.
Vorgehen:
1. Wir benötigen eine Installations-CD und ziehen uns die multiarch-Netinst-CD für die Lenny Veröffentlichung:
=> http://cdimage.debian.org/debi…-i386-powerpc-netinst.iso
2. Wir benötigen eine Internet-Zugang per Ethernet-Kabel
3. Rechner von CD booten, im boot-Menu: "Advanced Options" => "Graphical Expert Install"
4. Nun alle Fragen nach und nach besten Wissen und Gewissen beantworten:
=> Ohne Maus per Tab zwischen den Schaltflächen wählen
- Sprache: Deutsch
- Gebiet: Deutschland
- Sprache: de_DE@euro
- Als zusätzliche Sprachen: de_DE.UTF-8 & de_DE
- Tastur: PC Tastatur
- Tastaturbelegung: Deutsch
- CD-ROM erkennen und einbinden
- Alle vorgegebenen Module bestätigen (ist evtl. auch nur eines!)
- PC-Card Dienste nicht starten
- Installer-Komponenten von CD laden
- keine Auswählen und bestätigen
- Netzwerkhardware erkennen
- PC-Card Dienste immer noch nicht starten
- Netzwerk einrichten
- Netzwerk automatisch per DHCP einrichten
- Rechner- und Domainnamen vergeben
- Uhr einstellen
=> nicht per "ntp" einstellen lassen, das überlassen wir später VDR!
- Zeitzone Europa/Berlin
- Festplatte erkennen
- PC-Card Dienste immer noch nicht starten
- Festplatte partitionieren
=> Nach Bedarf, Größen können verändert werden
=> Empfehlung manuell:
=> Anlegen 2 Partitionen als JFS-Dateisystem (sehr bewährtes FS der Fa. IBM)
=> Alternativ 2 Partitionen als XFS-Dateisystem (ältestes Journaling FS der Fa. SGI), bootet aber nur mit Lilo in Debian.
=> Beide Dateisysteme stehen unter GNU/Public License!
=> 2GB als "/"
=> Rest als "/var/lib/video.00", mount point von Hand eingeben
- Keine SWAP Partition anlegen und entsprechende Nachfrage mit nein beantworten
=> Wir legen später eine SWAP Datei an, das reicht völlig aus.
- Grundsystem installieren
- Benutzer und Passwörter anlegen
=> Shadow Passwörter, Anmelden als root erlauben
=> Weiteren Benutzer vdr anlegen
- Kernel-Auswahl: 2.6.26-2-686
- Den Paketmanager konfigurieren
- Spiegelserver für das Debian Archiv wählen
=> Ich bevorzuge http, Deutschland und den Server ftp2.de.debian.org
=> Wenn nötig, Proxy in der Form: http://mein.proxy:8080 eingeben
=> "non free" verwenden
=> Sicherheitsaktualisierung verwenden
- Software auswählen und installieren
=> Ich nehme an der Paketerfassung teil
=> Nur Standardsystem installieren, sonst nichts!
- GRUB-Bootloader auf einer Festplatte installieren
=> Wenn "/boot" XFS ist, LILO-Bootloader installieren
=> Ist kein Problem, ich finde manche Sachen sind damit auch einfacher ....
=> Master Boot Record der Platte wählen
- Installation beenden
- CD rausnehmen und neu starten
5. Customizing
- Nachdem reboot erstmal den Eingabeprompt nach Wünschen anpassen
- Login als root
- vi .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
export PS1="$(hostname)-$(id -un):"\$PWD"> "
umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias bdf='df -k'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Alles anzeigen
- Jetzt ändern wir erstmal die Ethernet-Schnittstelle auf eth0
- vi /etc/udev/rules.d/z25-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.
# PCI device 0x1106:0x3065 (via-rhine)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:40:63:d3:98:87", NAME="eth0"
# Firewire device 0040635000007afb (ohci1394)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:40:63:50:00:00:7a:fb", NAME="eth1"
Alles anzeigen
- Nicht vergessen das Netzwerk anzupassen, vi /etc/network/interfaces
- Dann legen wir einen Swap an
#> mkdir /var/lib/video.00/swap
#> dd if=/dev/zero of=/var/lib/video.00/swap/swapfile bs=1M count=512
#> chmod 0600 /var/lib/video.00/swap/swapfile
#> mkswap /var/lib/video.00/swap/swapfile
#> swapon /var/lib/video.00/swap/swapfile
#> vi /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda1 / xfs defaults 0 1
/dev/hda5 /var/lib/video.00 xfs defaults 0 2
/var/lib/video.00/swap/swapfile swap swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Alles anzeigen
- reboot
- Nach dem reboot ändern wir die Installationsquellen
- vi /etc/apt/sources.list
#
deb http://ftp2.de.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp2.de.debian.org/debian/ lenny main non-free contrib
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb http://www.debian-multimedia.org lenny main
deb-src http://www.debian-multimedia.org lenny main
deb http://e-tobi.net/vdpau-test lenny base
deb http://e-tobi.net/vdrdevel-experimental lenny vdr-multipatch
deb-src http://e-tobi.net/vdrdevel-experimental lenny vdr-multipatch
deb http://e-tobi.net/vdr-experimental lenny base backports addons vdr-multipatch
deb-src http://e-tobi.net/vdr-experimental lenny base backports addons vdr-multipatch
Alles anzeigen
- Und ändern das apt Pinning, vi /etc/apt/preferences
Package: *
Pin: release a=testing
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
Package: *
Pin: origin e-tobi.net
Pin-Priority: 1001
Package: xineliboutput-sxfe xineliboutput-fbfe libxine1-xvdr
Pin: release a=testing
Pin-Priority: 1002
Alles anzeigen
- Installieren alle fehlenden keyring Pakete und/oder fügen fehlende Repository Trust-Keys manuell hinzu
- Oder kopieren von einer anderen Debian Maschine /etc/apt/trust*
#> aptitude update
#> apt-cache search keyring
#> aptitude install e-tobi-keyring debian-multimedia-keyring debian-backports-keyring
#> apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 08_PLATZHALTER_15
oder
#/> apt-key adv --keyserver keyring.debian.org --recv-keys 08_PLATZHALTER_15
- Installieren einiges an Software (s. Liste im Anhang)
#> aptitude update
#> aptitude dist-upgrade
#> aptitude install linux-image-2.6.30-bpo.1-686 kernel-package fakeroot libc6-dev gcc make libncurses5-dev module-assistant mc w32codecs lirc-modules-source powernowd firmware-linux debianutils debian-goodies deborphan dmidecode
#> m-a prepare
- Anpassen der Datei /etc/lirc/lirc-modules-source
# lirc-modules-source config file used by Debian GNU/Linux
# Space separated list of lirc kernel drivers to build
LIRC_MODULES="i2c, mceusb, mceusb2"
# It87 module configuration
LIRC_IT87_CFLAGS="UNCONFIGURED"
# Parallel module configuration
LIRC_PARALLEL_PORT="UNCONFIGURED"
LIRC_PARALLEL_IRQ="UNCONFIGURED"
LIRC_PARALLEL_TIMER="UNCONFIGURED"
# Serial module configuration
LIRC_SERIAL_PORT="UNCONFIGURED"
LIRC_SERIAL_IRQ="UNCONFIGURED"
LIRC_SERIAL_CFLAGS="UNCONFIGURED"
# Sir module configuration
LIRC_SIR_PORT="UNCONFIGURED"
LIRC_SIR_IRQ="UNCONFIGURED"
LIRC_SIR_CFLAGS="UNCONFIGURED"
Alles anzeigen
- Nun die benötigten ndiswrapper und lirc Module bauen
#> m-a a-i ndiswrapper lirc
#> aptitude install lirc wpasupplicant usplash usplash-theme-debian
- Nun einige Dateien anpassen
- /boot/grub/menu.lst (=> "defoptions=" & hiddenmenu), danach "update-grub" nicht vergessen
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-legacy-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 3
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu
# Pretty colours
color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/hda1 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=vga=791 quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(single-user) single
# altoptions=(single-user mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.28-etobi.3-amd64
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-etobi.3-amd64 root=/dev/hda1 ro vga=791 quiet splash
initrd /boot/initrd.img-2.6.28-etobi.3-amd64
title Debian GNU/Linux, kernel 2.6.28-etobi.3-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-etobi.3-amd64 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.28-etobi.3-amd64
title Debian GNU/Linux, kernel 2.6.26-2-amd64
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/hda1 ro vga=791 quiet splash
initrd /boot/initrd.img-2.6.26-2-amd64
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.26-2-amd64
### END DEBIAN AUTOMAGIC KERNELS LIST
Alles anzeigen
- /etc/lirc/hardware
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/lirc0"
MODULES="lirc_mceusb"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Alles anzeigen
- /etc/lirc/lircd.conf
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0(userspace) on Sat Nov 3 22:28:23 2007
#
# contributed by
#
# brand: mceusb2.conf
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name mceusb
bits 16
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2667 889
one 444 444
zero 444 444
pre_data_bits 21
pre_data 0x37FF0
gap 105000
toggle_bit 22
rc6_mask 0x100000000
begin codes
# Blue 0x00007ba1
# Yellow 0x00007ba2
# Green 0x00007ba3
# Red 0x00007ba4
Videotext 0x00007ba5
# starts at af
Radio 0x00007baf
Print 0x00007bb1
Red 0x00007bb5
Blue 0x00007bb6
RecTV 0x00007bb7
Green 0x00007bb8
Yellow 0x00007bb9
# no ba - d8
Recordings 0x00007bb7
EPG 0x00007bd9
LiveTV 0x00007bda
DVDMenu 0x00007bdb
Back 0x00007bdc
Ok 0x00007bdd
Right 0x00007bde
Left 0x00007bdf
Down 0x00007be0
Up 0x00007be1
Star 0x00007be2
Hash 0x00007be3
Prev 0x00007be4
Next 0x00007be5
Stop 0x00007be6
Pause 0x00007be7
Record 0x00007be8
Play 0x00007be9
FastRew 0x00007bea
FastFwd 0x00007beb
Channel- 0x00007bec
Channel+ 0x00007bed
Volume- 0x00007bee
Volume+ 0x00007bef
Info 0x00007bf0
Mute 0x00007bf1
Menu 0x00007bf2
Power 0x00007bf3
Enter 0x00007bf4
Delete 0x00007bf5
9 0x00007bf6
8 0x00007bf7
7 0x00007bf8
6 0x00007bf9
5 0x00007bfa
4 0x00007bfb
3 0x00007bfc
2 0x00007bfd
1 0x00007bfe
0 0x00007bff
end codes
end remote
Alles anzeigen
- Den Treiber für die WLAN Karte mit ndiswrapper installieren
- /etc/network/interfaces um einen Sektion erweitern
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid DEINE-SSID
wpa-psk DEIN-PSK
wpa_key-mgmt WPA-PSK
wpa-conf managed
wpa-ap-scan 2
wpa-scan-ssid 1
dns-nameservers 192.168.69.1
dns-search DEINE-DOMAIN.de
Alles anzeigen
- /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
loop
sbp2
longhaul
cpufreq_userspace
via
agpgart
ndiswrapper
nvram
# Generated by sensors-detect
# Chip drivers
vt1211
Alles anzeigen
- /etc/usplash.conf, danach "update-initramfs -k all -u"
- Wenn benötigt, der reboot-kernel vom nvram-wakeup Projekt (nur mit Lilo, lilo.conf im Anhang!)
#> wget http://heanet.dl.sourceforge.net/sourceforge/nvram-wakeup/reboot-2004.10.03.tar.bz2
#> tar jxvf reboot-2004.10.03.tar.bz2 -C /tmp
#> cp /tmp/bzImage.2.4.20.poweroff /boot/bzImage.2.4.20.poweroff
#> ln -s /boot/bzImage.2.4.20.poweroff /bzImage.poweroff
#> lilo
- Nun installieren wir den xorg & vdr
#> aptitude install xorg xterm vdr vdr-plugin-xineliboutput vdr-plugin-sysinfo xineliboutput-sxfe vdr-addon-noad vdr-burnbackgrounds vdr-enigmang-icons vdr-genindex vdr-xpmlogos vdradmin-am nvram-wakeup
#> aptitude clean
- Und passen ein paar Dateien an
- /etc/X11/xorg.conf => siehe Anhang nächster Post(!)
- /var/lib/vdr/remote.conf => ditto => Extra Tasten für Life-Buffer, Play, Pause etc.
- Anschalten des vdradmin-am per /etc/default/vdradmin-am
- /etc/vdr/vdr-nvram-wakeup.conf
#
# Configuration file for the VDR nvram-wakeup shutdown hook
#
# This is NOT the nvram-wakeup configuration file, which you can find in
# /etc/nvram-wakeup.conf and which must be set in COMMANDLINE (see below),
# if your mainboard ins not detected automatically.
#
# Set to "yes" to enable nvram-wakeup for VDR
#
ENABLED="yes"
# Here you can specify additional command line parameters, that will be passed
# to nvram-wakeup.
#
# i.e.:
# COMMANDLINE="-I ecs_k7s5au" # mainboard of type K7S5au
# COMMANDLINE="-C /etc/nvram-wakeup.conf" # use config file
#
# see "man nvram-wakeup"
#
COMMANDLINE=""
# If your mainboard needs to reboot before shutting down, set the command(s) to
# do this here. i.e.:
#
# SPECIALSHUTDOWN="lilo -R PowerOff ; shutdown -r now"
#
# SPECIALSHUTDOWN="/usr/lib/vdr/vdr-reboot.sh"
SPECIALSHUTDOWN="lilo -r / -R PowerOff ; shutdown -r now"
# To force a reboot whenever nvram-wakeup sets the time, independently of
# whether a reboot is required, enable this option.
#
FORCE_REBOOT="yes"
#
# If you want your VDR machine to wakeup in regular intervals (i.e. for
# updating EPG data), specify a day interval and a wakeup time:
#
REGULAR_DAYS=1 # 0=disabled, 1=each day, 2=each 2'nd day, 3=...
REGULAR_TIME=06:00 # HH:MM
Alles anzeigen
- Anpassen /etc/vdr/plugins/plugin-xineliboutput.conf
#
# Command line parameters for vdr-plugin-xineliboutput
#
# For more details see:
# - /usr/share/doc/vdr-plugin-xineliboutput/README.Debian
# - `vdr --help -Pxineliboutput`
# - /usr/share/doc/vdr-plugin-xineliboutput/README
#
--remote=37890
--primary
--local=none
--video=none
--audio=none
Alles anzeigen
- Anlegen der Datei /usr/lib/vdr/vdr-start-sxfe.sh, danach chmod +x /usr/lib/vdr/vdr-start-sxfe.sh
#!/bin/sh
/usr/bin/vdr-sxfe --audio=alsa --video=xxmc --aspect=16:9 --fullscreen --syslog --verbose --reconnect xvdr+tcp://127.0.0.1:37890
- Erst wenn der Xserver getestet ist und läuft passen wir die Datei /etc/inittab an
So ich hoffe ich habe jetzt alles. Wenn nicht kommt auf mich zu, ich passe es dann an.
[EDIT]
Alternative Modline von reini1305 für 50Hz Bildwiederholfrequenz:
[/EDIT]
Viel Erfolg
hummingbird_de