HDD-Check - Festplatte der Dbox2 berprfen
===========================================

Plugin:     Hdd-Check fr groe Festplatten, auf denen Version 0.1 wegen 
            RAM-Speichermangel nicht luft. Im Gegensatz zur Version 0.1,
            wird bei dieser Variante die Box nach jedem Festplattencheck
            neu gestartet. Ausserdem wurde es fr den automatischen HDD-
            Check beim Ausschalten oder Neustarten der Box programmiert. 

Version:    0.2
Autor:      DrStoned
Datum:      11.09.2006


Anwendung:
----------

Das Plugin HDD-Check dient dazu, das extfs3-Dateisystem der Dbox-Festplatte 
zu berprfen und ntigenfalls zu reparieren. Die Idee dazu kam mir, als es mir 
whrend einer Aufnahme die Festplatte zerschossen hat. Vermutlich kam dieser 
Fehler daher, dass mir die Dbox vorher mehrmals whrend der Aufnahme 
abgestrzt ist. Dabei wurden wahrscheinlich einige Dateien nicht mehr 
geschlossen oder irgendwo auf der Festplatte Datenmll produziert, 
was letztendlich dann das Dateisystem der Festplatte zerschossen hat. 
Um dem vorzubeugen, habe ich dieses Shellskript geschrieben. 

Das Skript sollte regelmig ausgefhrt werden, vor allem jedesmal dann, 
wenn die Dbox whrend einer Aufnahme abgestrzt ist, oder wenn eine Aufnahme 
unvermittelt abbricht. Damit wird einem greren Fehler im Dateisystem der 
Festplatte vorgebeugt. 

Vorraussetzung:
---------------

Zuallererst muss natrlich eine Festplatte in die Dbox eingebaut sein. 
Fr alle Benutzer, die nicht das JtG-Image verwenden, wie z.B. das DietmarW-Image 
ist ausserdem noch das Messagebox-Plugin 'msgbox' wichtig. Es ist diesem Archiv 
nicht beigefgt, da es im JtG-Image bzw. dem Image von Hallenberg bereits 
eingebaut ist. 
Erhltich ist es bei http://www.jackthegrabber.de/viewtopic.php?t=6036
Die Installation des Messagebox-Plugins ist in der zugehrigen readme.txt 
beschrieben. 

Wichtig:
--------

Sehr wichtig ist ausserdem, dass dieses Skript nur fr das extfs3-Dateisystem 
geschrieben wurde. Wenn Ihr es fr das extfs2-Dateisystem verwenden wollt, 
msst Ihr das Skript mit einem UNIX-Editor entsprechend abndern. 


Installation:
-------------

Die Dateien werden per FTP in folgende Verzeichnisse kopiert und mit den 
entsprechenden Rechten versehen. Es ist sehr wichtig die Dateien im 
BINR-Modus zu bertragen, sonst luft das Plugin nicht. 

Achtung: Bitte beim FTP-Programm 'Filezilla' beachten, dass dieses Programm 
         standardmig, Dateien mit der Endung '.sh', im ASCII-Modus ubertrgt. 
         Dann luft das Plugin aber nicht. Also darauf achten, wenn Ihr dieses 
         Programm verwendet, es entsprechend zu konfigurieren. 
         Um zu kontrollieren, ob die Dateien ordnungsgem bertragen wurden, 
         einfach nach der bertragung die Dateigren vergleichen. 
         

Datei                 Speicherort              Rechte    Gre   Funktion
---------------------------------------------------------------------------------------------
hddcheck2.sh          /var/tuxbox/plugins/     755       6159    Skript fr HDD-Check
hddcheck2.cfg         /var/tuxbox/plugins/     644        132    cfg-Datei fr HDD-Check
hddcheck2anz.sh       /var/tuxbox/plugins/     755        187    Skript fr Ergebnisanzeige
hddcheck2anz.cfg      /var/tuxbox/plugins/     644        146    cfg-Datei fr Ergebnisanzeige

Optional fr den halbautomatischen Start von HDD-Check beim Beenden von Neutrino
---------------------------------------------------------------------------------------------
start_neutrino        /var/tuxbox/             755       1568    Neutrino starten
.autocheck_hdd        /var/etc/                644          0    Schalterdatei fr Autocheck

