Seagate Dockstar

Aus Streamboard Wiki
Zur Navigation springen Zur Suche springen


Einleitung

Hardware Vorbereitung

Software Vorbereitung

Sicherung des Originals

Zur Sicherung nutzen wir nanddump, damit wir die Fehler-korrektur ausschalten können. Pogoplug booten, dann USB-Stick (am besten ext2 oder ext3 formatiert) dran stecken und:

cd /tmp
mkdir usb
mount /dev/sda1 /tmp/usb
wget http://jeff.doozan.com/debian/uboot/nanddump
chmod +x nanddump
./nanddump -nf usb/mtd0 /dev/mtd0
./nanddump -nf usb/mtd1 /dev/mtd1
./nanddump -nf usb/mtd2 /dev/mtd2
umount /dev/sda1

Installation Debian

Basisinstallation

Installation der Pakete für Anfänger

Hier ist eine Anleitung für Anfänger. Es ist ein Installationscript was automatisch folgende pakete Installiert:

-Oscam_build umgebung

-lsusb

-Samba

-Cron

-Joe

-Webmin

-Proftp

-Uhrzeit aktualisierung

-Sprache auf Deutsch

-Oscam+Autostart und Update funktion

-Oscam Watchdog


Installation

Zum ausführen über Debian-Shell
cd /tmp
wget http://streamboard.gmc.to/wiki/images/7/7c/Dockstar.sh.tar
tar xvf ./Dockstar.sh.tar
chmod +x Dockstar.sh
./Dockstar.sh

Wenn die Oscam_build und die Oscam aus diesem Script installiert ist, lässt sich Oscam über

service oscamstart update

auf den Aktuellen stand bringen

Zusatzpakete

Editor Joe

Dieser Editor ist für den Anfänger wesentlich leichter zu bedienen als vi und muß als erstes drauf.

Installation

apt-get install dialog (falls nicht schon bei vorherigen Paketen installiert)
apt-get install joe

Funktion

Leer öffnen

root@debian:/# joe

oder Beispiel fstab editieren

root@debian:/# joe /etc/fstab

Verlassen ohne Änderungen

[strg][c]

verlassen mit speichern

[strg][kx]

Hilfemenü

[strg][kh]

killall nachinstallieren

Viele Scripte greifen auf killall zurück, das bei der Installation nicht standardmässig dabei ist. Enthält auch zusätzlich den pstree Befehl, der alle Prozesse in einer Baumstruktur auflistet.

Installation

apt-get install psmisc

Kernel tauschen

in das tmp verzeichnis wechseln

cd /tmp

normalen kernel 2.6.35.4 runterladen

wget 193.16.217.9/files/dockstarkandm.deb

normalen kernel installieren/überschreiben

dpkg -i --force-overwrite dockstarkandm.deb


multimedia kernel 2.6.35.4 runterladen webcam / wireless

wget 193.16.217.9/files/dockstarheavy.deb

multimedia kernel installieren/überschreiben

dpkg -i --force-overwrite dockstarheavy.deb

LEDs benutzen

wenn ihr den kernel verwendet könnt ihr die leds steuern

   * none … die LED ist ausgeschaltet
   * nand-disk … LED leuchten bei Flash-Aktivität
   * timer … zeitgesteuertes Ein- und Ausschalten
   * heartbeat … pulsierende LED wie beim Herzschlag
   * default-on … LED immer an

Beispiel für den Start

einfügen in die /etc/rc.local damit stellt ihr die LED auf grün und schaltet den Herzschlag vom boot aus

echo default-on > /sys/class/leds/dockstar\:green\:health/trigger
echo none       > /sys/class/leds/dockstar\:orange\:misc/trigger

und wenn ihr sehen wollt wann ihr die Laufwerke und Netzteil beim beenden trennen könnt fügt diese zeile ein in /etc/init.d/halt unter

log_action_msg "Will now halt"
halt -d -f $netdown $poweroff $hddown

das

echo none > /sys/class/leds/dockstar\:green\:health/trigger

Oscam Installieren

Vor dem Starten von Oscam muss folgender Befehl an der Console eingegeben werden:

