DockstarDebianSqueeze
Der Artikel beschreibt die Installation eines debian Betriebssystems in der Version: squeeze auf einem seagate Dockstar.
Debian Squeeze installieren
Internet abklemmen
Ganz wichtig: Am Router die Verbindung zum Internet trennen (am besten manuell, d.h. Kabel zum Splitter/Telefon-/Kabelnetz ziehen). Die Dockstar ist werksseitig so eingestellt, dass sie sich online mit dem Pogoplug-Dienst verbindet und von da an für unsere Zwecke nicht mehr ohne weiteres zu erreichen ist.
IP herausfinden
Korrektur, Original unten.
Das Wesentliche vorab:
Wichtig ist einzig, das keine Internetverbindung besteht, bis der Dienst hbwd beendet ist.
DHCP darf im Netz weiterhin aktiv sein und die Dockstar darf direkt an den Router oder Switch angeschlossen werden. Viele Router bieten eine Übersicht, welche Clients per DHCP konfiguriert wurden. Das erleichtert ggf. das Auffinden der Dockstar.
Die Dockstar direkt mit einem PC verbinden OHNE DHCP!
Ganz einfach per
host $ ifconfig eth0 169.254.1.0 host $ nmap -e eth0 -sP $(printf "169.254.%d.%d" 0xbe 0xef)
wobei 0xbe 0xef die letzten beiden stellen der MAC (siehe Aufkleber Gehaeuseunterseite) sind.
Alternativ das ganze Subnetz scannen:
host $ nmap -e eth0 -sP 169.254.1.0/24
Login
Auf der Dockstar mittels SSH einloggen.
$ ssh root@169.254.x.y User: root Password:stxadmin
Sollte die Dockstar nicht per SSH erreichbar sein, kann man Telnet versuchen oder man muss mittels RS232 eine Verbindung aufbauen.
Firmware sichern
Einen formatierten USB-Stick einstecken. Dieser wird unter /tmp/.cemnt gemountet. Falls nicht, muss man den Stick manuell mounten, also z.B. ein Verzeichnis /tmp/bak anlegen, dorthin mounten und die erste Zeile im folgenden Script anpassen.
dockstar $ cd /tmp/.cemnt/mnt_sda1 dockstar $ dd if=/dev/mtd0 of=mtd0.img dockstar $ sha1sum mtd0.img > mtd0.img.sha dockstar $ dd if=/dev/mtd1 of=mtd1.img dockstar $ sha1sum mtd1.img > mtd1.img.sha dockstar $ dd if=/dev/mtd2 of=mtd2.img dockstar $ sha1sum mtd2.img > mtd2.img.sha dockstar $ dd if=/dev/mtd3 of=mtd3.img dockstar $ sha1sum mtd3.img > mtd3.img.sha dockstar $ cd /tmp dockstar $ sync
obiges bitte dringend überarbeiten:
Quelle: http://jeff.doozan.com/debian/uboot/build_uboot.htm
"Backup /dev/mtd0
To create an image of mtd0, you need to dump the nand without ecc. using "dd if=/dev/mtd0 of=mtd0.DOESNOTWORK" will automatically do ecc for you and will result in a corrupt image. To successfully dump the nand, you need to do the following:
cd /tmp wget http://jeff.doozan.com/debian/uboot/nanddump chmod +x nanddump ./nanddump -nof mtd0.backup /dev/mtd0 ./nanddump -nf mtd0.backup.oob ./nanddump -nof uboot-original -s 0 -l 0x80000 /dev/mtd0"
dazu eine Korrektur: "./nanddump -nf mtd0.backup.oob" sollte wohl "./nanddump -nf mtd0.backup.oob /dev/mtd0" heißen, sonst erhält man eine Fehlermeldung
Verwendbar für das Zurückschreiben ist auf folgende Weise zb. die mtd1.backup
flash_eraseall /dev/mtd1 nandwrite /dev/mtd1 mtd1.backup
(selbst soeben erfolgreich getestet mit _neuer_ Dockstar, deren Kernel-Image auf mtd1 einen crc-Fehler aufwies, Backup wurde auf anderer Dockstar erstellt)
Das Schreiben eines mit nanddump -nf erstelltes Images wurde von nandwrite wegen falscher Größe abgelehnt.
ein vollständiges Backup sollte also eher mit
nanddump -nof mtd0.backup /dev/mtd0 nanddump -nof mtd1.backup /dev/mtd1 nanddump -nof mtd2.backup /dev/mtd2 nanddump -nof mtd3.backup /dev/mtd3
erstellt werden.
"Heimtelefonieren" abstellen
Zum "Heimtelefonieren" zum PogoPlug-Service benutzt die Dockstar von Haus aus den Dienst hbwd. Der muss beendet und aus dem Startskript entfernt werden:
killall hbwd mount -o remount,rw / chmod go+w /dev/null vi /etc/init.d/rcS
Jetzt befinden wir uns im Editor-Urgestein VI. Mit den Pfeiltasten bis zu folgender Zeile herunterscrollen: "/etc/init.d/hbmgr.sh start". Mit "i" in den Editiermodus gehen und an den Zeilenanfang "#" (ohne Anführungszeichen) einfügen. Mit ESC den Editiermodus verlassen. Editor beenden mit ":wq!" und RETURN-Taste. Anschließend Dateisystem auf Nur-Lesen setzen:
mount -o remount,ro /
Internet wieder anstellen
Der erste Teil der Operation ist überstanden. Der Router muss jetzt wieder ans Internet, damit wir die Zutaten für das neue Softwareherz der Dockstar holen können.
Debian installieren
Es gibt verschiedene Wege ein Debian zu installieren:
- mit Installer von Jeff Doozan (macht im Grunde ein debootstrap)
- manuelles debootstrap
- vorgefertigtes rootfs archiv nutzten
Die ersten beiden Varianten dauern wesentlich länger als ein fertiges rootfs archiv zu nehmen.
mit Installer von Jeff Doozan
Wir benutzen den automatischen Installer von Jeff Doozan für Debian Squeeze, der das neue Betriebssystem auf den USB-Stick schreiben soll.
Daher erst mal einen USB-Stick formatieren, hier sdx (also sda oder sdb, je nachdem, wieviel USB-Geräte eingesteckt sind)
host $ fdisk /dev/sdx
Partition 1, primaer, Typ Linux, min. 280MB, Typisch 512MB
Partition 2, primaer, Typ Swap, ~100-500MB (je groesser, desto besser fuer das Wear Leveling des Sticks)
host $ mkfs.ext2 /dev/sdx1
host $ mkswap /dev/sdx2
dann das Skript von jeff.doozan.com ausfuehren.
dockstar $ cd /tmp
dockstar $ wget http://jeff.doozan.com/debian/dockstar.debian-squeeze.sh
dockstar $ chmod +x dockstar.debian-squeeze.sh
dockstar $ export PATH=$PATH:/usr/sbin:/sbin
dockstar $ ./dockstar.debian-squeeze.sh
<note>
Dauert ein wenig 8-).
</note>
Die Dockstar startet nun neu.
Manuelle Installation
Dieses Vorgehen benötigt den Zugriff auf die serielle Schnittstelle der Dockstar
- Zunächst muss der Bootloader in mtd0 aktualisiert werden, um später von einem USB-Medium booten zu können. Hierfür kann der Bootloader und das Skript von Jeff Doozan verwendet werden. Das Vorgehen ist unter http://jeff.doozan.com/debian/uboot/ beschrieben, alternativ finden sich unter http://jeff.doozan.com/debian/uboot/build_uboot.htm auch Informationen um den Bootloader uBoot neu zu übersetzen sowie weiteres Hintergrundwissen.
- Nach dem Update des Bootloaders kann Debian (armel) unter Verwendung des normalen Debian-Installers für diese Architektur installiert werden. Eine entsprechende Anleitung findet sich unter http://www.plugcomputer.org/plugwiki/index.php/Installing_Debian_To_Flash . Die Installation des Bootloader entfällt natürlich. Folgende Anpassungen waren für meine Installation notwendig:
- Schritt 'Burn a New Kernel' übersprungen.
- Schritt 'Run the Debian Installer' angepasst (beim Laden des uImage an Speicheradresse 0x0400000 kam es reproduzierbar zu einem Absturz):
setenv ipaddr 169.254.1.1 setenv serverip 169.254.78.185 tftpboot 0x2000000 uImage tftpboot 0x0800000 uInitrd setenv bootargs console=ttyS0,115200 base-installer/initramfs-tools/driver-policy=most bootm 0x2000000 0x0800000
- Nach dem Reboot fehlt der Kernel zum Booten, abhilfe schafft der Download eines fertig kompilierten Kernels von http://sheeva.with-linux.com/sheeva/ . Es wird nur das uImage benötigt. Im Uboot genügt folgende Anweisung im Uboot um in die neue Installation zu booten:
setenv ipaddr 169.254.1.1 setenv serverip 169.254.78.185 tftpboot 0x0800000 uImage setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootwait rw bootm 0x0800000
- Jetzt muss der Kernel installiert weden. Hierfür kann wie unter 'Updating the Kernel' in [1] beschrieben vorgegangen werden. Zuvor sind noch die mtd-utils zu installieren (apt-get install mtd-utils). Das README-Skript des jeweiligen Kernels lädt nur die Module und das uImage des Kernels von [2] herunter, und installiert diese durch kopieren der Module bzw. schreibt den Kernel in den Flash durch Aufruf von nandwrite -pm /dev/mtd1 uImage.
- Anpassung uBoot für den Boot von dem USB-Stick:
setenv bootargs 'console=ttyS0,115200 mtdparts=nand_mtd:0xa0000@0x0(u-boot),0x400000@0x10000(uImage),0x1fb00000@0x500000(rootfs) root=/dev/sda2 rootwait rw' setenv bootcmd 'nand read 0x800000 uImage; bootm 0x800000' saveenv
Anmerkung: Installation in den Flash der DockStar habe ich nicht getestet, da mein Image zu groß ist.
vorgefertigtes rootfs archiv nutzten
Leider gibt es keine offizienen footfs images von debian, so wie es welche von ArchLinuxARM gibt. Allerdings gibt es von verschiedenen Usern ein archiv:
- https://www.mikrocontroller.net/topic/187115?goto=2819453#2819254
- https://www.mikrocontroller.net/topic/187115?goto=2819453#2819453
Linux einrichten
Erste Anmeldung
Warten bis Debian gestartet ist. Dann per SSH einloggen (User: root Passwort: root).
host $ ssh root@debian dockstar $ passwd
Sollte kein DHCP-Server im Netz laufen bzw. die Dockstar schon Verbindung ins Internet hatte, muss man via RS232 zugreifen und die Konfiguration per Hand einrichten (nur temporär. ):
ifconfig eth0 <ipadresse> route add default gw <adresse des routers> echo "nameserver <adresse des routers/nameservers>" > /etc/resolv.conf
Dauerhafte einstellung (Beispieladressen) : /etc/network/interfaces
iface eth0 inet static address 192.168.0.111 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Einen einfachen kleinen Texteditor installieren:
dockstar $ apt-get install nano
Nur für USB-Sticks: Nun die Verzeichnisse /tmp, /var/log, /var/lock & /var/run als tmpfs' einrichten.
dockstar $ nano /etc/fstab
/etc/fstab:
/dev/root / ext2 noatime 0 1 /dev/sda5 none swap sw 0 0 none /tmp tmpfs rw,nosuid,nodev,size=26M 0 0 none /var/log tmpfs rw,nosuid,nodev,noexec,size=4M 0 0 none /var/lock tmpfs rw,nosuid,nodev,noexec,size=1M 0 0 none /var/run tmpfs rw,nosuid,nodev,noexec,size=1M 0 0
Zeitzone einstellen
dockstar $ dpkg-reconfigure tzdata
... und der Benutzerführung folgen.
syslog
Debian Squeeze minimal installiert keinen syslog Dienst. Es ist nur dmesg vorhanden.
Normalerweise könnte man rsyslogd installieren. Aber um einen USB-Stick zu schonen, kann man besser busybox-syslogd nutzten. Dieser schreibt die syslog Ausgaben ins RAM (Genutzt wird ein Buffer von: 128KB).
Einrichtung:
dockstar $ apt-get install busybox-syslogd
Natürlich hat man nun keine Datei /var/log/syslog die man sich ansehen kann. Stattdessen erhält man den Inhalt mit:
dockstar $ logread
Kontinuierlich die Ausgaben ansehen, kann man mit:
dockstar $ logread -f
siehe auch: http://www.rudiswiki.de/wiki/DockStarDebian#Adding_syslog_support
"Automounter" einrichten
Autofs/Automount einrichten
Zunaechst autofs installieren
dockstar $ apt-get install autofs
Zur Datei /etc/auto.master folgendes hinzufuegen.
dockstar $ nano /etc/auto.master
/etc/auto.master:
/media /etc/auto.media --timeout=60 --ghost
Nun die Datei /etc/auto.media erstellen und darin die UUID der USB-Devices eintragen.
dockstar $ blkid /dev/sda1: UUID="99a0bf9c-2310-4167-a4e3-e6e571aeb91d" TYPE="ext2" /dev/sda2: TYPE="swap" /dev/sdb1: UUID="99a0bf9c-2310-4167-a4e3-e6e571aeb91e" TYPE="ext4" dockstar $ nano /etc/auto.media
/etc/auto.media:
disk -fstype=ext4,users UUID="99a0bf9c-2310-4167-a4e3-e6e571aeb91e"
Das Geraet sollte nun automatisch beim Betreten des im Beispiel verwendeten Verzeichnisses /media/disk gemoutet werden.
dockstar $ cd /media/disk dockstar $ mount ... /dev/sdb1 /media/disk ext4 ... ...
usbmount
Alternativ macht sich auch usbmount ganz gut. Hier wird das USB-Medium automatisch beim Einstecken in das Dateisystem eingebunden.
usbmount installieren:
apt-get install usbmount
Die Einstellungen in der Konfigurationsdatei /etc/usbmount/usbmount.conf können soweit übernommen werden. Die Option FS_MOUNTOPTIONS sollte etwas erweitert werden:
FS_MOUNTOPTIONS="-fstype=vfat,gid=floppy,dmask=0007,fmask=0117"
Damit stellt man ein, dass alle User der Gruppe floppy Lese- und Schreibzugriff auf das Wechselmedium haben, wenn das Dateisystem vom Typ vfat ist. Also müssen noch die entsprechenden User in diese Gruppe integriert werden:
usermod -a -G floppy ein_user
Die Wechselmedien werden unter dem Verzeichnis /media eingebunden:
root@dockstar:/# ls -l /media total 72 lrwxrwxrwx 1 root root 4 Sep 10 18:49 usb -> usb0 drwxrwx--- 70 root floppy 32768 Jan 1 1970 usb0 drwxrwx--- 3 root floppy 16384 Sep 10 19:16 usb1 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb2 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb3 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb4 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb5 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb6 drwxr-xr-x 2 root root 4096 Sep 10 18:49 usb7
(Hier sind gerade 2 USB-Sticks im System; usb/ verweist auf usb0/.)
apt-get: Pakete können nicht authentifiziert werden
Wenn die Fehlermeldung "The following packages cannot be authenticated!" erscheint hilft ein:
apt-get update; apt-key update
Samba einrichten
dockstar $ apt-get install samba samba-common-bin
Hinweis: Ohne das Paket **samba-common-bin** fehlt smbpasswd :-O.
TODO: anlegen eines Shares & Users
User anlegen:
- adduser username #User im normalen System anlegen - smbpasswd -a username #User in Samba anlegen - vi /etc/samba/smb.conf # Im Abschnitt [homes]: read "only = yes" zu "read only = no" ändern.
Share für alle User ohne Anmeldung anlegen (Vorsicht wg. Datensicherheit)
- mkdir /home/public #passenden Ordner erstellen - chmod 777 /home/public #passende Rechte vergeben
In der Datei /etc/samba/smb.conf folgenen Eintrag hinzufügen:
[public] comment = Public Folder path = /home/public available = yes browsable = yes public = yes writable = yes create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup
Lighttpd, Php, Webdav
Folgende Pakete sind zu installieren.
dockstar $ apt-get install lighttpd lighttpd-mod-webdav php5-cgi dockstar $ cd /var dockstar $ chown -R www-data:www-data www
BUG: In /etc/lighttpd/lighttpd.conf die Zeile include_shell "/usr/share/lighttpd/use-ipv6.pl" auskommentieren und apt-get install -f ausfuehren.
Aenderungen an /etc/lighttpd/lighttpd.conf:
server.modules = ( "mod_alias", "mod_compress", # "mod_rewrite", "mod_webdav", "mod_fastcgi", # "mod_redirect", # "mod_usertrack", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" )
&
fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" ) ) )
- Alternativer Eintrag für fastcgi/php. (Der Obrige geht bei mir nicht.)
fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/tmp/php.socket" )))
Todo: Subversion ;)
Zeitsynchronisation einrichten
Die Ganggenauigkeit der Uhr im Dockstar ist nicht besonders gut. Aus diesem Grund empfiehlt es sich, diese zyklisch mit einem Zeitnormal abzugleichen. Wenn der Minirechner im Netzwerk hängt, macht man das am besten mittels eines NTP-Servers. Das gängige Kommando dazu ist z.B. (als root):
ntpdate ntp1.ptb.de
Als Rückmeldung erhält man:
13 Sep 17:10:10 ntpdate[13387]: adjust time server 192.53.103.108 offset 0.133584 sec
... und gleichzeitig wird die Systemzeit entsprechend gesetzt.
Um das Ganze zu automatisieren und z.B. jede 1/2 Stunde die Systemzeit abzugleichen, richtet man sich einen zyklisch startenden Job via Cron ein (den man sicherlich noch für weitere Dinge gut gebrauchen kann):
Cron installieren:
apt-get install cron
Cronjob eintragen:
crontab -e
und folgende Zeile hinzufügen:
*/30 * * * * /usr/sbin/ntpdate ntp1.ptb.de >> /var/log/ntpdate.log 2>&1
Es wird also jede 30 min das Kommando /usr/sbin/ntpdate ntp1.ptb.de ausgeführt und die Ausgaben landen in der Log-Datei /var/log/ntpdate.log.
Es sei anzumerken, dass es weitere Alternativen für Job-Scheduler gibt, man muss nicht unbedingt Cron nehmen. Ausführliche Listen mit öffentlichen NTP-Servern findet man im Internet. Hat man mehrere Clients in seinem Netzwerk zu versorgen, macht es sich auch ganz gut, wenn man selbst einen NTP-Server betreibt, der sich seinerseits wiederum über das Internet synchronisiert.
Alternativ kann man auch openntpd verwenden. Dazu muss man eine Backports Quelle in der sources.list angeben.
vim /etc/apt/sources.list
und diese Zeile ergänzen:
deb http://backports.debian.org/debian-backports squeeze-backports main
Nun kann man openntpd installieren.
apt-get update apt-get install openntpd openntpd -s
Der Deamon verändert die Systemzeit nur sehr langsam. Daher muss man beim Neustart des Dockstars openntpd mit der Option -s syncronisieren.
crontab -e
und hier folgendes eintragen:
@reboot /usr/sbin/openntpd -s
Nun kann man auch die übrigen ntp-Programm (außer openntpd) deinstallieren. Eine Übersicht welche installiert sind erhält man mittels:
dpkg --list | grep ntp
rc = lediglich die Konfigurationsdateien sind vorhanden ii = das Programm ist installiert
Bunte Fenster
Ob es nun sinnvoll ist X (plus einem Windows-Manager) auf der Dockstar laufen zu lassen, muss jeder für sich selbst entscheiden. Möglich ist es und sieht auch ganz lustig aus:
Hier wurde sich für den Windowsmanager IceWM entschieden (weil ressourcenschonend), LXDE oder XFCE sind natürlich auch denkbar, aber nicht ganz so schlank.
Die einzelnen Schritte:
apt-get install xvfb icewm x11vnc
- xvfb - X-Server (wenn man keine Grafikkarte hat)
- icewm - der Windows-Manager
- x11vnc - VNC-Server, um sich remote mit dem X auf dem Dockstar verbinden zu können
xvfb, IceWM und VNC-Server starten (am besten in jeweils eigenen screen-Sessions; screen eventuell ebenfalls installieren):
screen -R xvfb Xvfb :0 -screen 0 1024x768x16
Als der "normale" User:
screen -R icewm export DISPLAY=:0 icewm
screen -R vnc x11vnc --forever -noxdamage
Screen-Sessions jeweils mit STRG+A+D verlassen.
Die Verbindung zum X-Server erfolgt über jeden beliebigen PC im Netzwerk mittels VNC. Auf dem Dockstar sollte man natürlich auch ein paar X-Programme installieren (z.B. xterm).
USB-Sound
wget 193.16.217.9/files/dockstarheavy.deb #Kernel mit Soundtreibern laden dpkg -i --force-overwrite dockstarheavy.deb #Kernel mit Soundtreibern installieren apt-get install alsa-base alsa-oss alsa-utils; #Pakete installieren vi /etc/asound.conf; #Konfigurieren. Folgenden Inhalt eintragen
pcm.!default { type hw card 1 }
ctl.!default { type hw card 1 }
Zum Testen eine MP3-Datei (z.b. test.mp3) hochladen
Test: mplayer test.mp3
Einige billige USB-Soundkarten können nur 48000Hz Stream wiedergeben (Wie meine 5€ Digitus USB-Soundkarte (Kopfhörerausgang und Mikrofoneingang))
Test: mplayer resample=48000 test.mp3
mpd als Audio-Server
apt-get install mpd mpc adduser mpd audio; #User mpd der Gruppe Audio hinzufügen vi /etc/mpd.conf; #Audiodevice setzen, hierfür folgendes eintragen: audio_output { type "alsa" name "Default" }
Wenn die Soundkarte nur 48000Hz unterstützt:
vi /etc/mpd.conf; # Folgende Zeilen entsprechent anpassen: audio_output_format "48000:16:2" samplerate_converter "Linear Interpolator"
Erster Test. Eine Datei (z.B: test.mp3) in das Verzeichnis /var/lib/mpd/music kopieren.
mpc update #Musik-Verzeichnis aktualisieren mpc save play0 #Playlist erstellen mpc load play0 #Playlist verwenden mpc add test.mp3 #Eine MP3 der Playlist hinzufügen mpc play #Playlist abspielen
Verschlüsselte Partition mit dm crypt
Testen ob die Module geladen werden:
modprobe dm-crypt modprobe dm_mod lsmod
Erster Durchlauf. Erstellen,einbinden und formatieren:
fdisk # ... Partition erstellen. dd if=/dev/urandom of=/dev/sda3 bs=1M #Partition mit zufallsdaten füllen, dauert etwas apt-get install cryptsetup hashalot #Packete holen cryptsetup luksFormat /dev/sda3 #Crypt Partition Formatieren cryptsetup luksOpen /dev/sda3 data #Crypt Partition mappen mkfs -t ext2 /dev/mapper/data #Dateisystem erstellen mkdir /mnt/data #locales Verzeichnis einrichten mount /dev/mapper/data /mnt/data #Einbinden
Danach nur noch kennworteingabe und einbinden:
cryptsetup luksOpen /dev/sda3 data mount /dev/mapper/data /mnt/data
Fernbedienung (am Beispiel X10 / Medion,Pollin)
apt-get install lirc usbutils dialog libusb-dev /etc/init.d/lirc stop
vi /etc/lirc/lircd.conf #Config Datei einfügen, es gibt für fast alle welche im Internet, z.b. hier: http://lirc.sourceforge.net/remotes/atiusb/lircd.conf.atiusb
vi /etc/lirc/hardware.conf #folgendes eintragen:
DRIVER="atilibusb" und START_IREXEC="true"
/etc/init.d/lirc start #Starten irw #testen
Beispielhaft Konfiguration von lirc für eine Steuerung des mpd's über mpc. vi /etc/lirc/lircrc #erstellen mit folgendem Inhalt:
## irexec begin prog = irexec button = PLAY_PAUSE config = mpc toggle repeat = 0 end
begin prog = irexec button = STOP config = mpc stop repeat = 0 end begin prog = irexec button = PREV config = mpc prev repeat = 0 end begin prog = irexec button = NEXT config = mpc next repeat = 0 end begin prog = irexec button = VOL+ config = mpc volume +2 repeat = 1 end begin prog = irexec button = VOL- config = mpc volume -2 repeat = 1 end begin prog = irexec button = RECORD config = mpc random repeat = 0 end begin prog = irexec button = RC config = mpc update repeat = 0 end begin prog = irexec button = FFWD config = mpc seek +00:00:05 repeat = 0 end begin prog = irexec button = FRWND config = mpc seek -00:00:05 repeat = 0 end
lirc wieder neustarten /etc/init.d/lirc restart
vdr installieren
vdr installieren und Einrichten:
Es ist soweit, der VDR kann installiert werden. Das geht dank der Debian-Paketverwaltung sehr einfach.
apt-get install vdr vdradmin-am vdr-plugin-live vdr-plugin-streamdev-server vdr-plugin-epgsearch w-scan
Hierbei installiert man eine Konfigurationsoberfläche und die einfache Benutzeroberfläche VDR-Live mit. w-scan wird benutzt, um automatisch die Sender zu suchen. Bevor es richtig los geht, sind noch ein paar wenige Dinge zu erledigen. Der VDR erwartet einen Ordner unter
/var/lib/video.00
zum Speichern der Aufnahme. Da der Mountpoint vom NAS ganz wo anders liegt, muss ein symbolischer Link gesetzt werden und gegebenenfalls müssen noch die Zugriffsrechte angepasst werden:
ln -s /tank/Video/tvrecordings/ /var/lib/video.00 chown vdr:vdr /tank/Video/tvrecordings
Nun zu den Konfigurationsdateien. Im Folgenden die Dateien mit den entsprechend zu setzenden Optionen:
/etc/default/vdr ENABLED=1 #VDR wird beim Booten mitgestartet /etc/default/vdradmin-am ENABLED=1 /var/lib/vdradmin-am/vdradmind.conf PASSWORD = passwort #entsprechend anpassen USERNAME = benutzer #Login-Name für die Konfigurationsoberfläche /var/lib/vdr/plugins/streamdev/streamdevhosts.conf 192.168.0.0/24 # any host on the local net (Hier muss das eigene Subnetz angepasst werden)
Jetzt ist es fast geschafft! Es fehlt nur noch ein Sendersuchlauf.
w_scan -ft -c DE > /var/lib/vdr/channels.conf
Hierbei ist zu beachten, dass mit DE Voreinstellungen für Deutschland benutzt werden. Dieser Sendersuchlauf kann etwas dauern. Dann kann es losgehen. Daumen drücken und:
/etc/init.d/vdr start
Geschafft! Nun steht unter http://SERVER-IP:8001 die Konfigurationsoberfläche und unter http://SERVER-IP:8008 die Oberfläche des Live-Plugins bereit.
Anmerkungen:
- Teil 1 der Blog-Reihe beschreibt nur das installieren von Debian.
- Teil 2 klärt wie man eine NFS Freigabe einbindet.
Ich installiere, anders als im Blog, lieber das "offizielle" Firmware Paket: Dazu muß "non-free" Sektion in /etc/apt/sources.list eingetragen sein, z.B.:
deb http://ftp.de.debian.org/debian squeeze main non-free
Installieren der firmware Daten:
dockstar $ apt-get install firmware-linux-nonfree
(Nach einem reboot kann in dmesg gesehen werden, ob der Stick richtig eingerichtet ist.)
Beim Sender-Suchlauf mußte ich mit -a /dev/dvb/adapter0/ explizit den Pfad zum DVB-T Adapter angeben, bsp:
dockstar $ w_scan -a /dev/dvb/adapter0/ -c DE > /var/lib/vdr/channels.conf
btw. Beim Streamen dreht die Dockstar CPU mit ca. 7% Däumchen ;)
Kernel (2.6.35.6) laden, einbinden, bauen, installieren
Benötigte Pakete installieren apt-get install ncurses-base ncurses-bin libncurses5-dev #ncurses für menuconfig Kernel Quellen holen
cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.6.tar.bz2 tar -xjvf linux-2.6.35.6.tar.bz2
Symlink setzen
rm linux ln -s linux-2.6.35.6 linux cd linux
Config-Datei holen (vorher den Multimedia - Kernel installieren)
cp /boot/config-2.6.35.6-dockstar .config
Dockstar Patch laden und einpflegen
wget http://jeff.doozan.com/debian/dockstar-kernel.patch patch -p1 < dockstar-kernel.patch
Setzen der Konfiguration
make oldconfig
Kernel bauen (dauert sehr lange, mehr als 4 Stunden)
make all
Kernel installieren
make all install
Anmerkung: Mittlerweile gibt es den 3.3.2 Kernel fertig zum installieren, siehe: http://forum.doozan.com/read.php?2,7676
Backup des Systems mit tar
Natürlich kann man den das System auch per dd sichern. Allerdings hat man dabei unnötige Daten mit gespeichert. Hier ein Skript um per tar ein Archiv vom System zu erstellen:
#!/bin/sh DEST="/home/FooBar/Backups/$(date +%Y-%m-%d)DockStarBackup.tar.lzma" EXCLUDE=" --exclude=*.pyc --exclude=./mnt/* --exclude=./proc/* --exclude=./sys/* --exclude=./lost+found/* --exclude=./tmp/* --exclude=./dev/* --exclude=./home/root/* --exclude=./var/cache/apt/apt-file/* --exclude=./var/cache/apt/archives/* --exclude=./var/lib/apt/lists/*dists* --exclude=./var/run/* --exclude=./var/tmp/* --exclude=./var/log/* --exclude=./root/* --exclude=./.Trash* " set -x sudo tar cvpfa ${DEST} ${EXCLUDE} ${EXCLUDE2} .
Man kopiert das Skript in das rootfs des Dockstar systems. z.B. /backup.sh und so kann man es benutzten, wenn der USB-Stick/-Platte am PC hängt:
$ sudo mount /dev/sdXY /mnt $ cd /mnt /mnt$ ./backup.sh
Ein Backup zurückspielen geht so:
$ sudo mount /dev/sdXY /mnt $ sudo tar xvpfa /home/FooBar/Backups/2012-XX-YYDockStarBackup.tar.lzma -C /mnt/
Links
* http://jeff.doozan.com/debian/ * http://ahsoftware.de/dockstar/ * http://www.howtoforge.de/howto/wie-man-webdav-mit-lighttpd-auf-debian-etch-konfiguriert/ * https://wiki.ubuntu.com/Lighttpd%2BPHP * http://www.howtoforge.de/howto/installation-von-lighttpd-mit-php5-und-mysql-unterstutzung-auf-mandriva-20080/