Optional den halbautomatischen Start von HDD-Check ber das Flexmen ein- und ausschalten
---------------------------------------------------------------------------------------------
shellexec.conf       /var/tuxbox/config/       644        507    einfgen in shellexec.conf


Wenn Ihr alle Dateien installiert habt, ist noch folgende Aktion durchzufhren. 
Dbox-Taste -> Service -> Plugins neu laden. 
Wenn ihr alles richtig gemacht habt, findet Ihr 2 neue Skripte unter Dbox-Taste -> Skripte

HDD-Check - Festplatte ueberpruefen - HDD-Check fuer grosse Festplatten 
HDD-Check - Ergebnis anzeigen - Ergebnis des letzten Festplattenchecks anzeigen 

Da mittlerweile HDD-Check Version 0.1 mit dem aktuellen Snapshot fest ins 
Image eingebaut wurde, hat man die Mglichkeit, wenn man die Version 0.1 
nicht verwenden mchte, sie durch die Version 0.2 zu ersetzen. 
Dazu sind folgende Dateien entsprechend umzubennen:

hddcheck2.sh      ->      hddcheck.sh
hddcheck2.cfg     ->      hddcheck.cfg

Ich habe dies aber bewusst nicht selbst so gemacht, um Euch die Mglichkeit zu 
geben, beide Versionen zu testen, und sich dann fr die zu entscheiden, die einem 
besser gefllt. 


Funktion:
=========

1. Manueller Aufruf von HDD-Check ber das Skripte-Men
-------------------------------------------------------

Ruft man das Skript 'HDD-Check - Festplatte ueberpruefen' auf, wird zuerst 
getestet, ob der IDE-Treiber aktiviert ist. Sollte dies nicht der Fall sein, 
bricht das Skript mit einer entsprechenden Fehlermeldung ab. 
Ist dieser Treiber aktiviert, so kommt man in ein Auswahlmen, in dem erklrt wird, 
was bei der Ausfhrung des Skripts zu beachten ist. Hier kann man sich entscheiden, 
ob man das Skript ausfhren mchte oder nicht. Hier die Auswahl zwischen nein/ja 
treffen und mit der OK-Taste besttigen. Nicht die Home-Taste verwenden, sonst 
wird das Skript ausgefhrt, auch wenn man es nicht will. Dies ist eine Eigenheit 
des Messagebox-Plugins und kann nicht so einfach abgefangen werden. 
Bitte die Hinweise im Auswahlmen sorgfltig durchlesen und auch befolgen, ich 
gebe keine Haftung fr einen Datenverlust. 

Hat man sich dafr entschieden, das Skript auszufhren, so darf jetzt auf keinen 
Fall mehr die Box ausschalten oder resetten bzw. den Stecker ziehen. 
!!! Sonst droht Datenverlust !!! 
Bitte unbedingt das Skript bis zum Ende laufen lassen. 

Zunchst wird die Festplatte ungemountet. Danach wird getestet, ob das Unmounten 
auch erfolgt ist. Sollte die Festplatte nicht ungemountet werden knnen, 
so wird das Skript mit einer entsprechenden Fehlermeldung abgebrochen. 

Eine Ursache dafr kann sein, dass noch irgendein Programm, das auf der 
Festplatte liegt, noch nicht beendet wurde. Mir ist dies passiert, weil ich das 
WOL-Timer-Plugin auf die Festplatte ausgelagert hatte und dessen 'woltimerd' 
(Daemon) noch lief. Deswegen ist die Unmount-berprfung von mir eingebaut worden. 
Im Skript "hddcheck2.sh" ist die Stelle vermerkt, wo Ihr Programme abschieen 
bzw. beenden knnt, die Ihr eventuell auf der Festplatte laufen habt. 
Ihr msst aber unbedingt einen UNIX-Editor verwenden, um dort nderungen zu machen. 