echo 2 > /proc/cpu/alignment

Sonst kommt es zu unerklärlichen Fehlern wie
1) Falsche ECM-Zeiten (unerklärlich hoch oder negativ)
2) Ständige Logouts der User mit "c02 exit with signal 11"

Tips/ Tricks

USB Festplatten - Automatischer Spin-Down

Benötigte Pakete installieren:

apt-get update
apt-get install build-essential cvs

Tool herunterladen, compilieren und installieren:

cd /tmp
cvs -d:pserver:anonymous@hd-idle.cvs.sourceforge.net:/cvsroot/hd-idle login
# Passwort = Return
cvs -z3 -d:pserver:anonymous@hd-idle.cvs.sourceforge.net:/cvsroot/hd-idle co -P hd-idle
cd hd-idle
make
make install-debian
update-rc.d hd-idle defaults

Jetzt noch die config-Datei anpassen, START_HD_IDLE auf true setzen,
und # bei den Optionen weg + evtl Zeit anpassen in /etc/default/hd-idle:

# defaults file for hd-idle
# start hd-idle automatically?
START_HD_IDLE=true
# hd-idle command line options
# Options are:
#  -a <name>               Set device name of disks for subsequent idle-time
#                          parameters (-i). This parameter is optional in the
#                          sense that there's a default entry for all disks
#                          which are not named otherwise by using this
#                          parameter. This can also be a symlink
#                          (e.g. /dev/disk/by-uuid/...)
#  -i <idle_time>          Idle time in seconds.
#  -l <logfile>            Name of logfile (written only after a disk has spun
#                          up). Please note that this option might cause the
#                          disk which holds the logfile to spin up just because
#                          another disk had some activity. This option should
#                          not be used on systems with more than one disk
#                          except for tuning purposes. On single-disk systems,
#                          this option should not cause any additional spinups.
#
# Options not exactly useful here:
#  -t <disk>               Spin-down the specfified disk immediately and exit.
#  -d                      Debug mode. This will prevent hd-idle from
#                          becoming a daemon and print debugging info to
#                          stdout/stderr
#  -h                      Print usage information.
HD_IDLE_OPTS="-i 180 -l /var/log/hd-idle.log"

Jetzt noch ein beherztes

/etc/init.d/hd-idle restart

und schon gehen die HDDs nach 3 minuten schlafen.

Mehr Info zu hd-idle unter http://hd-idle.sourceforge.net/

NFS Server einrichten

zuerst installieren wir

apt-get install nfs-kernel-server nfs-common portmap

dann wird in der /etc/exports die Freigabe eingerichtet Beispiel:

/mnt/platte *(rw,async,no_subtree_check,fsid=0,insecure)

und anwenden

exportfs -a -r

und noch ein Beispiel zum mounten auf einem anderen Rechner oder Box

mount files.first.com:/home /mnt/nfs

das wars

Statische IP einstellen

Die Datei /etc/network/interfaces nach folgendem Schema bearbeiten:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.2.99
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1

Zeitzone einstellen

dpkg-reconfigure tzdata

Fehlende Hardwareuhr "nachrüsten"

Es ist schon ziemlich wichtig, das System mit der aktuellen Uhrzeit zu betreiben. Da der DockStar keine Hardwareuhr besitzt, startet das System zunächst mit Datum 1.1.1970. Voraussetzung ist, daß bereits beim Booten ein Netzzugang zu einem Zeitserver besteht. Die Zeit soll während des Bootvorgangs so früh wie möglich eingestellt werden, idealerweise sofort nach dem Hochfahren der Netzwerkverbindung.

Neues Script anlegen mit folgendem Inhalt /root/GetDate.sh:

#!/bin/sh
SERVER="atom.uhr.de"
( /bin/sleep 2s && /bin/ping -c 2 ${SERVER} 2>&1 >/dev/null && /usr/sbin/ntpdate -b ${SERVER} 2>&1 >/dev/null ) &

und ausführbar machen:

chmod +x /root/GetDate.sh

In der Datei "/etc/network/interfaces" den "eth0" Eintrag um folgende Zeile erweitern:

up /root/GetDate.sh

Also z.B.:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.2.99
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
up /root/GetDate.sh

Falls die IP via DHCP dynamisch bezogen wird könnte es sein, daß die LAN-Verbindung noch nicht steht. Dann sollte eine Erhöhung der 2s Wartezeit im Script helfen. Ebenso wird man vermutlich bei einer WLAN-Verbindung verfahren müssen.

Softwareseitig läuft die DockStar Systemzeit für einige Stunden recht genau, im Dauereinsatz ist es empfehlenswert, die Uhrzeit 2-3 mal am Tag upzudaten, z.B. mit einem Cronjob.

Danke an mmi aus dem sheevaplug.de Forum für die Anleitung !

Debian auf deutsch einstellen

apt-get install locales language-env

Danach legt man den Standard-Locales des Systems fest mit:

dpkg-reconfigure locales

vorzugsweise de_DE.UTF-8 dazu noch de_DE@euro


Jeder Nutzer, der seine eigene Locales dann definiert haben will, sollte

   set-language-env -R

ausführen. Das erzeugt Einträge in verschiedenen Text-Konfigurationsdateien. in ~/.bashrc :

   LC_MESSAGES=de_DE.UTF-8
   LC_CTYPE=de_DE.UTF-8
   export LC_MESSAGES LC_CTYPE

Apache SSL einrichten und Proxy für Oscam

Zertifikat erstellen:

mkdir -p /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

Bei der Frage zum Common Name (eg, YOUR name) den Hostnamen der SSL-Website eintragen (myhost.dyndns.org) - spart Fehlermeldungen im Browser "Das Zertifikat wurde nicht für diese Seite ausgestellt..."

ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
chmod 600 /etc/apache2/ssl/apache.pem 
joe /etc/apache2/ports.conf

alt:

Listen *:80

#<IfModule mod_ssl.c>
#    Listen 443
#</IfModule>

neu:

Listen *:80
<IfModule mod_ssl.c>
    Listen 443
</IfModule>

Apache einmal durchstarten

/etc/init.d/apache2 reload

Modul laden

a2enmod ssl
/etc/init.d/apache2 force-reload

Virtuellen Host einrichten und Oscam Webif als proxy anstöpseln. Als Beispiel läuft das WebIf von Oscam hier auf Port 84 (evtl. anpassen). Wer keine Webseite auf diesem Virtual Host speichern möchte kann auch die Directories /var/www etc. weglassen. Dort würde eine eventuelle Wbseite liegen. Wenn der Port des Virtual Host geändert werden soll muß dieser Port dann natürlich auch in /etc/apache2/ports.conf bekannt gemacht werden. Ansonsten ist der VHost zwar da, aber Apache lauscht nicht an diesem Port.

joe /etc/apache2/httpd.conf
ProxyRequests off

<VirtualHost *:443>
 SSLEngine on
 SSLCertificateKeyFile /etc/apache2/myssl/server.cert.key
 SSLCertificateFile /etc/apache2/ssl/apache.pem
 <Directory /var/www>
 </Directory>
 <Directory /usr/lib/cgi-bin>
 </Directory>
 DocumentRoot /var/www
 ProxyPass /oscam/ http://127.0.0.1:84/
 ProxyPassReverse /oscam/ http://127.0.0.1:84/
</VirtualHost>

<Proxy *>
 Order deny,allow
 Allow from all
</Proxy>



Nun noch die Proxy Module aktivieren im Apache, entweder über die Console:

cd /etc/apache/mods-enabled
ln -s ../mods-available/proxy.conf
ln -s ../mods-available/proxy.load
ln -s ../mods-available/proxy_http.load
/etc/init.d/apache2 restart

Oder mit Webmin: Dazu Servers/ Apache Webserver Registerkarte "Global configuration" -> "Configure Apache Modules". Dort anhaken "proxy" und "proxy_http". Speichern und rechts oben Apache neu starten.

Oscam WebIf sollte nun verfügbar sein unter https://plugIP/oscam/