Es hat sich gezeigt, dass Benutzer von sehr groen Festplatten mit der Version 0.1 
von HDD-Check Probleme hatten. Versuche von "Palace" und "Gorcon" haben ergeben, 
dass fr den Festplattencheck zu wenig RAM-Speicher zur Verfgung stand. Deswegen 
werden in der Version 0.2 von HDD-Check, zuerst Neutrino, und noch einige 
speicherfressenden Programme, wie z.B. 'sectionsd' beendet, um dann mehr 
RAM-Speicher fr den Festplattencheck zur Verfgung zu haben. Ich konnte dies 
allerdings nicht testen, da ich mit meiner 100 GB-Festplatte mit der Version 0.1 
keine Probleme hatte. Ich hoffe aber, dass der HDD-Check jetzt auch mit groen 
Festplatten funktioniert. 

Sind Neutrino und die Speicherfresser beendet, startet der eigentliche HDD-Check. 
Jetzt wird die Festplatte mit dem im Image eingebauten Befehl 'fsck.ext3' 
berprft. Falls Fehler im Dateisystem vorhanden sind, wird versucht das 
Dateisystem zu reparieren. Diese berprfung dauert einige Zeit, bei meiner 
100 GB-Fujitsu 2,5"-Zoll Notebookfestpatte gehen dafr 5 Minuten ins Land. 
Also nicht ungeduldig werden, und das Skript zu Ende laufen lassen. 
Das Ergebnis der Prfung, wird in der Datei '/var/etc/fsck.log' gespeichert. 
Ist die berprfung beendet, so wird die Datenpartition der Festplatte wieder 
nach /hdd gemountet. Dann wird noch das Ergebnis der Festplattenberprfung auf 
dem Bildschirm fr 10 Sekunden angezeigt. Danach wird die Box neu gestartet. 

Wer sich die Daten der berprfung genauer ansehen mchte, kann sie nach dem 
Neustart mit diesem Skript aufrufen und anschauen: 
HDD-Check - Ergebnis anzeigen - Ergebnis von Festplattencheck anzeigen 
Es zeigt die Daten an, die beim letzten Festplattencheck in der Datei 
'/var/etc/fsck.log' gespeichert wurden. 

2. Halbautomatischer Aufruf beim Ausschalten oder Neustarten der Box
--------------------------------------------------------------------

Die Version 0.2 von HDD-Check kann auch optional beim Beenden von Neutrino 
gestartet werden. Dies geschieht dadurch, dass man eine genderte 
'start_neutrino' in das Verzeichnis '/var/tuxbox/' kopiert, und ihr 
Ausfhrrechte (755) vergibt. Bitte dies nicht vergessen, sonst startet 
Neutrino nach dem nchsten Neustart nicht mehr. Am besten, Ihr bt erst mal 
mit den Skripten. Wenn diese funktionieren, bekommt Ihr das mir der Datei 
'start_neutrino' auch noch hin. 

Achtung: Die 'start_neutrino' aus diesem Archiv ist an die originale aus 
         '/etc.init.d/' angepasst. Solltet Ihr in Eurer 'start_neutrino' bereits 
         irgendwelche Anpassungen vorgenommen haben, so msst ihr diese Anpassungen 
         selbst in die aus diesem Archiv einfgen. 

Um diese Funktion zu aktivieren, muss natrlich der IDE-Treiber geladen sein. 
Dies geschieht durch die Abfrage auf das Vorhandensein der Datei '.start_ide' 
im Verzeichnis '/var/etc/'. Diese Datei ist mit den meisten FTP-Programmen, 
wie alle Dateien mit einem fhrenden . (Punkt) nur dann sichtbar, wenn man 
im FTP-Progamm die Option "Versteckte Dateien im Netz anzeigen" aktiviert.  
Somit wird verhindert, dass das HDD-Check-Men aufgerufen wird, wenn der 
IDE-Treiber nicht aktiviert wurde. Ausserdem muss im Verzeichnis 
'/var/etc/' auch noch eine Datei namens '.autocheck_hdd' vorhanden sein. 
Diese Datei knnt Ihr Euch entweder selbst erstellen, oder die beigefgte 
aus dem Archiv verwenden. Sind alle Dateien ordnungsgem installiert, 
ist die Box neu zu starten. 

Beim nchsten Herunterfahren oder Neustart wird beim Beenden von Neutrino ein 
Auswahlmen eingeblendet. Werden jetzt nicht innerhalb von 10 Sekunden die Taste 
Pfeil-rechts und Ok-Taste gedrckt, also "ja" aktiviert, wird die Box ganz normal 
heruntergefahren. Es wird lediglich noch ein Fenster eingeblendet, ob die Dbox 
neu gestartet oder ausgeschaltet wird. 
Mchte man das automatische Abbrechen des Skripts ausschalten, so ist folgende 
Zeile aus der 'start_neutrino' zu entfernen oder mit einer # auszukommentieren: 

sleep 10 && rcsim KEY_OK &

Aktiviert man jedoch rechtzeitig den "HDD-Check", so wird jetzt zuerst das 
Datenverzeichnis '/hdd' der Festplatte ungemountet. Das Unmounten wird berprft, 
sollte es fehlschlagen, wird eine entsprechendes Fehlermeldung eingeblendet, 
und die Box wird dann wie vorgewhlt entweder ausgeschaltet oder neu gestartet. 
Dann werden wieder, wie in Kapitel 1 beschrieben, Neutrino und 'sectionsd' beendet. 
Dann erst wird der eigentliche Festplattencheck durchgefhrt. Ist dieser beendet, 
so wird die Festplatte wieder gemountet. Dann wird die Box wie vorgewhlt, entweder 
ausgeschaltet oder neu gestartet. Vorher wird noch fr 10 Sekunden das Ergebnis 
des Festplattenchecks eingeblendet. Da das Ergebnis des Plattenchecks in der Datei 
'/var/etc/fsck.log' gespeichert wurde, kann es nach dem nchsten Neustart durch den 
Aufruf des Skripts "HDD-Check - Ergebnis anzeigen" angezeigt werden. 
Beim nchsten Start der Box wird das Ergebnis des letzten Festplattenchecks fr 
10 Sekunden auf dem Bildschirm angezeigt. Da dies vor dem Start von Neutrino geschieht, 
und die Box in dieser Zeit weitere Treiber ldt, wird der Startvorgang von Neutrino 
nur unmerklich verzgert.

3. Integration ins Flexmen
---------------------------

Fr alle, die das Flexmen (shellexec) auf Ihrer Box installiert haben, habe ich 
noch eine Beispiel-Konfigurationsdatei 'shellexec.conf' erstellt, die es ermglicht 
die oben beschrieben Plugins mit dem Flexmen aufzufhren. Auch das Erstellen bzw. 
Lschen der Schalterdatei '/var/etc/.autocheck_hdd' wurde in dieser Datei integriert. 
Diese Datei kommt nach '/var/tuxbox/config/'. Falls Ihr das Flexmen bereits auf 
Euer Dbox2 installiert habt, kopiert einfach die Zeilen aus der Beispieldatei in 
Eure 'shellexec.conf'. Dazu gibt es zu beachten, dass man dazu einen UNIX-Editor 
(Ultraedit, Crimson-Editor, Proton-Editor, vi) verwenden muss. Dies gilt fr die 
Bearbeitung aller Dateien auf der Dbox2 unter Linux.

Das Flexmen-Plugin ist in diesem Archiv nicht enthalten, es ist aber im 
JtG-Plugin-Forum unter folgendem Thread zum Runterladen erhltlich:
http://www.jackthegrabber.de/viewtopic.php?t=6040
Die Installation und Verwendung dieses Plugins ist in dessen 'readme.txt' erklrt. 

4. Hilfe, Fragen und Anregungen zu HDD-Check
--------------------------------------------

Ich hoffe, ich habe alles verstndlich geschildert und erklrt. Bei Fragen und 
Anregungen zu diesem Plugin, meldet Euch bitte in folgendem Diskussionsthread 
im Jack-the-Grabber-Plugin-Forum: http://www.jackthegrabber.de/viewtopic.php?t=9854
Dann werde ich sehen, was ich fr Euch tun kann. 

Ich wnsche Euch noch viel Spa mit dem HDD-Check-Plugin. 

Greetz von DrStoned :-) :-) :-)