Eine Desktopverbindung(XFCE4) über FreeNX herstellen

FreeNX ist eine kostenlose Verbindugssoftware für X-Consolen.FreeNX unterstützt KDE,GNOME,XDC und viele mehr.Der Vorteil von FreeNX ist das die verbindug über SSH hergestellt wird und verschlüsselt ist.Desweiteren lässt sich am Client die Verbindugsgeschwindigkeit einstellen z.B ADSL,ISDN,LAN

Schritt 1:Download der Lib-Sources

cd /mnt
mkdir nx
cd nx
wget http://64.34.161.181/download/3.4.0/sources/nxcomp-3.4.0-7.tar.gz
tar xfvz nxcomp-3.4.0-7.tar.gz
rm nxcomp-3.4.0-7.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxproxy-3.4.0-2.tar.gz
tar xfvz nxproxy-3.4.0-2.tar.gz
rm nxproxy-3.4.0-2.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxagent-3.4.0-11.tar.gz
tar xfvz nxagent-3.4.0-11.tar.gz
rm nxagent-3.4.0-11.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxcompext-3.4.0-1.tar.gz
tar xfvz nxcompext-3.4.0-1.tar.gz
rm nxcompext-3.4.0-1.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxscripts-3.4.0-1.tar.gz
tar xfvz nxscripts-3.4.0-1.tar.gz
rm nxscripts-3.4.0-1.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxauth-3.4.0-3.tar.gz
tar xfvz nxauth-3.4.0-3.tar.gz
rm nxauth-3.4.0-3.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nxcompshad-3.4.0-3.tar.gz
tar xfvz nxcompshad-3.4.0-3.tar.gz
rm nxcompshad-3.4.0-3.tar.gz
wget http://64.34.161.181/download/3.4.0/sources/nx-X11-3.4.0-4.tar.gz
tar xfvz nx-X11-3.4.0-4.tar.gz
rm nx-X11-3.4.0-4.tar.gz

Schritt 2:Installation der benötigten Pakete für's Kompilen

apt-get install xutils-dev expect xorg-dev libjpeg-dev libpng-dev cdbs  
apt-get install autotools-dev patchutils  autoconf bzip2 zlib1g-dev 
apt-get install libpng12-dev libjpeg62-dev xlibs-dev libfreetype6-dev libmikmod2-dev 
apt-get install libssl-dev libxaw7-dev build-essential fakeroot debhelper 
apt-get install automake1.4 dpatch expect tcl8.4 xutils netcat xfonts-base lxrandr cups

Schritt 3:Pakete für den Desktop (XFCE4)

apt-get install xvfb x11vnc screen xfce4 xfce4-goodies tango-icon-theme

Kompilen der Lib's

cd nxcomp
./configure
make
(ca 30 min)

cd nxcompext
./configure
make
(ca 1min)

cd nxcompshad
./configure
make
(ca 1min)

cd nxproxy
./configure
make
(ca 1min)

cd nx-X11
make World
(ca 2-3std)

Schritt 4:Kompilen von FreeNX

wget http://download.berlios.de/freenx/freenx-server-0.7.3.tar.gz
tar xfvz freenx-server-0.7.3.tar.gz
cd freenx-server-0.7.3
patch < gentoo-nomachine.diff
wget http://computingplugs.com/files/nx_3.3.0.patch
patch < nx_3.3.0.patch
make; make install
cd ..

Schritt 5:Kopieren der Lib's

cp -a nx-X11/lib/X11/libX11.so* /usr/NX/lib
cp -a nx-X11/lib/Xext/libXext.so* /usr/NX/lib
cp -a nx-X11/lib/Xrender/libXrender.so* /usr/NX/lib
cp -a nxcomp/libXcomp.so* /usr/NX/lib
cp -a nxcompext/libXcompext.so* /usr/NX/lib
cp -a nxcompshad/libXcompshad.so* /usr/NX/lib 
cp -a nx-X11/programs/Xserver/nxagent /usr/NX/bin
cp -a nxproxy/nxproxy /usr/NX/bin

ln -s /usr/NX/lib/libXrender.so.1.2.2 /usr/NX/lib/libXrender.so.1.2

Schritt 6:Der erste Start

Spätestens jetzt muss ein X-Desktop installiert sein(Gnome,KDE,XFCE4...)

cd /
cd usr/NX/bin
./nxsetup --install
N (Es sei denn man will sein eigenen Key verwenden)

Schritt 7:Autostart

cd /
cd etc/init.d
wget http://computingplugs.com/files/nxserver
chmod 755 nxserver
update-rc.d nxserver defaults

Schritt 8:Windows als Client

http://www.nomachine.com/download-package.php?Prod_Id=2131
Installieren
configure
Host = IP von DS
settings 
Run Command :
    startxfce4
OK
Advanced
Haken nur bei "Enable SSL encryption all traffic"
OK

Eine Desktopoberfläche installieren und per VNC darauf connecten

Schritt 1: Installieren von xvfb (quasi die virtuelle Grafikkarte), Vnc, Screen und eines Desktops. Der Desktop kann natürlich frei gewählt werden, hier am Beispiel von XFCE4
Alles in allem so ca. 230 MB

apt-get update
apt-get install xvfb x11vnc screen xfce4 xfce4-goodies tango-icon-theme

Schritt 2: Xvfb starten
Dazu am besten eine eigene Screen Session starten:

screen -R xvfb
Xvfb :0 -screen 0 1024x768x16

Die Screensession mit STRG+A+D verlassen

Schritt 3: Den Desktop starten
User anlegen (falls nicht schon geschehen)

adduser desktop
# der Name desktop dient nur als Beispiel ;) 

und den Desktop als User ( Nicht als root !!) starten:

chmod 777 /dev/pts/0
su - desktop -c "screen -R xfce4"
# desktop evtl. gegen den oben angelegten bzw. schon angelegten Benutzernamen auswechseln
export DISPLAY=:0
startxfce4

Die Screensession mit STRG+A+D verlassen

Schritt 4: Den VNC Server starten
Wieder mit eigener Screen Session:

screen -R vnc
x11vnc --forever -noxdamage

Die Screensession mit STRG+A+D verlassen

Jetzt kann man mit der IP des Dockstars und dem Port 5900 eine VNC Verbindung von einem anderen Rechner aus aufbauen und einen Desktop nutzen.


So kann es hinterher aussehen:

Installation Open WRT

Basisinstallation

Zusatzpakete

Kernel kompilieren

Oscam Installieren

Tips/ Tricks

Dockstar retten - neu flashen

uBoot (mtd0) selbst erstellen

So erstellt man eine Datei namens uboot.mtd0.kwb , die man nach /dev/mtd0 flashen kann !

Erstellen

apt-get install build-essential git
git clone git://git.denx.de/u-boot.git u-boot
cd u-boot 
wget http://streamboard.gmc.to/wiki/images/0/00/U-boot-files.tar.gz
tar xvzf U-boot-files.tar.gz
chmod +x doimage
patch -p1 < uboot.mtd0.patch
chmod +x mkDockstar.mtd0
./mkDockstar.mtd0 

Sichern des Originals

cd /tmp
wget http://jeff.doozan.com/debian/uboot/nanddump
chmod +x nanddump
./nanddump -nof mtd0.backup /dev/mtd0
./nanddump -nf mtd0.backup.oob /dev/mtd0
./nanddump -nof uboot-original -s 0 -l 0x80000 /dev/mtd0

Nicht vergessen die Dateien noch irgndwoanders hin zu sichern, da /tmp nach einem reboot wieder leer ist !

Flashen

MTD Tools installieren, falls nicht schon geschehen

apt-get install mtd-utils

Die ersten 512 kb löschen

flash_erase /dev/mtd0 0 4

neuen uboot flashen

nandwrite /dev/mtd0 uboot.mtd0.kwb

Nun Daumen drücken und neu starten !!

WENN BEIM LÖSCHEN ODER FLASHEN ETWAS SCHIEF GEHT HILFT NUR NOCH EIN JTAG !!!! BENUTZUNG AUF EIGENE GEFAHR !!!