Home
NetFire - Lehrstuhl 12
Contents
1. Server Filesystem User Server Netfire Archiv Account PHP Daemon Generator T I I T T I I ISO aus Archiv brennen l Neuer Benutzer Neuen Benutzer gt m Account ll Account i Abfrage el Liste der ISOs inkl Kommentare Gs Auswahlbox mit Kommentaren i Auswahl eines ISOs gt I HTML Seite Einstellungen g I m Speed Kopien etc i Antwort Pal Create Jobcontrol Datei wl Job Control Datei erzeugen Eintrag in Queue Si pe Job ID L Job ID amp Account Abbildung 4 3 Ein ISO Image aus dem Archiv des Systems wird gebrannt PG 391 34 NetFire 4 1 GROBSTRUKTUR DER SOFTWAREENTWICKLUNG J9J1919QIOA PILM u uu g umz Berny um p y Sunp tqq V 319 191 gi K uro QO Oto AS UN A 9qesSsnv e r 319194 gt I use du3 sur AVM 29pO OSI I oqo ys diz ys peuniou ys orpne ue ost uom pme due sopuoyoo1dsque dAL AD WEN l gt l u s lsn V Lat l t l Jo OIOGIOA PIIM GO coqessny m I i l U9 1919G 10A umz jnyNY jdt10 g ie uogojue SIGUOI ZI A S 101odur I I I I l I I I pe
2. 319 191 gj gt gt 319 191 319 191 gt usgunpjousnyeIg gt usgunpjpuisnyeIg 3 Sunp lN u uu 1g l I 319 19 a E TO yoru of m my I l I x 319 194 e e gt I 3u9so9 938 PIM q9 x dE u uos or J u9SumA 9S uu AA i gt I MO I e l GO 9I39 93ULI ne UdeM I I I u s urt AI Si i i 19oq urered pioo zpoO g i u s sn V l I I l I Lat l l s guesuoAuu qg SOP 91899 umz mamy I l I I I I ef sil l l I i l p red rq I l I I I I I I I i u lou onone op x i i I SNE Spitz asi I I I I I I x u x EG uk Ke prooerpo 1q qsungu uowsoe ann uow q INOd GO yseyepoo1 Iorquoo qo BUT FPN 37 PG 391 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Weiterhin hat der Benutzer die M glichkeit seinen Auftrag komplett zu l schen Der netfired wird dann den Auftrag aus der Queue l schen und ein PHP Skript wird die Job Control Datei l schen Abbildung 4 6 zeigt den Datenflu f r die Abfrage des Status und das L schen eines Brennauftrags Der Benutzer w hlt zun chst die HTML Seite zur Abfrage des Status aus Die Statusab frage wird ber den Webserver an den netfired weitergereicht Der Daemon liest dann alle Informationen die f r die Statusanzeige relevant sind aus seiner internen Queue Dies sind
3. Abbildung 4 10 Konfigurationsprogramm von Emdebsys e Die Meniis und die Regeln erzeugen cmlcompile py kernel os config cml e Konfigurieren des gew nschten Emdedded Linux Dateisystems und die Konfiguration unter config out abspeichern cmlconfigure py e CML2 in den Kernel installieren install cml2 optional PG 391 45 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG e Ins Verzeichnis emdebsys snp wechseln und snp anpassen Dazu mu normalerweise die Datei sources list angepasst werden je nachdem wo sich der n chste Debian Spiegel befindet und ob eigene Debian Pakete installiert werden sollen cd EMBEDSYS snp e Das Embedded Linux Dateisystem erzeugen mittels snp py snp py c config out Per Voreinstellung wird das Embedded Linux Dateisystem im Verzeichnis snp rootfs erzeugt Ein komprimiertes ext2 Image wird unter tmp emdeb rootfs img gz angelegt Zus tzlich wird eine komprimierte tar Datei mit den Dateien unter tmp emdeb files tgz generiert Dies kann aber mittels der Datei snprc und der Kommandozeile nach eigenen W nschen angepa t werden 4 2 2 3 Konfigurieren und Starten von snp py Snarf n Pick OS generator Konfiguration Das Programm snp py erzeugt aus den gew hlten Konfigurationsoptionen ein komplettes Em bedded Linux Dateisystem inklusive Compilieren aller ben tigten Programme und dem Ko pieren der gew hlten Kernelmodule und des Kernels selbst
4. 10 PG 391 NetFire 2 1 BEDIENUNG Neue CD brennen Job Status anzeigen Administration passwortgesch tzt Schicken Sie bitte die gew nschte Boot Image Datei Durchsuchen Zur ck Weiter Zur cksetzen Abbruch Abbildung 2 4 HTTP Upload des Boot Images varus Neue CD brennen Job Status anzeigen Administration passwortgesch tzt Bestimmen Sie die Reihenfolge der Tracks Nr 1 01 Reptilemp3 H Nr 2 02 Got You In My Mind mp3 y Nr 3 03 Travelln Lightmp3 gt Nr 4 04BelieveinLitemps Nr 5 05 Come Back Baby mp3 T 2 Sekunden Pause zwischen den Tracks Zur ck Weiter Zur cksetzen Track hinzuf gen Track l schen Abbruch Abbildung 2 5 Die Bestimmung der Reihenfolge der Audio Tracks PG 391 NetFire 11 KAPITEL 2 FEATURES DES NETFIRE SYSTEMS die folgenden Informationen Die fortlaufende Nummer das Datum der Erstellung sowie eine kurze Beschreibung Ein Eintrag wird ausgew hlt indem die Nummer die als ein Link realisiert wurde angeklickt wird Dieser Link f hrt den Benutzer direkt zu der Brenneinstellungen Seite Die Buttons Zur ck und Abbruch f hren zu der Startseite zur ck Ihr Account f r diese Sitzung ist NFaG3ZYb W hlen Sie bitte ein Image aus Eintrag Datum Beschreibung Backup CD vom 29 06 2002 etc Nr 1 29 06 2002 dr_2 02 07 2002 RedHat Linux 7 2 InstallationsCD NrS Neue CD brennen Job Status anzeigen
5. 39 Datenflu f r die Systemeinstellungen des Administrators 41 Datenflu f r das L schen der gesamten Queue oder einzelner Queueeintr ge durch den Administrator 42 Datenflu f r das ndern des Administrationspassworts 2 22 222 220 43 Konfigurationsprogramm von Emdebsys 00 000 eee eee 45 Funktionsweise von snp py e 49 Struktur des netfired e e s 2a bee Oe aw h A Re mann 54 Eet are Ak Yo E Y E ee die ee rc ee wa eS 54 Riekpabelormal oos 2 444 Ee a ae ana eo RA ee a A ee a a qn N 55 Brenneinstellungen mittels WebGUI vornehmen 69 Beispiel fiir eine Job Control Datei nenn 72 Schaltplan der LCD Ansteuerung 87 Platinenlayout der LCD Ansteuerung 0000 r es eee 88 Best ckte Display Platine Vorderansicht 00 0000 eee 88 Best ckte Display Platine R ckseite 88 Zers gen und Durchbohren der Blende 89 imap eng nu gad ei EN fen 89 Linke Haltern D de week a re a a asa 89 Rechte Halterung ecaa gum a an Ben at a U kus a RR we de h a 90 PG 391 NetFire ABBILDUNGSVERZEICHNIS 5 9 Platine mit angel teten Halterungen 90 5 10 Blende und Platine s s ogo s a aan an dee Pados eR E W a 90 5 11 Das eingebaute Display o se sa 2 a a4 ze a k k a wenn 91 IV PG 391 NetFire TABELLENVERZEICHNIS Tabellenverzeichnis 2 1 Parameter f r das Jet oe s s sa 54 bs ek bas Kann se ana S S GQ 17 31 bersicht DOS Embedded Linz EEN e
6. 19 5 L o ahah o p uk 30 Abbildung 5 8 Rechte Halterung Abbildung 5 9 Platine mit angel teten Halterungen Abbildung 5 10 Blende und Platine 90 PG 391 NetFire 5 3 DISPLAY UND TASTER Abbildung 5 11 Das eingebaute Display PG 391 91 NetFire KAPITEL 6 SYSTEMTESTS Kapitel 6 Systemtests Zu jeder Entwicklungsarbeit geh rt als qualit tssichernde Ma nahme sowohl entwicklungsbe gleitend als auch abschlie end das Testen dieser Arbeit In dieser Projektgruppe wurde in einem relativ sp ten Stadium der Entwicklung ca 2 Monate vor Projektabschluss eine zweik pfige Test Taskforce benannt um diesem Aspekt gen gend Rechnung zu tragen Die vorgenomme nen Tests k nnen grob in die drei Kategorien Modultests Integrationstests und Gesamtsystem Tests unterteilt werden welche im folgenden n her beschrieben werden 6 1 Modultests Bei Modultests wird nicht das gesamte Programm als Ganzes getestet sondern nur m glichst kleine Teile Diese Vorgehensweise bietet folgende drei Vorteile gegen ber anderen Testverfah ren 1 Fehler k nnen schneller und besser lokalisiert werden da der Ort des Fehlers direkt auf das getestete Modul beschr nkt ist 2 Einzeltests fallen weniger komplex aus da nicht alle Eingangsbedingungen kombiniert werden m ssen 3 Es kann parallel getestet werden was einen deutlichen Zeitvorteil bietet Die Aufgabe der Modultests ist der Vergleich der Modulfunkti
7. logfile filename Logdatei f r netfired lockfile filename Lockfile das mehrere parallele Instanzen des netfired verhindert htpasswd filename Pa wortdatei f r die Administrator Seiten der WebGUI sh nfinit filename Skript das bei dem Scripthook sh_nfinit ausgefiihrt wird 62 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE sh_nfexit filename Skript das bei dem Scripthook sh_nfexit ausgefiihrt wird sh_nfcheck filename Skript das bei dem Scripthook sh_nfcheck ausgef hrt wird sh nfprepare filename Skript das bei dem Scripthook sh_nfprepare ausgef hrt wird sh_nfrun filename Skript das bei dem Scripthook sh_nfrun ausgefiihrt wird sh_nfclean filename Skript das bei dem Scripthook sh _nfclean ausgef hrt wird sh_nfempty filename Skript das bei dem Scripthook sh nfempty ausgef hrt wird sh_nfperiodic filename Skript das bei dem Scripthook sh _nfperiodic ausgef hrt wird nfperiodic number Zeit in Sekunden die zwischen zwei sh_nfperiodic Aufrufen liegen soll Es m ssen alle Schl ssel in der Konfigurationsdatei vorhanden und ihnen ein Wert zugewiesen sein Ansonsten bricht netfired mit einer Fehlermeldung ab 4 3 2 Shellskripte Um den netfired so modular und einfach wartbar wie m glich zu gestalten wurde die eigent liche Funktionalit t zum Brennen einer CD und zum Vorbereiten der Daten in Shell Skripte ausgelagert Diesen Skripten kommt eine Vielzahl an Auf
8. gt i i I I l dl Liste abfragen l gt I Liste mit Jobs l La I l l I I I I gt Eintrag l schen gt I Account ISOs und Verzeichnisse l schen s t Abbildung 4 8 Datenflu f r das L schen der gesamten Queue oder einzelner Queueeintr ge durch den Administrator PG 391 42 NetFire 4 2 SYSTEMSOFTWARE ENTWICKLUNG Admi Webserver Webserver St PHP Passwd File I l l l Anmeldung mit Passwort Passwort berpr fen OK HTML Seite Passwort ndern Altes und neues Passwort senden Verschl sseltes Passwort schreiben OK nderungen bernommen Abbildung 4 9 Datenflu f r das ndern des Administrationspassworts Installations CD umzugehen W hrend der Installation werden ohne Warnung jegliche Da ten auf der ersten IDE Festplatte Primary Master gel scht Unterst tzte Hardware Der auf der Installations CD befindliche Kernel unterst tzt nur IDE Systeme Defaultwert f r die Zielfestplatte ist Primary Master f r das Quellen CD Laufwerk Secondary Master Installationsablauf Die Installation durchl uft nach dem Booten folgende Schritte e Partitionieren der Primary Master Festplatte e Formatieren der erzeugten Partitionen e Auspacken des Emdebian Archivs e Vorbereiten des Systems auf einen Reset des Benutzers und Auswerfen der Install
9. ANHANG A GPL Anhang A GPL GNU General Public License Deutsche Ubersetzung der Version 2 Juni 1991 19 Copyright 1989 1991 Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA Es ist jedermann gestattet diese Lizenzurkunde zu vervielf ltigen und unver nderte Kopien zu verbreiten nderungen sind jedoch nicht erlaubt Diese bersetzung ist kein rechtskr ftiger Ersatz f r die englischsprachige Origi nalversion A 1 Vorwort Die meisten Softwarelizenzen sind daraufhin entworfen worden Ihnen die Freiheit zu nehmen die Software weiterzugeben und zu ver ndern Im Gegensatz dazu soll Ihnen die GNU General Public License die Allgemeine ffentliche GNU Lizenz ebendiese Freiheit garantieren Sie soll sicherstellen da die Software f r alle Benutzer frei ist Diese Lizenz gilt f r den Gro teil der von der Free Software Foundation herausgegebenen Software und f r alle anderen Programme deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben Auch Sie k nnen diese M glich keit der Lizenzierung f r Ihre Programme anwenden Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License der All gemeinen ffentlichen GNU Lizenz f r Bibliotheken Mittlerweile wurde die GNU Library Public License von der GNU Lesser Public License abgel st Anmerkung des bersetzers Die Bezeichnung freie Software bezieht sich a
10. Kommandozeilenoptionen von snp py e h Gibt einen kurzen Hilfetext aus e V Gibt die Version des Programms aus e v Erh ht die Ausf hrlichkeit der erzeugten Ausgabe e c Dateiname W hlt die Datei aus die die Konfiguration des Embedded Linux enth lt e s Dateiname W hlt eine alternative snp conf Datei aus r directory W hlt ein alternatives Verzeichnis zum Bauen des Embedded Linux Dateisystems e o filename W hlt den Namen des objdump Programms aus Neben der Kommandozeile gibt es zus tzlich die Datei snprc Hier k nnen zus tzliche Optionen gesetzt werden Die Syntax der Datei hat die Form Option Wert getrennt per Zeilenvorschub Zeilen die mit einem beginnen werden als Kommentare gewertet leere Zeilen sind erlaubt Ein Beispiel All the lines starting with are comments blank lines are allowed verbose 2 rootfs_image root angelboot rootfs image 46 PG 391 NetFire 4 22 SYSTEMSOFTWARE ENTWICKLUNG Folgende Optionen k nnen per snprc gesetzt werden e config file filename Konfigurationsdatei Voreingestellt config out e cross _compile prefiz Crosscompile Prefix Voreingestellt nichts e devices file filename Die Datei die beschreibt welche Ger tedateien angelegt werden sollen Voreingestellt devices conf e snpconf_file filename Alternative Datei zu snp conf Voreingestellt snp conf e rootfs_dir directory Das Verzeichnis in dem das Embedded Linu
11. auf einem beliebigen Rechner zun chst ein ISO CD Image erzeugt werden Dieses wird dann via FTP an den CD Brenner bermittelt Dieses Konzept bietet den Vorteil maximaler Plattformumabh ngigkeit da zum einen jeder Rechner der ber einen Ethernet Anschlu verf gt auch das FTP Protokoll unterst tzt Die Verbindung zum CD Brenner von einem Rechner aus kann somit leicht ber beliebige kosten lose Internet Browser wie z B Netscape hergestellt werden Weiterhin existiert frei verf gbare komfortable Software f r alle Arten von Betriebssystemen zum Erzeugen des ISO Images einer CD z B NeroBurn xcdroast Die zum Einsatz kommende Software zum Betrieb des CD Brenners ist also vollkommen ger teunabh ngig auf keinem Rechner ist irgendeine Form von Treibern zu installieren W hrend der PG wurde dieses Ziel in der Form erweitert da nun das Erzeugen des Iso Images auf dem Quellrechner nicht mehr vorausgesetzt wird Vielmehr sollte PG 391 3 NetFire KAPITEL 1 EINLEITUNG auch die M glichkeit bestehen beliebig viele Dateien mit einer Verzeichnisstruktur komfortabel und direkt zum CD Brenner zu bertragen Es ist eine L sung entstanden die zum Nachbau einl dt S mtliche Ergebnisse sind im In ternet ver ffentlicht siehe Kapitel 1 1 5 und bieten Interessierten die M glichkeit zum Aufbau einens eigenen Brenners Die Arbeit der Projektgruppe l t sich grob in die folgenden Teilaufgaben untergliedern e Simulation auf ein
12. e Geschwindigkeit Die m glichen Optionen reichen von der 1 fachen bis 32 fachen Ge schwindigkeit wobei ab 2 fach bis 12 fach die Geschwindigkeitseinstellung in Zweier 8 PG 391 NetFire 2 1 BEDIENUNG Schritten und dann in Vierer Schritten w chst Man kann auch die Option max aus w hlen wobei diese vom eingesetzten Brenner und oder Rohling abh ngig ist In diesem Fall wird mit der maximal m glichen Geschwindigkeit gebrannt e Exemplare Diese Einstellung dient der Angabe der gew nschten Anzahl von Exemplaren der gebrannten CD Es k nnen ein zwei oder drei Exemplar e der selben CD erstellt werden e CD RW l schen Hiermit wird mitgeteilt da die CD auf die gebrannt werden soll eine wiederbeschreibbare CD ist die vor dem Brennen noch gel scht werden soll Es kann ent weder die Table Of Contents TOC der CD gel scht werden was der Option schnell entspricht oder die ganze CD Option alles Dabei sollte der Unterschied in der Dauer des L schvorgangs ber cksichtigt werden Bei der Voreinstellung nein wird der Brenn vorgang gestartet ohne die CD zu l schen e Mode Ein erfahrener Benutzer kann hier zwischen mehreren Modi w hlen Ein Modus schreibt die Anzahl der Bytes in einem Sektor vor Die einzelnen Modi sind in dem Beispiel f r eine Job Control Datei beschrieben siehe Abbildung 4 16 e Multisession Mittels dieser Checkbox kann die Option wahrgenommen werden
13. Qe opergy ana Oz UN pes a OF WYO d heids p wo4 peas Z p wtI Ids snq eyep VEJI yty 380Y1S a Ds st hetdstp 01 eyep artim INT t z sng P1ep SY2SUU0D SLZS 2 000S 12 mor 38g081S 1 LINI 91 lt 13 9D MISFZSIKZ 20 lt 6 lt 20d GI ON9 lt 61 lt ON9 1 9 Per 90 8 lt 90d lt ET 380Y1S lt I gt lt M A ZD ZMS GO 2 lt S d IT BECH T 3340109 GI lt Z3 01 T 0 9 lt b d 6 y 193738 21 lt Y 8 EU G lt dd Gi L0AUI CET lt ZMS 9 IMS za lt b lt ZOd S Rd T NI 19313S in lt IMS G f Ta lt lt Idd v ASn8 KIND lt 2d Z 20 Z lt dd lt T g ca ans 40d 4ed lt If II El El I GT EN Zt 81 Col HY LOY NO Nh o 0 surd pue sjeubts 87 Schaltplan der LCD Ansteuerung Abbildung 5 1 PG 391 NetFire KAPITEL 5 HARDWARE Abbildung 5 2 Platinenlayout der LCD Ansteuerung Abbildung 5 3 Bestiickte Display Platine Vorderansicht Abbildung 5 4 Bestiickte Display Platine Riickseite 88 PG 391 NetFire 5 3 DISPLAY UND TASTER Abbildung 5 5 Zers gen und Durchbohren der Blende 32 42 22 65 15 Front Abbildung 5 6 Einbauplan 25 Front Abbildung 5 7 Linke Halterung PG 391 89 NetFire KAPITEL 5 HARDWARE 25 Front o x LA RLL 4 5
14. Zur ck Abbruch Administration passwortgesch tzt Abbildung 2 6 Anzeige des Inhalts des Archivs 2 1 1 7 CD Kopie Bei der Wahl dieses Men punktes wird der User sofort zu den Brenneinstellungen Seite die nur dem Kontext entsprechend wenige Optionen zur Auswahl bietet gef hrt Zu den entspre chenden Zeitpunkten wird er dazu aufgefordert die Orginal CD bzw die noch leere CD ins Laufwerk einzulegen 2 1 1 3 Die Job Status Seiten Nachdem der Brennauftrag fertiggestellt und angenommen wurde d h die Brenneinstellungen vorgenommen wurden und eventuell ein Boot Image upgeloadet wurde wird dem Benutzer anschliessend eine neue Seite mit dem aktuellen Job Status angezeigt Als wichtige Informatio nen werden ganz oben die Job ID sowie der zugeh rige Account angezeigt Darunter befindet sich die eigentliche Statusanzeige des Brennauftrags Sobald der CD Brenner mit der Abar beitung des Jobs begonnen hat erscheint ein Fortschrittsbalken sowie eine Prozentanzeige die den Fortschritt des Brennvorgangs wiederspiegeln Zu diesem Zeitpunkt ist es auch nicht mehr m glich den Brennauftrag mittels des L schen Buttons zu entfernen Au er den gera de erw hnten gibt es auf dieser Seite einen Aktualisieren Button der dazu dient die Seite auf den aktuellen Stand zu bringen Nach der Abarbeitung des Jobs wird dies auch dem User mitgeteilt 2 1 1 9 Navigationsframe Die schon am Anfang erw hnten Links auf der Willkommensseite helfen dem U
15. ber eine Verbindung auf diesem Socket nimmt der Daemon Befehle entgegen und f hrt dementsprechend Aktionen aus Die einzelnen Befehle und deren Bedeutung werden in Kapitel 4 3 1 2 beschrieben Die eigentliche Abarbeitung von Brennauftr gen wird von Skripten bernommen siehe Kapitel 4 3 2 Der netfired bietet Scripthooks zu verschidenen Ereignissen an siehe Kapi tel 4 3 1 3 Tritt ein bestimmtes Freignis auf wird das an den Scripthook gebundene Skript ausgef hrt und mu sich um die weitere Abarbeitung eines Jobs k mmern Dadurch ist gew hr leistet da das ganze NetFire System ohne Neukompilation schnell an neue Standardsoftware angepa t werden kann Die einzelnen Scripthooks beschreibt Kapitel 4 3 1 3 netfired synchronisiert die Queue mit einer Textdatei Jedem Job in der Queue wird eine eindeutige Job ID zugewiesen Die Textdatei enth lt immer die Liste der Job IDs die in der Queue sind Sollte das System einmal unplanm ig abgeschaltet werden so kann der netfired nach dem Neustart die Queue wiederherstellen Nach dem Start wird der Daemon initialisiert und ein Thread gestartet der die Queue abarbeitet Dieser Thread liest das erste Element aus der Queue aus arbeitet den zugeh rigen Job ab und entfernt das Element aus der Queue Das Hauptprogramm besteht aus einer Schleife die auf eine Verbindung ber den Socket wartet F r jede Verbindung wird ein eigener Thread gestartet der die Befehle des Clients der ber den Socke
16. besteht keinerlei Gew hrleistung f r das Programm soweit dies gesetzlich zul ssig ist Sofern nicht anderweitig schriftlich best tigt stellen die Copyright Inhaber und oder Dritte das Programm so zur Verfiigung wie es ist ohne irgendeine Gew hrleistung weder ausdriicklich noch implizit einschlieflich aber nicht begrenzt auf Marktreife oder Verwendbarkeit f r einen bestimmten Zweck Das volle Risiko bez glich Qualit t und Leistungsf higkeit des Programms liegt bei Ihnen Sollte sich das Pro gramm als fehlerhaft herausstellen liegen die Kosten f r notwendigen Service Reparatur oder Korrektur bei Ihnen 12 In keinem Fall au er wenn durch geltendes Recht gefordert oder schriftlich zugesichert ist irgendein Copyright Inhaber oder irgendein Dritter der das Programm wie oben erlaubt modi fiziert oder verbreitet hat Ihnen gegen ber f r irgendwelche Sch den haftbar einschlie lich jeg licher allgemeiner oder spezieller Sch den Sch den durch Seiteneffekte Nebenwirkungen oder Folgesch den die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen einschlie lich aber nicht beschr nkt auf Datenverluste fehlerhafte Verarbeitung von Daten Verluste die von Ihnen oder anderen getragen werden m ssen oder dem Unverm gen des Programms mit irgendeinem anderen Programm zusammenzuarbeiten selbst wenn ein Copyright Inhaber oder Dritter ber die M glichkeit solcher Sch den unterrichtet wor
17. e Job ID Laufende Nummer des Auftrags e Account Zugeh riger Account zur Job ID e Start Time Zeitpunkt zu dem der Auftrag in die Queue eingef gt wurde e Estimated Time Gesch tzte Dauer des Brennauftrags e Locked Flag das angibt ob der Job noch gel scht werden kann oder gerade gebrannt wird Alle Statusinformationen werden an den Webserver zur ckgegeben Dieser zeigt in einer Ta belle alle Daten an die f r den Benutzer interessant sind Der Benutzer hat an dieser Stelle die M glichkeit einen gequeueten Auftrag zu l schen Damit nicht jeder Benutzer jeden Auftrag l schen kann ist ein Sicherheitsmechanismus vorgesehen Der Benutzer mu den zur ausgew hl ten Job ID geh rigen Account eingeben Da diesen Account nur der Benutzer kennt der auch den Auftrag zum Brennen aufgegeben hat wird dieser als Quasi Passwort zum L schen be nutzt Der Befehl zum L schen wird dann vom Webserver zusammen mit dem Accountnamen an den netfired geschickt Dieser entfernt den Benutzeraccount das Upload Verzeichnis des Benutzers und die Job Control Datei Anschlie end bekommt der Benutzer eine Best tigung da der Auftrag gel scht wurde 4 1 1 6 Administration des Systems Die Administration des NetFire Systems beinhaltet folgende Einstellungen e Systemeinstellungen des NetFire Systems e nderung des Administrations Passworts e L schen der Queue oder einzelner Queue Eintr ge Im folgenden werden diese drei Funktionen detailliert be
18. e target already exists Es existiert bereits eine Datei oder ein Verzeichnis mit dem Namen target e error Das Umbenennen ist aus dem Grund error fehlgeschlagen Es k nnen Account Locking Fehler auftreten siehe weiter oben e Datei kopieren Aufruf filecp account source target Kopiert die Datei source zu target Die Dateinamen sind relativ zum Home Verzeichnis des Nutzers account R ckgabe o Die Datei wurde erfolgreich kopiert e error opening source error Das Offnen der Quelldatei source ist aus dem Grund error fehlgeschlagen e error opening target error Das Offnen der Zieldatei target ist aus dem Grund error fehlgeschlagen Es k nnen Account Locking Fehler auftreten siehe weiter oben Sonstige Befehle e Versionsabfrage Aufruf version Abfrage der Version des netfired Riickgabe o version Liefert die Version version des netfired zur ck 4 3 1 3 Scripthooks des netfired Der netfired ruft zu bestimmten Ereignissen Scripthooks auf die dann die weitere Abar beitung einer Aufgabe definieren F r jeden Scripthook mu in der Konfigurationsdatei des netfired ein Skript eingetragen werden Im folgenden werden die Schnittstellen zu den einzel nen Skripten aus Sicht des netfired beschrieben 60 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE R ckgabewerte der Skripte Alle Ausgaben der Skripte werden vom netfired ausgewertet Sie m ssen
19. ge graphisch angezeigt desweiteren gibt es die M glichkeit einige Netzwerk und Systemeinstellungen in dem Administrationsbereich durchzuf hren Neben der Bedienung ber die Web Oberfl che gibt es die M glichkeit das NetFire System ber eine Konsole zu nutzen Eine FTP Kommandozeile hat den Vorteil da man keinen HTTP Browser braucht um eine CD zu erstellen 6 PG 391 NetFire 2 1 BEDIENUNG 2 1 1 Bedienung per WebGUI 2 1 1 1 Die Startseite Willkommen if ai Womit m chten Sie eine CD erstellen N etFire ISO Image C Gepackte Datei C Mehrere Dateien C Audio Dateien C ISO Image aus dem Archiv Neue CD brennen c CD Kopie Job Status anzeigen Weiter Administration passwortgesch tzt Abbildung 2 1 Die Startseite der WebGUI Nachdem der Benutzer die entsprechende URL oder IP Adresse in einem Web Browser eingegeben hat erscheint die NetFire Willkommensseite Auf dieser Startseite hat man die M glichkeit zwischen mehreren Vorgehensweisen zu w hlen abh ngig davon wie und welche Art von CD man brennen m chte bzw welche Art von Daten man uploaden will Im Detail stehen dem User folgende Auswahlm glichkeiten zur Verf gung die man mittels der Radio Buttons bet tigen kann ISO Image Hiermit kann der Benutzer ein eigenes ISO Image uploaden und brennen Gepackte Datei Eine gepackte Datei z B ein tar Archiv oder eine zip Datei kann upgeloadet werden Sie wird automatisch entpackt und aus d
20. hig es kann also auch ein abgebrochener Upload ohne Daten verlust fortgef hrt werden e Kaum Minimalanforderungen an den Client die bei einem HTTP Upload vorausgesetzt werden m ssen tempor rer Speicherplatz auf dem Client Rechner e Geringere Anforderungen an den Server der weniger Cache Swap ben tigt e Weniger Overhead beim bertragen der Daten Aufgrund der gestellten Anforderung mu jeder eingesetzte Webbrowser auf der Client Seite die M glichkeit bieten einen FTP Upload durchzuf hren Idealerweise findet dieser FTP Upload per Drag amp Drop statt so da dieser in die Benutzerf hrung der HTML Seiten eingebunden werden kann Alternativ kann der Benutzer auf sehr minimalen Plattformen auch einen FTP Upload mit einem FTP Client durchf hren Um festzustellen ob f r jedes Betriebssystem ein Browser zur Verf gung steht der min destens den FTP Upload beherrscht wurde eine Recherche f r verschiedene Betriebssysteme vorgenommen die die Drag amp Drop Fahigkeit sowie die FTP Upload F higkeit der einzelnen Browser untersucht Tabelle 3 2 zeigt die Ergebnisse der Recherche Die Spalte Upload Men zeigt an ob ein Browser die M glichkeit eines FTP Uploads im Men unter dem Men punkt Datei bzw File bietet Die Recherche zeigt da es f r jedes Betriebssystem mindestens einen Browser gibt der den FTP Upload beherrscht Es lassen sich teilweise ganze Verzeichnisse rekursiv auf den FTP Server uploaden was in der Tabelle dur
21. sind sie durch n getrennt Standardfehlermeldungen e Falsche Parameter Alle Befehle die einen oder mehrere Parameter haben k nnen e invalid arguments zur ckgeben falls die Aufrufsyntax nicht korrekt ist e Falscher Account Befehle die einen Accountnamen als Parameter haben k nnen e invalid account zur ckgeben wenn der angegebene Account nicht existiert e Fehler beim Account Locking Einige Befehle brauchen exklusiven Zugriff auf das Home Verzeichnis das zu dem Ac count geh rt Es wird vor der Operation versucht das Verzeichnis zu locken Falls dies fehlschl gt sind folgende Fehlermeldungen m glich e account locked by a ftp session try again Der Account account ist durch eine Operation des FTP Server gelockt Solange der FTP Server Dateitoperationen durchf hrt darf der netfired keine weiteren ausf hren e account locked by a netfired session try again Der Account account ist durch eine Operation des netfired gelockt Solange der netfired Dateitoperationen durchf hrt darf er keine weiteren ausf hren e error locking account Der Account konnte nicht gelockt werden andere Prozesse k nnen so das L schen behindern Der Account wurde daher nicht gel scht Queue Befehle e Neuen Account anlegen Aufruf new Legt einen neuen Account an R ckgabe o account Bei Erfolg wird der Name des Accounts als account zur ckgeliefert e account limit reached Das Accountlimit ist erreicht Es d
22. tum fo Zurlick Weiter Zur cksetzen Abbildung 2 11 Vornahme der Systemeinstellungen 2 1 2 Die FTP Only Bedienung Neben einer optisch ansprechenden Bedienung ber die Web Oberfl che sollte es auch mit klassischen Konsolen Programmen m glich sein das NetFire System zu nutzen Dies hat den Vorteil da auch ohne einen Web Browser der eine vern nftige FTP Implementierung bein halten mu gearbeitet werden kann Denn wie der Vergleich der unterschiedlichen Browser gezeigt hat siehe Tabelle 3 2 auf Seite 26 ist dies ein oftmals vernachl ssigtes Feature Au erdem ist es in den meisten F llen in denen eine CD remote gebrannt werden soll einfacher direkt in der Konsole zu arbeiten als erst noch die graphische Oberfl che auf den lokalen Rechner umzuleiten Da der Upload der Daten auch mittels WebGui ber FTP erledigt wird haben wir uns dazu entschieden einen Teil der Funktionalit t direkt ber den FTP Server zu realisieren Die Vorgehensweise bei der Bedienung via FTP ist dabei grunds tzlich die gleiche wie ber die WebGUI Zun chst mu der Benutzer einen neuen tempor ren Account anlegen unter dem er dann seine zu brennenden Daten ablegen kann Dazu loggt er sich mit dem Usernamen new auf dem FTP Server ein Das Passwort ist dabei egal Der Benutzer bekommt nach dem Login der bereits unter dem neu angelegten Account geschieht seinen Usernamen mitgeteilt wie Abbildung 2 12 zeigt Jeder Account enth lt ein Verze
23. 2 22m e 108 I PG 391 NetFire ABBILDUNGSVERZEICHNIS Abbildungsverzeichnis 2 dl 2 3 2 4 2 3 2 6 2 2 8 aa 2 10 2 11 2 12 2 13 2 14 4 1 4 2 4 5 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 18 4 14 4 15 4 16 5 1 Dae 5 3 5 4 5 9 5 6 5 7 5 8 Die Startseite der WebGUI ocur a ee e OE A oe W Q 7 Link gum FTP Upload s a 464 42 6 54 64 s 244 Sb a oe ES 8 Die Brenneinstellungen Seite nn 10 HTTP Upload des Boot Images e 11 Die Bestimmung der Reihenfolge der Audio Tracks 11 Anzeige des Inhalts des Archives 12 Beispiel einer Job Status Seite 2 22 CC m mn nenn 13 Die Tabelle mit den Brennauftr gen 14 Die Startseite f r den Administrator 00 002 e 14 Passwort ndering e ua sank kl a Qiu gua ea ee Boe ds 15 Vornahme der Systemeinstellungen 16 WILL a as be arms he Sweet de ta W ge h ma ee are A ord 17 Screenshot des NEWT jobtools 222 2 2 Comm onen 18 Fehlermeldung beim Upload einer ung ltigen Job Control Datei 18 Grobe Softwarestruktur 2 2 2 sa w s s m us s ee 31 Der Datenflu beim Senden von Daten an das NetFire System 32 Ein ISO Image aus dem Archiv des Systems wird gebrannt 34 Ein Auftrag zum Brennen wird vorbereitet o e 35 Ablauf beim Brennen der ED 22 2 0 wen an a ne ann ah 37 Datenflu f r die Abfrage des Status und das L schen eines Brennauftrags
24. Abbildung 4 4 zeigt den Datenflu der Abarbeitung im Detail Der netfired benutzt einen Scheduler um zu kontrollieren wann die Daten in der Queue vorbereitet werden d h wann aus ihnen ISO Images erstellt werden die sp ter durch einen Aufruf von cdrecord gebrannt werden k nnen Der netfired berpr ft so ob einer der ersten beiden Eintr ge in der Queue noch nicht vorbereitet ist und bereitet diesen dann gegebenen falls vor Wenn ein Auftrag in der Queue liegt der vorzubereiten ist so erstellt der netfired ein tempor res Verzeichnis das zum Vorbereiten des Jobs ben tigt wird Anschlie end ruft die ser das Skript nfprepare sh auf Dieses gibt auf dem LCD ber den Icdfired die Mitteilung aus da die CD vorbereitet wird Anschlie end liest dieses Skript die Job Control Datei aus und ermittelt den Typ der CD die gebrannt werden soll ISO Audio gepackte Daten mehrere Dateien etc Wenn der Typ ermittelt ist werden ein oder mehrere Hilfsskripte aufgerufen die die Daten zu einem fertigen ISO aufbereiten das anschlie end gebrannt werden kann Die fertigen Daten werden dann in das reservierte tempor re Verzeichnis verschoben Anschlie end bekommt der netfired ber das Skript nfprepare sh eine R ckgabe da der Job nun fer tig vorbereitet ist Au erdem wird das erfolgreiche Beenden der Vorbereitung auch mit einer Mitteilung auf dem LCD angezeigt PG 391 33 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG
25. Auftragsbearbeitung starten 18 65 L sch Schutz 19 67 Status abfragen 19 66 Verzeichnisstruktur 16 65 Fehlermeldungen 18 19 66 Parameter 67 Vergleich 27 FTP Upload 8 70 description txt 18 65 jobcontrol 17 65 Verzeichnisstruktur 16 G General Public License 5 Gesamtsystem Tests 92 GPL siehe General Public License GUI Software 67 H Homeverzeichnis 18 HTML Formulare 68 Seiten 68 HTTP Upload 10 70 I Image 19 20 Installation CD 40 Integrationsarbeit 100 Integrationstests 92 ISO Image 19 27 J Job Control Datei 17 20 71 94 Datenflu 33 36 38 erstellen 17 Fehler 18 66 jtool 17 K Kenntnisse notwendige 4 w nschenswerte 4 Kommunikationsbedarf 100 Konfiguration 6 Konfigurationsdateien INI Style 108 netfired 62 Shellkompatibel 108 Konsole 16 Kopie 20 Kopien 20 L LCD 6 93 Funktionstatsten 6 ledfired 77 Datenflu 33 Konfiguration 79 R ckmeldungen 78 Socketbefehle 77 ledsetup 75 Bedienung 75 Defaultwerte 77 110 PG 391 NetFire INDEX Konfiguration 76 Leadin 20 Leadout 20 Lernziel 100 libled 73 Emulationsmodus 73 Funktionsreferenz 73 Scrollmodes 75 Login 16 18 M Minimalziel 4 Modul 92 Modulfunktion 92 Modulspezifikation 100 Modultests 92 MP3 19 umwandeln 19 Multisession 20 N Nachbau 4 Nachbedingung 92 Nachrichten 18 NetFire Administration 6 13 Bedien
26. Images Diese Option erm glicht das Brennen von bereits auf der Client Seite erstellten ISO Images 2 2 2 Audio Diese Option erlaubt das Erzeugen von Audio CDs indem man einzelne Tracks als WAV oder MP3 Dateien bertr gt und danach ihre Reihenfolge festlegt Die MP3 Files werden dabei von dem Netfire System in entsprechende WAV Files umgewandelt Sollten mehrere Tracks aus derselben Datei erzeugt werden mu die Datei trotzdem nur einmal bertragen werden 2 2 3 Ganze Verzeichnisstrukturen 2 2 3 1 Durch Upload der kompletten Struktur Man kann eine komplette Verzeichnisstruktur auf die CD bringen indem man diese in Form mehrerer einzelner Dateien bertr gt entweder als einzelne Dateien oder als komplettes Ver zeichnis PG 391 19 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS 2 2 3 2 Durch Upload einer gepackten Datei Alternativ kann man im voraus auf der Client Seite ein ZIP TGZ ARJ oder RAR Archiv erstellen und dieses bertragen Vor dem Erzeugen der CD wird es auf der Serverseite durch das NetFire System automatisch entpackt 2 2 4 CD Direktkopie Es k nnen 1 1 Kopien von CDs erstellt werden Die Original CD wird dabei im NetFire System eingelesen 2 2 5 Kopie einer einer bereits bearbeiteten CD erstellen Man kann die Images von erzeugten CDs in das Archiv stellen so da sp ter bei Bedarf weitere Kopien angefertigt werden k nnen Das Archiv wird vom NetFire System automatisch verwaltet 2 3 Opt
27. Kapitel 3 1 3 gezeigt ist bietet so gut wie jeder Browser die M glichkeit einen FTP Upload durchzuf hren Die konkrete Implementierung sieht folgenderma en aus An der entsprechenden Stelle wird der Benutzer aufgefordert mittels eines Links ein neues Browser Fenster zu ffnen Dieses Fenster stellt das f r ihn bestimmte Zielverzeichnis dar Je nach Browsertyp wird ein Upload entweder per Drag amp Drop oder per Men punkt in der Men leiste 70 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION Netscape initialisiert Dabei wird dem Benutzer die Gr e der bertragenen Dateien auf dem Server angezeigt Auf diese Weise kann der Nutzer kontrollieren ob die ganze Datei auf den Server bertragen wurde oder ob wegen einer St rung die Wiederaufnahme der bertragung n tig ist 4 4 1 8 Job Control Datei Nachdem der Benutzer alle Eingaben die zum Starten eines Brennvorgangs n tig sind gemacht hat werden diese an den netfired Deamon weitergegeben Dies passiert in zwei Schritten Zuerst wird aus den Benutzereingaben die mit Hilfe von HTML Formularen an PHP weiter gegeben wurden und in PHP Variablen gespeichert sind eine Job Control Datei erzeugt Das File wird ins User Home des gerade aktiven NetFire Benutzers geschrieben Es beinhaltet alle Einstellungen die f r das Brennen einer CD relevant sind Im zweiten Schritt wird der NetFire Deamon ber das Socket Interface mit entsprechendem Befehl benachrichtigt i
28. Queue eingetragen Zum Schlu erh lt der Benutzer eine Job ID die f r weitere Statusabfragen oder auch zum L schen des Auftrags verwendet wird 4 1 1 2 ISO aus dem Archiv brennen Das NetFire System gibt dem Benutzer auch die M glichkeit gesendete Dateien auf der Fest platte in einem Archiv abzulegen Dort werden auf Wunsch des Benutzers Daten archiviert und k nnen zu einem sp teren Zeitpunkt wieder gebrannt werden Aus diesem Grund ist es n tig auch den Datenflu zu bedenken wie er beim Brennen einer CD deren Daten aus dem Archiv stammen auftritt Abbildung 4 3 zeigt den Datenflu f r diesen Fall Dieser Datenflu ist dem in Kapitel 4 1 1 1 sehr hnlich Der Webserver zeigt direkt ber ein PHP Skript s mtliche ISO Images an die sich im Archiv befinden Der Benutzer w hlt ber das HTML Interface eines aus und nimmt wie auch im obigen Fall die Einstellungen zum Brennen vor Es wird eine Job Control Datei generiert und der Brennauftrag in die Queue eingetragen Am Ende erh lt der Benutzer eine Job ID und bekommt hier auch den Account angezeigt der dem Webserver schon seit dem Anlegen des Benutzers bekannt ist Dieser Account dient dem Benutzer sp ter als Quasi Passwort wenn er z B den Job wieder l schen m chte 4 1 1 3 Brennauftrag vorbereiten Nachdem der Benutzer die zu brennenden Daten zum Server geschickt hat oder ein Image aus dem Archiv ausgew hlt hat das gebrannt werden soll werden die Daten weiterverarbeitet
29. Verzeichnis Listing mit Null Bytes Gr e angezeigt wird hat dabei jedoch nichts zu bedeuten Dies liegt daran da die Datei erst beim Herunterladen durch den Benutzer mit der vom System zur ckgelieferten Statusanzeige gef llt wird Damit ist sichergestellt da der Inhalt der Datei auch immer dem aktuellen Status entspricht Die Status Datei kann nicht gel scht werden weder zuf llig noch vors tzlich Sollte der Benutzer seinen Brennauftrag vorzeitig aus der Queue entfernen wollen um z B noch etwas an den bertragenen Daten zu ndern oder neue hinzuzuf gen so ist dies ebenfalls m glich Dazu reicht es die Job Control Datei zu l schen Der FTP Server wird den Auftrag daraufhin automatisch aus der Queue des Systems entfernen Damit solche Vorg nge nur dann ausgef hrt werden k nnen wenn der Auftrag noch nicht vorbereitet oder gebrannt wird wird der Account f r diese Zeit vom System gesperrt Sollte es also nicht mehr m glich sein sich einzuloggen so wird der Auftrag gerade vom System bearbeitet Nachdem der Brennvorgang abgeschlossen ist werden die Daten je nach Eintrag in der Job Control Datei entweder ins Archiv verschoben oder gel scht Der tempor re Account wird in jedem Fall entfernt beim n chsten Brennauftrag mu man also wieder einen neuen Account benutzen 2 2 Brennformate Das NetFire System ist in der Lage CDs in verschiedenen Formaten zu erzeugen Nachfolgend sind diese Formate aufgelistet 2 2 1 ISO
30. auf dem Programm basierendes Datenwerk bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne also ein Datenwerk welches das Programm auch auszugsweise sei es unver ndert oder ver ndert und oder in eine andere Sprache bersetzt enth lt Im folgenden wird die bersetzung ohne Einschr nkung als Bearbeitung eingestuft Jeder Li zenznehmer wird im folgenden als Sie angesprochen Andere Handlungen als Vervielf ltigung Verbreitung und Bearbeitung werden von dieser Lizenz nicht ber hrt sie fallen nicht in ihren Anwendungsbereich Der Vorgang der Ausf hrung des Programms wird nicht eingeschr nkt und die Ausgaben des Programms unterliegen die ser Lizenz nur wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt un abh ngig davon da die Ausgabe durch die Ausf hrung des Programmes erfolgte Ob dies zutrifft h ngt von den Funktionen des Programms ab 1 Sie diirfen auf beliebigen Medien unver nderte Kopien des Quelltextes des Programms wie sie ihn erhalten haben anfertigen und verbreiten Voraussetzung hierf r ist da Sie mit jeder Kopie einen entsprechenden Copyright Vermerk sowie einen Haftungsausschlu ver ffentlichen alle Vermerke die sich auf diese Lizenz und das Fehlen einer Garantie beziehen unver ndert lassen und desweiteren allen anderen Empf ngern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen Sie d rfen f
31. auftreten siehe Kapitel weiter oben e Job aus der Queue entfernen Aufruf dequeue account Entfernt den Job der von dem Benutzer mit dem Account account gequeued wurde aus der Queue Alle Jobdaten bleiben erhalten es werden keine Dateien gel scht R ckgabe o Der zu dem Account geh rende Job wurde aus der Queue entfernt e your job is currently being processed Der zu dem Account geh rende Job wird gerade bearbeitet und kann somit nicht gel scht werden 56 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE Status Befehle e Status nach Account Aufruf status_a account Liefert den Statusinformationen des Jobs der zu dem Account account geh rt Riickgabe o jobid pos f_locked f_prepared estimated_time percent f_status start_time queue_time jobtype Tabelle 4 2 zeigt die Bedeutung der einzelnen Positionen e no job queued from this account Von diesem Account wurde kein Job in die Queue gestellt Position Beschreibung jobid Job ID des Jobs der von diesem Account ge queued wurde pos Queue Position des Jobs f locked Gibt an ob der Job gelockt ist Auf ge lockten Jobs k nnen keine Queue Operationen dequeue del angewendet werden Diese schlagen sonst fehl O Job ist nicht gelocked 1 Job ist gelocked f prepared Gibt den Status der Vorbereitung des Jobs an O noch nicht vorbereitet vorbereitet 1 2 Vorbereitung l uft 3 Vorbereitung fehlgeschla
32. die Queue PG 391 61 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG somit leer ist Ist die Queue beim Starten des netfired leer wird dieses Skript allerdings nicht aufgerufen sh_nfperiodic Dieses Skript wird in bestimmten Zeitintervallen aufgerufen Es k nnte z B daf r sorgen da seit l ngerem ungenutzte Accounts auf dem System gel scht werden 4 3 1 4 netfired Konfigurationsdatei Der netfired wird ber die Konfigurationsdatei etc netfired conf konfiguriert Diese Da tei hat den INI Style siehe B 1 Im folgenden sind die Schl ssel aufgelistet user UserID User ID unter der netfired l uft M glich sind die numerische User ID oder ein in etc passwd eingetragener Benutzer group GroupID Group ID unter der netfired l uft M glich sind die numerische Group ID oder eine in etc group eingetragene Gruppe socket filename Dateiname des UNIX Domain Sockets ber den netfired gesteuert wird queue filename Dateiname der Textdatei in der die aktuelle Queue abgespeichert wird accountmaker filename Executable des accountmaker maxaccounts number Limit wieviele Accounts maximal angelegt werden basedir Directory Gibt das Verzeichnis an unterhalb dem die Home Verzeichnisse der Benutzer angelegt werden pwdfile filename Pa wortdatenbank des FTP Servers proftpd grpfile filename Gruppendatenbank des FTP Servers proftpd accountdeleter filename Skript das Accounts und deren Home Verzeichnise l scht
33. diese module PG 391 NetFire 51 KAPITEL 4 SOFTWAREENTWICKLUNG e static char lcd_getkeys void Liest den Status der Taster und gibt diese als Bitcode zur ck Bit 0 Taster 1 Bit 1 Ta ster 2 lowlevel e static ssize_t lcd_fread struct file file char buf size_t count loff_t ppos Alle Lesezugriffe auf das Device File werden hier abgearbeitet Wird Minor 0 gelesen erfolgt die R ckgabe von Werten ber die Funktion Icd_getbyte wird Minor 1 gelesen resultiert der R ckgabewert aus der Funktion 1cd_getkeys module e static int lcd_ioctl struct inode inode struct file file unsigned int cmd unsigned long arg Alle ioctl Zugriffe auf das Device File laufen ber diese Funktion module e static int lcd_open struct inode inode struct file file Alle Anfragen das Device File zu 6ffnen werden hier abgearbeitet Hier befindet sich auch der Locking Mechanismus um mehrmaligen Schreibzugriff zu unterbinden module e static int lcd_release struct inode inode struct file file Alle Anfragen das Device File zu schlie en werden hier abgearbeitet module e int init_lcd void Initialisierung des Kernel Modules Diese Funktionen macht dem Kernel die Device Funktionen bekannt alloziert Speicher bindet das Module an Char Major 240 und re serviert den Parallelport module e int cleanup_lcd void Diese Funktion wird vor dem Entfernen des Kernel Modules aufgerufen Sie gib
34. in current_job Danach folgt eine Auflistung aller anderen Job IDs Dabei hat job folgendes Format jobid pos f_locked f_prepared estimated_time percent f_status start_time queue_time jobtype jobid ist die Job ID die anderen Positionen haben dieselbe Bedeutung wie bei status_a siehe Tabelle 4 2 Die einzelnen Jobs werden in derselben Reihenfolge aufgelistet wie sie abgearbeitet werden Sollte gerade kein Job bearbeitet werden f llt current_job weg Das letzte Element der Liste ist die Anzahl der gequeueten Jobs Alle Listeneintr ge sind durch Leerzeichen getrennt numjobs enth lt die Anzahl der Jobs in der Queue Alle Listeneintr ge sind durch Leerzeichen getrennt e Auflistung aller abgearbeiteten Jobs Aufruf listcompletedjobs Liefert eine Liste aller abgearbeiteten Jobs zur ck ber die mit status_i noch Statusabfragen vorgenommen werden k nnen R ckgabe o job1 jobn numjobs Dabei hat job folgendes Format jobid type completed_time Die einzelnen Jobs werden in derselben Reihenfolge aufgelistet in der sie abgear beitet wurden Das hei t der zuletzt abgearbeitete Job befindet sich am Ende der Auflistung Alle Listeneintr ge sind durch Leerzeichen getrennt numjobs enth lt die Anzahl der Jobs e Auflistung aller Accounts die einen Job in der Queue haben Aufruf listqacc admin_passwort Dieser Befehl entspricht listjobs Hier werden statt den Job IDs die Accounts zur ckgeliefert Das Adminis
35. r den eigentlichen Kopiervorgang eine Geb hr verlangen Wenn Sie es w n schen d rfen Sie auch gegen Entgeld eine Garantie f r das Programm anbieten 2 Sie d rfen Ihre Kopie n des Programms oder eines Teils davon ver ndern wodurch ein auf dem Programm basierendes Datenwerk entsteht Sie d rfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 2 vervielf ltigen und verbreiten vorausgesetzt da zus tzlich alle im folgenden genannten Bedingungen erf llt werden PG 391 103 NetFire ANHANG A GPL 1 Sie m ssen die ver nderten Dateien mit einem auff lligen Vermerk versehen der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Anderung hinweist 2 Sie m ssen daf r sorgen da jede von Ihnen verbreitete oder ver ffentlichte Arbeit die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist Dritten gegen ber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgeb hren zur Verf gung gestellt wird 3 Wenn das ver nderte Programm normalerweise bei der Ausf hrung interaktiv Komman dos einliest m ssen Sie daf r sorgen da es wenn es auf dem blichsten Wege f r solche interaktive Nutzung gestartet wird eine Meldung ausgibt oder ausdruckt die einen geeig neten Copyright Vermerk enth lt sowie einen Hinweis da es keine Gew hrleistung gibt oder anderenfalls da Sie Garantie leisten und da die Benutzer das Programm unter diesen Bedingungen weiter v
36. rfen keine weiteren Accounts angelegt wer den bevor nicht alte gel scht werden e could not run accountmaker error Der accountmaker konnte nicht ausgef hrt werden error enth lt den Fehler grund PG 391 55 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG e error Der accountmaker war nicht erfolgreich aus dem Grund error e error in accountmaker error Im accountmaker ist ein Fehler aufgetreten error kann einen Fehlergrund enthalten Dieser Fehler sollte eigentlich nicht auftreten es sei denn der Ac countmaker ist fehlerhaft e Account und Home Verzeichnis l schen Aufruf del account L scht den Account account Riickgabe o Der Account account und das zugehorige Home Verzeichnis wurden gel scht Es k nnen Account Locking Fehler auftreten siehe weiter oben e Job in die Queue stellen Aufruf queue account Fiigt den Account account als Job in die Queue ein Riickgabe Es k nnen mehrere Zeilen die mit dem Fehlercode e anfangen zur ckgegeben werden 0 Jobid Es wurde ein Job gequeued Dieser Job ist unter der Job ID job d ansprechbar e your job is already queued jobid Jjobid Von diesem Account wurde bereits ein Job gequeued Dieser hat die Job ID jobid e queueing error Beim Einf gen des Jobs in die Queue ist ein Fehler aufgetreten e error error enth lt den Fehlergrund warum der Job nicht in die Queue gestellt wurde Es k nnen Account Locking Fehler
37. selbst in Diagrammen darzustellen Im folgenden werden f r alle wichtigen Datenfl sse bei der Benutzung des Systems Sequenzdiagramme angegeben 4 1 1 1 Daten senden Zun chst ist es interessant wie der Datenflu im einzelnen aussieht wenn der Benutzer ber das oben genannte HTML Interface Daten zum CD Brenner schicken m chte Abbildung 4 2 zeigt den gesamten Datenflu der in diesem Fall auftritt Der Benutzer meldet sich zun chst durch den Aufruf der Startseite beim Webserver an Der Webserver meldet dem netfired den Zugriff eines neuen Benutzers auf den Brenner Da zu PG 391 3l NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Server Netfire FTP netfire Account Server ser PHP Daemon Server config Generator Filesystem T T I i T T l l I I I Anmeldung gt I I Neuer Benutzer gt i i Benutzer Maximum auslesen gt k I I m Antwort Lg Fehler l I I l l I m Account kann nicht angelegt werden 1 Neuse Boni ei i I Account und A Account Uploadverzeichnis l y 2 m Uploadverzeichnis I Datenupload gt l I I Upload fertig gt l I HTML Seite Einstellungen i a Archiv Kommentar Speed usw I Einstellungen senden 2 Create J obcontrol Datei 7 Job Control Datei erzeugen gt Eint
38. sind alle Preise nur Richtwerte Au erdem sind einige Komponenten nicht mehr lieferbar z B ist der C3 Prozessor nur noch mit h herer Taktfrequenz erh ltlich Der Stand der Preise und der Verf gbarkeit ist Juli 2002 3 http wwu formfactors org developer specs sfx sfx12v pdf 4 http wwu spacewalker com german Shttp www reichelt de Shttp www spacewalker com german faq fv24 htm Preise Stand 25 September 2001 Sievers Computer amp Software GmbH Dresden http www siecom de 8 http www spacewalker com german p_sv24 htm PG 391 81 NetFire KAPITEL 5 HARDWARE Menge Bezeichnung Art Nr Einzel Anbieter preis DM 1 PC 133 INFINEON 512MB PC 133 CL3 2682 139 99 K amp M Elektronik 1 SAMSUNG SV6004H 60 0GB 2407 284 99 K amp M Elektronik 1 RICOH RW9200A 20xS 10xWS 40xL 2681 264 99 K amp M Elektronik 1 VIA C3 800MHz Socket370 Prozessor 114 00 ALTERNATE 1 SHUTTLE Barebone SV24 Spacewalker 569 00 SIEVERS 4 Elko 1uF 50V 426946 0 65 CONRAD 1 R Trimm 50k 426865 1 25 CONRAD 1 IC 74LS00D 142867 0 95 CONRAD 1 IC MAX232DW TIS 152308 2 80 CONRAD 1 IC 74LS245DW 144398 1 65 CONRAD 1 Display DIP EA 122 5Nled 181769 61 48 CONRAD 1 Buchsenleiste 20P 2mm 739243 4 30 CONRAD 2 R27 SMD 1206 402354 0 20 CONRAD 2 RO SMD 1206 402222 0 20 CONRAD 2 Taster Miniprint prellfrei schwarz 707600 0 80 CONRAD 1 Stiftleiste 5P 2 54mm gewinkelt 7394
39. und wird hier aufgrund seiner geringen Ko sten verwendet Er beinhaltet zwei Ladungspumpen welche durch das parallele Laden und anschlie endes in Reihe Schalten von Kondensatoren Spannungen verdoppeln und auch um polen kann Der MAX232 erzeugt auf diese Weise aus der Betriebsspannung von 5 Volt die Ausgangspotenziale 10 Volt am Pin V und 10 Volt am Pin V Die Ausgangsleitung V wird nun ber ein Potentiometer R1 50kQ an das Display gef hrt wodurch eine Kontrastregelung m glich ist Dies ist zul ssig da das Display hierf r nur einen Strom von wenigen Microampere ben tigt und so die Ladungspumpe nicht berlastet wird 5 3 2 3 Bidirektionaler Zugriff Das EA 122 5NLED l t sowohl schreibende wie auch lesende Zugriffe auf den 8 Bit breiten Bus zu Kontrolliert wird der Zugriffsmodus durch ein Signal am Eingang R W des Displays l0nttp www conrad de 84 PG 391 NetFire 5 3 DISPLAY UND TASTER Lesende Zugriffe kann man weitgehend vermeiden Diese bieten zwar die M glichkeit de taillierte Informationen ber den Status des Displays zu erhalten notwendig ist aber lediglich ein Auslesen des Busy Signals Dieses wird nach einer Statusanfrage auf einer Datenleitung D7 bertragen Das Display zeigt ber dieses Signal an da die interne Abarbeitung des vor hergehenden Kommandos abl uft Die Verwendung dieses Signals kann Zugriffe auf das Display stark beschleunigen da nicht nach jede
40. zu best tigen oder zu unterbinden aber auch um einfache Einstellungen zu treffen Hierzu dienen zwei Taster welche neben dem Display senkrecht angeordnet sind und eine situationsbedingte Eingabem glichkeit bieten Da solche Benutzerschnittstellen nicht in einbaufertiger Form zu erwerben sind m ssen Display und Taster selbst gebaut werden 5 3 1 Displayauswahl F r die Auswahl des Displays wurden folgende Kriterien festgelegt e Grafikfahigkeit e Gr e entsprechend 3 5 Zoll Schacht e Einfache Kontaktierung e Ansteuerbarkeit per Parallelport Anzahl der ben tigten Leitungen e Hintergrundbeleuchtung e Gute Beschaffungsm glichkeiten Zum Vergleich wurden mehrere Datenbl tter und bereits vorliegende Displays herangezo gen Hierbei hob sich das Display 122 5NLED von Electronic Assembly hervor nttp www electronic assembly de PG 391 83 NetFire KAPITEL 5 HARDWARE Das Display zeichnet sich vor allem durch die Kontaktierung aus Auf der R ckseite befinden sich zwei 9 Pol Stiftleisten im 2mm Rastermaf So ist es m glich das Display durch entspre chende Buchsenleisten auf eine Platine aufzustecken Andere Displays werden blicherweise durch Kontaktleisten am Rand der Displayplatine oder durch Flachleiter Kabel kontaktiert Der Aufbau einer Tr gerplatine mit Buchsenleisten ist deutlich einfacher Das 122 5NLED erf llt auch alle weiteren oben genannten Kriterien Es ist grafikf hig mit einer Aufl sung von 122x3
41. 0 GB eingebaut um die Archiv Funktionalit t zu erm glichen Zusammenfassung Es wurde das vollst ndige PC kompatible System SV24 der Firma Spacewalker vom Formfaktor FlexATX verwendet Die Vorteile lagen in den geringen Kosten von Standardkomponenten f r PCs in deren hoher Leistung und in der guten Kompatibilit t zu dem Betriebssystemen Linux Die Gesamtkosten eines solchen Systems lagen bei etwa 800 DM Nach der Entscheidung f r ein PC kompatibles System stellte sich noch die Frage welche CPU zum Einsatz kommen sollte Das Mainboard des SV24 Systems kann mit CPUs des Typs Sockel370 best ckt werden Damit hatet man die Wahl zwischen den CPUs Celeron der Firma Intel und den CPUs vom Typ C3 der Firma VIA Eine C3 CPU ist sinnvoller da sie weniger Leistung ben tigt als eine vergleichbare Intel CPU Da die Abw rme in einem kleinen System wie dem SV24 eine Rolle spielen kann ist die Entscheidung f r die C3 CPU gefallen Zudem wurde eine Festplatte der Gr e 60 GB ausgew hlt um die Archiv Funktionalit t zu erm glichen 5 2 Bezugsquellen und Preise Im Rahmen der Projektgruppe wurde eine Reihe von Hardwarekomponenten die nach gr ndli chen berlegungen ausgew hlt wurden verwendet Dar berhinaus wurden einige Bauelemente f r die Entwicklung eines an das Gesamtsystem angepassten LC Displays sowie das LCD selbst ben tigt In der Tabelle 5 2 werden die einzelnen Bestandteile aufgef hrt Aufgrund der h ufi gen Preisschwankungen
42. 2 Pixel klein genug f r einen Laufwerksschacht l t sich mit ge ringem Schaltaufwand am Parallelport betreiben hat eine integrierte Hintergrundbeleuchtung und l t sich ber Conrad Elektronik unter der Bezeichnung DIP EA 122 5NLED beziehen 5 3 2 Platinenentwurf und Best ckung 5 3 2 1 Problemstellung Das EA 122 5NLED verf gt ber einige Figenschaften die ein direktes Anschlie en an den Parallelport und die Spannungsversorgung eines PCs nicht erlauben Zu l sende Probleme waren im einzelnen e Eine Kontrastspannung von 4V wird ben tigt e Das Display arbeitet bidirektional der Parallelport soll unidirektional betrieben wer den um Kompatibilit t zu lteren Systemen und einfache Treiberimplementierungen zu gew hrleisten e Um das Display vollst ndig ansteuern zu k nnen ben tigt man eine Steuerleitung mehr als der Parallelport zur Verf gung stellt e Stromversorgung f r Hintergrundbeleuchtung e Das Gesamtkonzept sieht zwei Taster f r Benutzereingaben vor 5 3 2 2 Erzeugung einer negativen Kontrastspannung Das Display ben tigt eine Kontrastspannung von ca 4 Volt Da das Display ber einen Lauf werksstecker mit Spannung versorgt werden soll an dem nur 5V und 12V zur Verf gung stehen mu die Kontrastspannung durch eine Schaltung auf der Displayplatine generiert wer den Erzeugt wird die negative Spannung durch einen IC MAX232 Abb 5 1 IC2 Dieser IC ist eine Treiberstufe f r die RS232 Schnittstelle
43. 64 0 45 CONRAD 1 Stiftleiste 2x8 gewinkelt 742171 1 00 CONRAD 1 Pfostensteckvb 2x8 Kabelmont 742198 1 95 CONRAD 1 Flachbandkabel 16P 1m 609412 2 65 CONRAD 1 25P SubD Stiftl 741671 1 15 CONRAD 1 Geh use Sub D 711780 2 30 CONRAD 1 Satz Verriegelungsschrauben kurz 711136 2 15 CONRAD Tabelle 5 2 Hardware Bestandteile und Bezugsquellen 82 PG 391 NetFire 5 3 DISPLAY UND TASTER 5 2 1 Genaue Angaben zu den Bezugsquellen Anbietern K amp M Elektronik Blumenstrasse 21 71106 Magstadt Fax Nr 07159 943 222 SIEVERS COMPUTER UND SOFTWARE GMBH Freiberger Str 69 71 01159 Dresden Fax Nr 0351 86675 33 ALTERNATE Computerversand GmbH Philipp Reis Str 9 35440 Linden Fax Nr 06403 905020 CONRAD Electronic Klaus Conrad Str 1 92240 Hirschau Fax Nr 0180 5312110 5 3 Display und Taster Das NetFire System ist als Stand Alone Ger t konzipiert d h es soll ohne externe Ger te wie Tastatur Maus und Monitor auskommen Es ist aber notwendig dem Benutzer Informationen mitzuteilen ohne das Webinterface zu verwenden Soll z B eine Grund Konfiguration erfolgen wie das Einstellen der IP Adresse des NetFire Rechners oder sollen vor Ort Informationen angezeigt werden z B welche CD gerade fertig gestellt wurde oder welcher Rohlingtyp als n chstes eingelegt werden mu so wird ein Display am NetFire Rechner unerl lich Dieses ben tigt nat rlich auch Eingabem glichkeiten um Aktionen
44. Control Datei nicht erst nach einer l nge ren Wartezeit festgestellt werden sollen wenn der Queueeintrag an der Reihe ist und der Brennvorgang ausgefiihrt werden soll wird das Parsen der Datei vom Daemon vor der Einstellung des Auftrags in die Queue durchgefiihrt Bei einer korrekten Job Control Datei wird dem Anwender der Upload der Job Control Datei normal best tigt Bei ei nem aufgetretenen Fehler leitet der FTP Server die genaue Fehlerursache die ihm der netfired bermittelt hat an den FTP Client weiter Wie schon im Kapitel 2 1 2 erw hnt wurden daf r zwei Mechanismen kombiniert um si cherstellen zu k nnen da der Anwender auch in der Lage ist in seinem FTP Client den Fehlergrund zu sehen Der Server schickt einerseits bei einer fehlerhaften Job Control Datei eine negative Best tigung an den Client die als Text den Grund des Parsingfehlers enth lt Da viele FTP Clients den Text des FTP Servers aber ignorieren und statt dessen eigene Fehlermeldungen f r einen fehlgeschlagenen Upload anzeigen wird zus tzlich noch eine Datei namens message generiert Sie enth lt den gleichen Text den der Anwender auch gesehen h tte wenn sein FTP Client ihm die Fehlermeldung des Servers unverf lscht gezeigt h tte und wird vom ProFTPd bei einem Wechsel in das Home Verzeichnis ange zeigt F r diese Meldungen gibt es in den FTP Clients keine vordefinierten Texte da es sich nicht um Fehler oder Best tigungen sondern eben um Informationen vo
45. E Std 1394 1995 2 INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS Carrier Sence Multiple Ac cess with Collision Detection CSMA CD Access Method and Physical Layer Specifikati ons 1985 IEEE Std 802 3 1985 2 CARASSO C J PEEK und J SINJOU The Compact Disc digital Audio System Philips Tech Rev 1982 Vol 40 No 6 Nov 1982 pp 151 2 FUJITANI LARRY Laser Optical Disk The Coming Revolution in On Line Storage Com munications of the ACM 1984 Vol 27 No 6 pp 546 554 2 C T MAGAZIN F R COMPUTERTECHNIK 200000 Seiten auf einer Scheibe CD ROMs auf dem Vormarsch c t 3 87 S 24 1987 Messebericht von der CeBIT ber verf gbare CD ROM Anwendungen und CD ROM Laufwerke 3 GRAVESTEIJN D Materials developments for write once and erasable phase change op tical recording Appl Opt 27 pp 736 738 1988 3 THE ORANGE FORUM OFFICE http www orangeforum or jp e index htm 2001 3 OPTICAL STORAGE TECHNOLOGY ASSOCIATION http www osta org 3 KozLovskY W Optical Recording in the Blue Using a Frequency Doubled Diode Laser SPIE Proceedings 1992 3 KURT S The Physics of Optical Recording Springer Verlag Berlin 1993 3 OTHA T K YOSIHIOKA H ISOMURA und T AKIYAMA High sensitivity overwritable phase change optical disk for PC systems in Optical Data Storage 95 1995 R Knight H Ooki and S T Tyan eds Proc SPIE 2514 pp 302 311 3 YOKOTA C T SASAKAWA und H HYAKUTAKE Phthalocyanin
46. Handshake Mechanismus Daten an das Display Hierzu sind diverse Lowlevel Zugriffe erforder lich Module Funktionen dienen der Kommunikation mit dem System Sie melden das Kernel Module an oder ab nehmen Daten vom Devicefile entgegen und sorgen f r die Verwaltung der internen Datenstrukturen Es sind folgende Funktionen im Module implementiert e static inline unsigned char r_str Diese Funktion liefert den Status des Parallelports invertierte Bits lowlevel e static inline void w_ctr Schreibt den Control Mirror in das Control Register des Parallelports und wartet 100ns lowlevel e static inline void lcd_data unsigned char y Schreibt y in das Datenregister des Parallelports lowlevel e static inline void lcd_e_low Setzt El und E2 auf low lowlevel 50 PG 391 NetFire 4 2 SYSTEMSOFTWARE ENTWICKLUNG static inline void lcd_el_high Setzt El auf high lowlevel static inline void lcd_e2_high Setzt E2 auf high lowlevel static inline void lcd_a0_high static inline void lcd_a0_low Setzt AO auf high bzw low lowlevel static inline void lcd_read Setzt die R W Leitung am Display auf high Display im Write Modus der Treiber liest Daten lowlevel static inline void lcd_wait Wartet auf Busy Low am Display Seiteneffekt Display wird in den Zustand Read Sta tus geschaltet lowlevel static inline void lcd_write Setzt die R W Leitung am Display auf low Display im Re
47. KDIR emdebsys addons cd tmp netfiretgz su c tar czf netfireopttgz tgz netfireopt tgz cp tmp netfiretgz netfireopt tgz WORKDIR emdebsys addons cp tmp netfiretgz netfireopttgz tgz WORKDIR emdebsys addons cp tmp netfirelcd tgz WORKDIR emdebsys addons cd WORKDIR emdebsys snp su c snp py gt snp log cd WORKDIR Die dabei entstehende Datei tmp emdeb files tgz kann direkt f r die Erzeugung der Installations CD verwendet werden den Kernel dazu findet man unter WORKDIR emdebsys snp snp cache linux arch i386 boot bzImage Hine detailiertere Be schreibung des Emdebian Systems findet sich unter 4 2 2 Dadurch da bei der Generierung des emdebsys Systems Aktionen ausgef hrt werden m ssen die Superuser Rechte erfordern Anlegen von Device Files Mounten von Dateisystemen usw sind die su c Einleitungen notwendig PG 391 99 NetFire KAPITEL 9 FAZIT Kapitel 9 Fazit Jeder Teilnehmer dieser Projektgruppe wird wohl sein ganz pers nliches eigenes Fazit aus der Arbeit der vergangenen 12 Monate ziehen Besonders herauszustellen sind aber einige Punkte welche wohl Allgemeing ltigkeit f r die Gruppe besitzen W hrend der Projektgruppe hat sich wohl f r jeden gezeigt wie wichtig eine l ngere Pla nung und ausf hrliche Recherche vor dem Bearbeiten eines gr eren Problems sind Ohne diese h tte unser Fokus bei der Entwicklung wohl auf anderen Aspekten gelegen und wir h tten nicht das S
48. L schen der gesamten Queue vom Administrator darstellt Passwort nderung in der Administration Zur Passwort nderung meldet sich der Administrator wieder zun chst mit seinem bisherigen Passwort an Dieses wird vom Webserver anhand des htaccess Mechanismus berpr ft War das Passwort korrekt so wird dem Administrator die HTML Seite zum ndern des Passworts angezeigt Dieser mu hier zur Verifikation noch einmal sein altes Passwort und das neue Passwort zweimal eingeben Die doppelte Eingabe des neuen Passworts dient dazu Tippfehler bei der Passworteingabe zu vermeiden Nachdem der Administrator die Eingaben abgesendet hat wird vom Webserver nach der berpr fung des alten Passworts das neue Passwort ver schl sselt und in die passwd Datei geschrieben wo es f r zuk nftige Passwortabfragen dem htaccess Mechanismus des Webservers zur Verf gung steht 4 2 Systemsoftware Entwicklung In diesem Abschnitt wird n her auf die Eigenentwicklungen im Betriebssystembereich ein gegangen Das betrifft sowohl die Weiterentwicklungen an Emdebian das von uns gew hlte Betriebssystem als auch die Erstellung des Treibers f r das LCD und die Installations CD 4 2 1 Software zur Installation Aufbau der Installations CD Die Installations CD besteht aus einem minimalen Linux System in Form einer RAM Disk einem Kernel und dem gepackten Archiv des zu installierenden Systems Emdebian Diese CD ist bootf hig und installiert ohne Eingriff des Benu
49. PG 391 NetFire 2 1 BEDIENUNG Neues Passwort Auf dieser Seite kann die Passwort nderung des Adminbereiches vollzogen werden Dazu stehen dem User drei Textfelder zur Verf gung in denen er zuerst das alte dann das neue Passwort eingeben kann Zur Sicherheit muss in dem dritten Textfeld das neue Passwort nochmals ein gegeben werden Mittels des Zur cksetzen Buttons werden die Eingabefelder gel scht Beim Klicken auf den Zur ck Button gelangt man zu der vorherigen Admin Anfangsseite Weiter vollzieht die gew nschte nderung Falls das alte Passwort nicht stimmen sollte erscheint die selbe Seite erneut mit einer entsprechenden Meldung Passwort nderung A Altes Passwort Neues Passwort Neues Passwort wiederholen Neue CD brennen Zur ck Weiter Zur cksetzen Job Status anzeigen Administration passwortgesch tzt Abbildung 2 10 Passwort nderung Queue Eintr ge l schen Die aktuellen Brenneintr ge werden in einer Tabelle angezeigt Zu jedem Eintrag werden fol gende Informationen bereitgestellt Die laufende Nummer Account des Benutzers die voraus sichtliche Startzeit und die Uhrzeit seit wann sich der Job in der Warteschlange befindet sowie der Typ des Jobs Au erdem kann der Administrator in der zweiten Spalte der Ta belle den jeweiligen Auftrag zum L schen ausw hlen indem die Checkbox markiert und der Jobs entfernen Button angeklickt wird Falls ein Job gerade gebrannt wird oder sich in
50. S NETFIRE SYSTEMS jobcontrol Generator v 1 Options Mode Delete Normal lt gt Mode 1 lt gt No Zipfile lt gt Mode 1 Rau gt All Directory lt gt Mode 2 gt Fast Cue lt CDRWIN gt MMC gt Audio Toc lt cdrdao gt e Tenge CX DAO Filename image tgz Optional Settings L Multisession Speed X Archive BootImage Copies TEN Email etfire localhost Abbildung 2 13 Screenshot des NEWT jobtools Ist das Parsing fehlgeschlagen da die Job Control Datei offensichtliche logische oder syn taktische Fehler enthielt so wird der Upload der Datei gar nicht erst positiv best tigt sondern vom FTP Server eine Fehlermeldung zur ckgeschickt Diese sollte normalerweise von FTP Clients angezeigt werden Bei vielen Clients wird allerdings nicht die tats chlich vom Server bermittelte Fehlermel dung angezeigt sondern eine Standard Meldung des Clients Damit der Benutzer trotzdem den Grund f r den Parsingfehler erf hrt wird beim n chsten Wechsel in das Home Verzeichnis eine Nachricht vom FTP Server zum Client geschickt Diese Nachrichten haben sich als beste M glichkeit erwiesen um Meldungen durch den Client an den Benutzer zu leiten da sie in al len RFC konformen 20 FTP Clients angezeigt werden Es reicht hierbei auch aus statt eines neuen Logins oder eines Wechsels in ein anderes Verzeichnis gefolgt von einem Wechsel zur ck in das Homeverzeichnis einfach ein CWD auszuf hren Ein Beispiel daf
51. Universitat Dortmund Lehrstuhl Informatik XII 44221 Dortmund Endbericht Projektgruppe 391 NetFire Entwicklung eines CD Brenners mit Netzwerkschnittstelle Sommersemester 2002 Projektgruppe 391 NetFire Entwicklung eines CD Brenners mit Netzwerkschnittstelle Endbericht 24 Juli 2002 INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Einleitung 1 11 PG 394 Netfire pe ccr ana a vos na W a w s s Qua a s w ana A A 1 EE Men ee een rn ee ta Brake Bei 1 1 12 Zeitraum ee a eae daw A el 1 1 13 MAME o u 204 a eer E E RA ee A 1 LLA Veranstalter pec 2223 223 45 Wb EE S SUS ee D WU SUYO S S 1 1 15 Internetadresse 2 v saca 2 dea gori a a a a W ae 1 1 1 6 PGrAufgabe 2 a s s n a h s s sn h asa s W ee 1 1 1 7 Teilnahmevoraussetzungen e 4 1 18 Minimale ose a BS ae Be a S er dn E N 4 12 Teilnehmer ace t enrian S Ar ee we Pe ee Neus ek Da 5 1 3 Nutzungsvereinbarung 5 1 4 Struktur des Berichts 2 2 2 s Coon onen 5 2 Features des NetFire Systems 6 2 1 Bediening lt s rece woe dh an a a S w w E WU w W sU E Q e ee WOW WN 6 2 1 1 Bedienung per WebGUI anaa 7 2 1 2 Die FTP Only Bedienung o o i sosai aacr so aaa 2 02222 W ee 16 2 2 Brennformate gt o ss css asa sa s sn w a een 19 221 DO Fee a ie w seus Ge maaa w e and we us OE Q Q Gb aq e 19 DEI MOG ao ea e GQ OS Da Son Q NG Qaqa mi EE RU Y ene SEN hiq Med a m a 19 2 2 3 Ganze Verzeichnisstrukturen a 19 2 2 4 GD D
52. Upload von Daten aus denen ein Image erstellt wird Upload von komprimierten Daten die noch entpackt werden m ssen bevor das Image erstellt wird Upload von Audio Dateien in einem wav oder mp3 Format e Auswahl eines ISO Image aus einem Archiv e Erstellung einer CD Kopie Der grobe Ablauf besteht aus drei Schritten 1 Auswahl einer der oben erw hnten M glichkeiten 2 Upload der Daten bzw Wahl eines ISO Image im Archiv oder Einlegen einer zu kopie renden CD abh ngig vom letzten Punkt 3 Festlegen der Einstellungen die den Brennvorgang betreffen 4 4 1 4 HTML Seiten Nach dem Abschlu der ersten Entwicklungsphase in der die Papier Prototypen und die Ablauf bzw Sequenzdiagramme des Brennvorgangs erstellt wurden sind sukzessive die ei gentlichen HTML Seiten implementiert worden Unter Ber cksichtigung der Sequenzdiagram me wurde die logische Reihenfolge und Verkn pfung der einzelnen Seiten festgelegt und im Zusammenspiel mit PHP vervollst ndigt In dieser Arbeitsphase wird zuerst auf die Funktio nalit t geachtet und das Design nur eigeschr nkt berdacht und verwirklicht In dieser Hin sicht sind aber schon grundlegende Entscheidungen getroffen worden Die Web Seiten sollen vor allem dem Benutzer ein einheitliches Erscheinungsbild vermitteln und ein gewisses Ma an bersichtlichkeit bieten Das Grundger st der Seiten das im Verlauf der Interaktivit t mit dem User beibehalten wird wird mit Hilfe von insgesamt
53. Verzeichnissen anderer Benutzer sehen k nnen Dies ist vor allem deswegen wichtig da die einzelnen tempor ren Accounts kein Passwort haben Kennt jemand also den zuf llig aber eindeutig generierten Namen eines anderen Benutzers so k nnte er sich ohne Probleme unter diesem Account einloggen Weiterhin wird die Sicherheit der abgelegten Daten der Benutzer durch die Konfigura tionsdirektiven HideNoAccess und IgnoreHidden gesichert Diese Optionen veranlassen den FTP Server Dateien oder Verzeichnisse auf die man keine Zugriffsrechte hat gar nicht erst anzuzeigen 4 4 Software Entwicklungen zur User Interaktion Das NetFire System soll es dem Benutzer erm glichen bequem und ohne Spezialsoftware das System zu bedienen Weiterhin soll das System platzsparend und kosteng nstig sein weswegen auf eine Bedienung per Tastatur und Monitor verzichtet wurde So entstand die Idee eine HTML Oberfl che zu gestalten welche Benutzung und Administration des Systems zul t Zur Ausgabe von einfachen Meldungen und zur Grundkonfiguration soll ein kosteng nstiges LC Display mit zwei Tastern dienen 4 4 1 WebGUI 4 4 1 1 Motivation und Ziele Im Rahmen unseres Projektes wird eine WebGUI bereitgestellt Diese erm glicht dem Benutzer einen komfortablen Zugriff auf das Gesamtsystem Die Aufgabe besteht nun darin die Steuerung des Brennvorgangs auf mehreren HTML Seiten darzustellen Des weiteren soll dem Nutzer eine Unterst tzung bei der Anfrage an das B
54. a kenn 24 3 2 bersicht der FTP F higkeit von Webbrowsern 26 3 3 Ideale Systemkonfigurationen f r den FTP Upload per Drag amp Drop 26 4 1 ioctl Befehle f r den LCD Treiber e 50 42 R ckgabepositionen des Befehls status a 57 4 3 Parameter f r accountmaker a 64 4 4 Parameter f r accountdeleter sh 2 CC Emmen 64 45 Die Serollmodes der labled ua 2 k sa s ms e y yke 75 4 6 Default Werte f r etc netfire config 2 2 22 nennen 77 5 1 Formfaktoren der ATX Standards 2 2 2 2 on on nen 80 5 2 Hardware Bestandteile und Bezugsquellen 82 5 3 Displayfunktionen ber INIT und AUTOFEED des Parallelports 85 7 1 bersicht einiger Verzeichnisse auf der Archiv CD 97 PG 391 V NetFire Kapitel 1 Einleitung 1 1 PG 391 NetFire 1 1 1 Thema NetFire Entwicklung eines CD Brenners mit Netzwerkschnittstelle 1 1 2 Zeitraum Wintersemester 2001 2002 und Sommersemester 2002 1 1 3 Umfang Jeweils 8 Semesterwochenstunden 1 1 4 Veranstalter Universit t Dortmund Fachbereich Informatik Lehrstuhl 12 Technische Informatik und Eingebettete Systeme Dipl Inform FH Ing Jens Wagner Dipl Inform Heiko Falk 1 1 5 Internetadresse http 1s12 www cs uni dortmund de netfire 1 1 6 PG Aufgabe 1 1 6 1 Motivation Betrachtet man die Tendenzen bei der Entwicklung von Software und Hardware Produkten im Laufe der letzten Jahre so kann generell festgestellt werden da S
55. ad Modus der Treiber schreibt Daten lowlevel static inline void lcd_opcode int a0 unsigned char data int left int right Schreibt data in die durch die booleschen Werte left und right spezifizierte n Dis playcontroller Die Leitung AO wird entsprechend dem Wert in dem booleschen Parameter a0 gesetzt highlevel static inline void lcd_reset F hrt einen Hardware Reset am Display durch und initialisiert es anschlie end highlevel static void lcd_parport_claim struct pardevice dev Reserviert den in dev spezifizierten Parallelport module static void lcd_parport_release struct pardevice dev Gibt den durch dev spezifizierten Parallelport frei module static void lcd_putbyte unsigned char data Das Byte data wird in das Display RAM geschrieben Alle n tigen Parameter werden an gepa t z B Position und eine Kopie des Datenbytes im Speicher abgelegt Wenn n tig werden am Display die richtige Bank und Spalte entsprechend der Position eingestellt highlevel static ssize_t lcd_fwrite struct file file const char buf size_t count loff_t ppos Device Funktion Alle Schreibzugriffe auf das Device werden hier ausgewertet Schreib zugriffe auf Minor 0 werden durch 1cd_putbyte in das Display RAM geschrieben alle anderen Zugriffe liefern einen Fehler module static unsigned char lcd_getbyte void Liest ein Datum von der Kopie des Display RAMs ab der aktuellen Position und inkre mentiert
56. aket GRUB insbesondere die Dateien usr sbin grub sowie boot grub stagel und boot grub stage2 ben tigt Die erforderlichen Anpassungen k nnen durch die Variablen am Anfang des Skriptes netsoft install scripts bin partition rc S vorgenommen werden Danach wechselt man in das Verzeichnis netsoft install und ruft das Skript makeimage sh auf Das Ergebnis findet sich unter tmp netfire iso und kann mit entsprechenden Tools auf eine CD gebrannt werden 98 PG 391 NetFire Erstellen des Images Sollten gro e Anpassungen notwendig sein z B SCSI statt IDE oder ein anderes Display mu das Emdebian Image vorher erstellt werden Dazu sind folgende Voraussetzungen zu erf llen e Im Arbeitsverzeichnis m ssen die Module emdebsys lcd und netsoft sowie im Unter verzeichnis emdebsys snp snp cache linux die Kernelquellen des Linux Kernels 2 4 18 liegen Nachdem die notwendigen Anpassungen vorgenommen wurden wird ein Root Filesystem er zeugt indem man aus dem Arbeitsverzeichnis im folgenden WORKDIR genannt folgende Schritte ausf hrt cd netsoft su c make clean configure prefix enable full with webgui opt var www localstatedir opt var su c make tgz cd cd lcd su c make clean make INCLUDEDIR WORKDIR emdebsys snp snp cache linux include su c make tgz PREFIX tmp lcdtgz INCLUDEDIR WORKDIR emdebsys snp snp cache linux include cd cp tmp netfiretgz netfire tgz WOR
57. alle Displayausgaben durch ASCII Grafik auf die Standardausgabe gegeben werden Die angegebene Datei mu dazu jedoch als leere Datei existieren e int lcd_close Schlie t die Kommunikation mit dem LCD Treiber PG 391 73 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG int lcd_setfont const char fontname L dt ein PSF Fontfile zur Textausgabe Textausgaben sind erst g ltig wenn eine Schrift art geladen ist void lcd_setscollmode lcd_scrollmode mode Beeinflu t das Scrollverhalten bei Textausgabe Die Scrollmodes sind in Tabelle 4 5 do kumentiert int lcd_putchar char c Gibt das Zeichen c an der aktuellen Cursorposition aus void 1lcd_dump_buf fer Gibt alle gepufferten Grafikdaten auf das Display aus int lcd_clear L scht Display und Puffer umgehend int lcd_setcurpos int x int y Setzt die Cursorposition fiir Textausgabe z und y sind Angaben in Pixel int lcd_getcurpos int x int y Liefert die Cursorposition f r Textausgaben in Pixel int lcd_printf const char format Gibt einen Text auf das Display aus Die Parameter entsprechen der C Funktion printf int lcd_setpixel int x int y char pixel Setzt das Pixel an der Position z y wenn der Wert pizel ungleich 0 ist Ansonsten wird das Pixel gel scht int lcd_getpixel int x int y Liefert den Wert 0 oder 1 des angegebenen Pixel char lcd_getkeystate int wait Liefert den Zustand der Display Taster wenn dev lcduser existiert
58. ansonsten werden Eingaben von der Tastatur entgegengenommen wartend Das Ergebnis der Abfrage ist eine Zahl von 0 kein Taster bis 3 beide Taster jedoch als ASCII Zeichen also die Werte 0x30 bis 0x33 Ist das Flag wait gesetzt wird gewartet bis ein Taster gedr ckt wurde Im Emulationsmodus wartet die Bibliothek auf die Eingabe einer Zahl 1 bis 3 gefolgt von Return void lcd_loadsprite const char fname int x int y L dt eine PCX Datei und generiert daraus Sprite Daten mit den Koordinaten z y Der R ckgabewert ist ein Handle auf dieses Sprite f r den weiteren Gebrauch und darf erst nach Freigabe des Sprites vernichtet werden void lcd_unloadsprite void sprite int buffered Entfernt das Sprite aus dem Speicher Danach wird sprite ung ltig void lcd_movesprite void sprite int x int y int buffered Setzt das Sprite sprite auf die Koordinaten z y 74 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION Icd_scrollmode Bedeutung led_none Der Cursor bleibt an der letzten Position stehen led_rewrite Der Cursor wird in die linke obere Ecke gesetzt wenn er den unteren Rand iiberschreitet led_hard Es wird wenn n tig eine Zeile weiter gescrollt led_soft wie Led bord jedoch wird pixelweise gescrollt Tabelle 4 5 Die Scrollmodes der 1iblcd e void lcd_hidesprite void sprite int buffered Entfernt das Sprite sprite vom Display bel sst es aber im Speicher e void
59. aren f r das Abspielen von Musik entwickelt Mit Hilfe eines globalen Standards gelang es die Akzeptanz der Ger te in Folge von gesteigerter Investitionssicherheit und Kompatibilit t zu erh hen Die Firmen Sony und Philips waren federf hrend in der Entwicklung der Standards Bereits 1980 legten sie die physikalischen Abmessungen und die Datenstruktur auf der Audio CD CD DA im Red Book fest Die Daten werden auf einer Scheibe von 120mm Durchmes ser und 1 2mm Dicke gespeichert Die CD besteht aus zwei durchsichtigen Plastikscheiben zwischen denen eine teilreflexive Schicht aus Aluminium aufgebracht ist Die Informationen sind mit Hilfe von Erhebungen oder L chern in der Reflextionsschicht kodiert hnlich ei ner Schallplatte ist die Datenspur spiralf rmig um den Mittelpunkt angeordnet nicht etwa in kreisf rmigen Sektoren wie bei magnetischen Datentr gern Erste Ger te die Daten von einer Compact Disk CD ROM lesen konnten erreichten den europ ischen Markt 1987 8 Mit der Verf gbarkeit von Leseger ten wurde die Kluft zwi schen den damaligen Archivierungsm glichkeiten deutlich Schlie lich betrug die Kapazit t einer gew hnlichen Harddisk 20 MByte die Kapazit t einer damaligen CD ROM immerhin 650 MByte Entsprechend wurde die Entwicklung beschreibbarer Medien fokusiert 9 Bereits 1988 waren die ben tigten Materialien entwickelt um CDs einmal zu beschreiben 10 11 In weiteren Arbeiten der Folgejahre 12 13 14 15 wurde d
60. arser Skripten CVS netsoft webgui Webseiten von NetFire CVS netsoft lcdfired Daemon zum Nachricht senden ber das LCD CVS netsoft skripts Aufr umen von verwaisten Home Verzeichnissen CVS netsoft lcdsetup Eingabe von IP usw ber LC Display CVS netsoft configurator Skript zum setzen von Config Dateien CVS netsoft install Skripten f r die Install CD CVS netsoft liblcd Libary des LC Display Treibers CVS netsoft cd_ok Sourcecode zum Schublabenhandling des Brenners CVS eagle Eagle Schaltpl ne der Display Platine CVS zb Hauptverzeichnis des Zwischenberichts CVS liblcd Linux Kernel Modul f rs LC Display CVS interfaces Beschreibung der Interfaces der NetFire Module CVS bugreport Fehlerbericht von NetFire w hrend der Entwicklung CVS endbericht Hauptverzeichnis des Endberichts CVS artwork NetFire CD Aufkleber CD H llencover und Logos DOCS hardware lcd Bilder vom LC Display DOCS hardware sv24 Bilder von der Hardware DOCS SEMINARE Seminararbeiten der PG Teilnehmer DOCS software Dokumentationen CD ROM Spezifikationen DOCS BESTELLUNGEN Bestellungen der Hardware PROTOKOLLE Protokolle der PG Sitzungen SONSTIGE Fotos der PG Teilnehmer Sequenzdiagramme Testarchive Tabelle 7 1 bersicht einiger Verzeichnisse auf der Archiv CD PG 391 NetFire 97 KAPITEL 8 INSTALLATIONSANLEITUNG Kapitel 8 Installationsanleitung Einleitung In diesem Kapitel werden die Schritte beschrieben wie man zu einem funktionierenden NetFire Sy
61. ations CD Beginn und Ende der Installation werden dem Benutzer durch Meldungen auf dem LCD sichtbar gemacht Anmerkungen Mit den oben genannten Punkten ist die Installations CD unflexibel nderungen oder Ab weichungen der benutzten Hardware erfordern ein Anpassen der Installationsskripte oder des Kernels Das kommt daher da auf jegliche Benutzereingaben w hrend der Installation ver zichtet wird Ziel ist es gewesen eine Installationsroutine zu entwickeln die auf einem NetFire System optimal funktioniert schlie lich sind an einem NetFire System standardm ig weder Monitor noch Tastatur angeschlossen 4 2 2 Embedded Debian Weiterentwicklung Nach der Entscheidung der PG Net Hire Linux als Betriebssystem einzusetzen stellt sich die Frage welche Distribution eingesetzt werden soll Grunds tzlich gibt es zwei M glichkeiten eine Desktop Distribution wie SuSE oder RedHat oder eine Distribution die speziell auf die Anforderungen von Embedded Systems zugeschnitten ist Wir haben uns f r eine Embedded PG 391 43 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Distribution entschieden da diese platzsparender ist und wir uns damit die Option offen halten das NetFire System auch mit einem Flashspeicher zu booten Bei der Evaluierung von freien Embedded Linux Distributionen ist aufgefallen da nur wenige flexible und gut skalierende L sungen verf gbar sind Eine besonders elegante L sung stellt das Emdebsys System von Embed
62. auf un berwindbare Schwierigkeiten Dies liegt zum einen daran da f r jedes Ger t eigene betriebssystemspezifische Treiber ben tigt werden wo bei h ufig viele g ngige Betriebssyteme nicht unterst tzt werden Andererseits sind die g ngi gen Standards zum Anschlu von Peripherieger ten wie CD Brenner aneinem Rechner nicht f r den Einsatz in heterogenen vernetzten Umgebungen geeignet wie die folgende bersicht verdeutlicht SCSI 1 16 Bit breiter Datenbus zum Anschlu von max 15 Ger ten am einem Kontroller bei einer max Busl nge von drei Metern Es werden keine Treiber ben tigt aber die Adressen der Gr te werden mechanisch codiert Hot Plug and Play ist nicht m glich die mechanische Verbindung ist wegen diverser verschiedener Steckverbinder und Termina toren sehr aufwendig und unflexibel PCMCIA 2 Wird haupts chlich im Notebook Bereich eingestzt so da Desktop Rechner i d R nicht unterst tzt werden Der Standard definiert 6 verschiedene Bauformen so da mechanische Inkompatibilit ten gegeben sind PCMCIA erlaubt Hot Plug and Play wobei allerdings lediglich eine 1 zu 1 Verbindung zwischen Ger t und PCMCIA Anschlu gegeben wird Der Einsatz spezifischer Treiber ist notwendig USB USB2 3 Mit Hilfe von Hubs k nnen bis zu 127 USB Ger te an einen Rechner ange schlosssen werden Hot Plug and Play ist m glich wobei dies durch das Betriebssystem unterst tzt werden mu Plattformabh ngige Treiber sind notwe
63. barkeit entwickelt Die Programmierer wollten damit die Features des Wu ftpd bertreffen und gleichzeitig einen sicheren Server anbieten Da dies offenbar gelungen ist sieht man an den relativ langlebigen Versionen und an den vielen gro en Projekten die den ProFTPd als Server einsetzen So wird u a ftp kernel org oder gnu org mit dem ProFTPd betrieben Was die Anpassung an die Erfordernisse anging war bei diesem Programm vor allem von Vorteil da viele Funktionen die sonst nur vom Glftpd gebo ten werden bereits integriert sind So k nnen z B Verzeichnisse auf die ein User keinen Zugriff hat von vornherein versteckt werden oder die Usernamen der anderen User auf dem FTP durch einen Standard String ersetzt werden Diese Funktionalit t hat uns in der Entwicklung viel zus tzliche Arbeit erspart Durch die vom Apache iibernommene Konfigurationssprache ist es auch m glich deutlich komplexere Regels tze als die von uns verwendeten aufzubauen auch wenn dies zum jetzigen Zeitpunkt noch nicht n tig erscheint Besonders berzeugend war jedoch da der ProFTPd von Haus aus ber eine Modulein bindung verf gt Darin lassen sich f r jeden Befehl PRE und POST Commands erzeu gen oder sogar komplette FTP Befehle umschreiben ohne den Sourcecode des ProFTPd selbst anzur hren D h f r uns da wir ohne Probleme neue Versionen der Entwickler mit unserem Modul kompilieren k nnen Der Zeitaufwand f r ein solches Update liegt damit bei de
64. ben Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes das nicht auf dem Programm basiert mit dem Programm oder einem auf dem Programm basierenden Da tenwerk auf ein und demselben Speicher oder Vertriebsmedium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz 3 Sie d rfen das Programm oder ein darauf basierendes Datenwerk gem Paragraph 3 als Ob jectcode oder in ausf hrbarer Form unter den Bedingungen der Paragraphen 2 und 3 kopieren und weitergeben vorausgesetzt da Sie au erdem eine der folgenden Leistungen erbringen 1 Liefern Sie das Programm zusammen mit dem vollst ndigen zugeh rigen maschinen lesbaren Quelltext auf einem f r den Datenaustausch blichen Medium aus wobei die Verteilung unter den Bedingungen der Paragraphen 2 und 3 erfolgen mu Oder 2 Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang g ltigen schriftlichen Angebot aus jedem Dritten eine vollst ndige maschinenlesbare Kopie des Quelltextes zur Verf gung zu stellen zu nicht h heren Kosten als denen die durch den physikalischen Kopiervorgang anfallen wobei der Quelltext unter den Bedingungen der Paragraphen 2 und 3 auf einem f r den Datenaustausch blichen Medium weitergegeben wird Oder 104 PG 391 NetFire A 2 ALLGEMEINE OFFENTLICHE GNU LIZENZ BEDINGUNGEN FUR DIE VERVIELFALTIGUNG VERBREITUNG UND BEARBEITUNG 3 Liefern Sie das Programm zusammen mit dem schrif
65. berhaupt sicherzustellen werden mei stens CGI Skripte eingesetzt 21 Nach dem CGI Standard der festlegt wie ein Client ein Programm auf einem WWW Server starten und an dieses Informationen bergeben kann kann ein CGI Skript in einer beliebigen Programmiersprache geschrieben werden Nach einer gr nd lichen berlegung und weiteren Recherchen fiel die Entscheidung auf PHP 22 PHP basiert auf der Idee von CGI Es wird aber nicht als eigenst ndiges CGI Programm ausgef hrt Diese Skriptsprache zur Erstellung dynamischer Websites wird n mlich direkt in die HTML Seiten eingebunden Dabei ben tigt PHP keine bestimmte browserseitige Technik kann also mit je dem Standardbrowser arbeiten Es handelt sich bei PHP um eine sehr m chtige Skriptsprache mit einer Vielzahl von n tzlichen Funktionen die die Entwicklungsarbeit vereinfachen und be PG 391 69 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG schleunigen Auch die komfortable Unterst tzung der Sockets die zur Kommunikation mit dem netfired Deamon ben tigt werden war einer der Gr nde sich fiir PHP zu entscheiden Der Schl ssel zu interaktiven Webseiten sind die HTML Formulare Der Nutzer wird in die Lage versetzt Daten einzugeben und der Server gibt diese Daten an den PHP Prozessor zur Auswertung weiter Jedes Formularelement ist durch das Attribut name gekennzeichnet Es erscheint in PHP als normale Variable mit dem Namen des Elements gef llt mit den ein gegebenen Werten Der Nu
66. bez glich der Postition in der Queue abfragen zu k nnen wurde ein Status File benutzt Die Datei mit Namen status die sich im Home eines jeden Accounts befindet enth lt die vom netfired gelieferten Statusinformationen Sie wird immer mit einer Gr e von Null Bytes im Directory Listing 66 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION des FTP Clients angezeigt was daran liegt da die Datei selbst nur einen Dummy dar stellt Die eigentlichen Statusinformationen werden erst beim Download der Datei ber die Funktion pre_cmd_retr vom netfired angefordert und dann direkt gesendet Damit ist der zur ckgelieferte Status immer aktuell e pre_cmd_dele Das L schen der Status Datei ist dabei nicht erlaubt und wird innerhalb der Funktion pre_cmd_dele abgefangen Grunds tzlich ist es f r die Funktionsweise egal ob diese Datei existiert oder nicht Da aber einige FTP Clients das Directory Listing cachen w re es denkbar da sie gar nicht erst bereit sind eine Download Anfrage an den Server zu senden wenn ihnen die Existens der Datei bei einem vorangegangenen Directory Listing verborgen geblieben ist Wie im Kapitel 3 1 5 schon genannt lie en sich einige wichtige Parameter durch die Ausnut zung der schon im Server vorhandenen Funktionen einstellen So wird mit der Konfigurationsdi rektive DirFakeGroup und DirFake User verhindert da andere Benutzer auf dem FTP Server die Namen der Besitzer von Dateien oder
67. cduser hei en 4 2 3 5 Zus tzliche Funktionen ioctl Unter der Minor Number 0 stehen zus tzliche Funktionen zur Verf gung die ber den ioctl Mechanismus aufgerufen werden k nnen siehe Tabelle 4 1 ioctl Nummer Name Parameter Funktion 0 LCD_HOME n V Home folgende Bytes ab Displaybeginn 1 LCD_HARDRESET n V Reset ber Reset Leitung des Displays 2 LCD_SOFTRESET n V Reset ber Reset Sequenz 3 LCD_GETPOS n V Aktuelle Position Byteposition 4 LCD_CLRSCR n V L schen des Displays 5 LCD_SETPOS position Setzen der Position 6 LCD_VERSION n V R ckgabe der Versionsnummer 7 LCD_OFF n V Abschalten der Displaycontroller 8 LCD_ON n V Einschalten der Displaycontroller Tabelle 4 1 ioctl Befehle f r den LCD Treiber 4 2 3 6 Interna Intern gibt es drei verschiedene Funktionstypen Lowlevel Funktionen sind solche Funktionen die f r die Ansteuerung einzelner Leitungen des Displays verantwortlich sind Alle Signale werden direkt an den Port angelegt Dazu wird erst die Variable control_mirror ge ndert welche dann durch die Funktion w_ctr auf den Port ausgegeben wird Anschlie end wird f r 100ns gewartet So wird sichergestellt da alle Signale einzeln und innerhalb der vorgegebenen Schaltzeiten gesetzt werden Highlevel Funktionen fassen verschiedene Lowlevel Operationen zu einem sinnvollen Kom mando zusammen Die Funktion lcd_opcode z B sendet unter Ber cksichtigung des
68. ch den Eintrag mehrere Dateien gekennzeichnet ist Dies wird dann sinnvoll wenn die PG ihr Minimalziel berschreitet das vorerst darin besteht ein zelne ISO Images vom Client zum Brennsystem zu bertragen und auf eine CD R zu brennen Es bleibt also die Option auch mehrere einzelne Dateien oder eine ganze Verzeichnisstruktur auf das System mit dem CD Brenner zu transferieren und erst dort daraus ein ISO Image zu erstellen Dies erleichtert dem Benutzer das Brennen einer CD Besonders gute Ergebnisse bez glich des FTP Uploads mit einem Webbrowser lassen sich erzielen wenn man den File Manager benutzt der zum Betriebssystem bzw zur benutzten grafischen Oberfl che geh rt und diesen auch als Webbrowser benutzt Alternativ bietet sich die Benutzung des Netscape Navigator an der auf allen Plattformen verbreitet ist und der auf Windows und MacOS Plattformen Drag amp Drop unterst tzt Tabelle 3 3 zeigt Konfiguratio nen aus Betriebssystem Browser und File Manager die Drag amp Drop unterst tzen und sich so besonders f r eine komfortable Benutzung des NetFire Systems anbieten Alle HTML Seiten werden ohne die Verwendung von Java und Javascript erstellt so da die Benutzung mit allen aktuellen Browsern keine Probleme bereitet In dieser Hinsicht werden also keine weiteren Anforderungen an die Webbrowser auf dem System des Benutzers gestellt PG 391 25 NetFire KAPITEL 3 STANDARDSOFTWARE OS Browser File Manager Drag amp U
69. chnittstelle verf gbar sind Auch mu damit gerechnet werden da Teile der Software in 80x86 Assembler kodiert werden m ssen Weiterhin schr nkt DOS die Zahl der verf gbaren CPUs auf die x86 Familie ein da es nicht portierbar ist 3 1 1 3 Embedded Linux Embedded Linux ist ein Sammelbegrif f r eine Reihe von Varianten des Linux Betriebssystems Neben dem normalen Linux Kernel der mit angepa ter Systemsoftware als Embedded Sy stem eingesetzt werden kann gibt es noch uClinux das auf CPUs ohne MMU l uft und RT Linux das harte Echtzeitanforderungen erf llt RT Linux soll hier nicht weiter betrach tet werden da f r das Brennen von CDs ein Task der mit RT Priorit t im normalen Linux Scheduler l uft ausreichend ist wClinux und Linux k nnen gemeinsam betrachtet werden da hier im wesentlichen dieselbe Codebasis genutzt wird und sich die API nicht unterscheidet Die Nachteile von Linux sind die h heren Anforderungen an die Hardware Eine 32bit CPU ist notwendig und eine minimale Menge von 2MB RAM Um den Kernel und die Applikationen zu speichern werden etwa 2MB an Flash Speicher ben tigt Zu den Vorteilen von Linux Es ist ein modernes 32bit Betriebssystem f r das eine gro e Zahl an Treibern und Software frei verf gbar ist Sowohl IDE als auch Ethernet werden gut unterst tzt TCP IP ist Bestand teil des Kernels Es ist sehr robust und es gibt eine Menge frei verf gbarer Software die FTP HTTP Server implementiert An Br
70. d Platz f r gro e L tkontakte vorgesehen siehe Abb 5 2 Auf diese Kontaktfl chen wurden dann zwei passende Platinenst cke gel tet siehe Abb 5 7 und 5 8 Ma angaben in mm Diese Befestigungsmethode kann vor allem Druck nach innen gut abfangen Um den Floppyschacht wieder nach vorne abzuschlie en wurde die urspr ngliche Alumi niumblende passend zers gt siehe Abb 5 5 und kann nun zwischen Halterung und Geh use festgeschraubt werden siehe Abb 5 6 In ein Blendenst ck wurden noch zwei L cher gebohrt damit die Taster auch von au en bedienbar sind Der Durchmesser der Bohrungen ist von den verwendeten Tastk pfen abh ngig Verbindung mit dem Parallelport Die Displayplatine wird durch ein Flachbandkabel mit dem Parallelport verbunden Im Inneren des Geh uses wurde ein Pfostenstecker au en ein normaler SUB D Stecker verwendet Um das Flachbandkabel zu verst rken wurde es mit Schrumpfschlauch ummantelt Das Kabel wurde dann durch den Steckkarten Schacht nach au en zum Parallelport verlegt Dazu mu te das Blechst ck aus dem Geh use herausgebrochen werden das den PCI Slot normalerweise verdeckt Dieses Blechst ck wurde dann durch ein Slotblech ersetzt in das eine Einkerbung f r das Kabel ges gt wurde Unttp www cadsoft com 86 PG 391 NetFire DISPLAY UND TASTER 5 3 AMIACECXGW ON Niza 1noza NITd 1n0oTa 1Nn0Z1 NIZL LNOTL NITL amp JI ed Se ALUOH moth nei O red ana
71. ded Debian dar Nach Diskussion der M glichkeiten hat sich die PG zum Einsatz von emdebsys entschieden obwohl klar war da einige Ressourcen zur Weiterentwicklung ben tigt werden Das gr te Problem beim Zusammenstellen kleiner Linux Distributionen besteht darin da die Abh ngigkeiten zwischen den Programmen Libraries und Konfigurationsdateien nicht be kannt sind und in dem gro en Platzbedarf der meisten Programme aus denen die aktuellen Distributionen bestehen Emdebsys erleichtert die Zusammenstellung einer solcher Distribu tionen Emdebsys ist ein flexibles System zur Erstellung einer Distribution f r Embedded Systems Es besteht aus einem Frontend mit der Konfigurationssprache CML2 und einem in Python geschriebenen Backend das die Konfigurationsdatei ausliest und entsprechend der Vorgaben ein passendes Rootdateisystem mit passendem Kernel erzeugt Zum Zeitpunkt der Entscheidung wurde emdebsys nicht weiterentwickelt Die verf gbare Version basierte auf CML2 0 7 6 und das Backend war in einem Prototyp Stadium Die erste Weiterentwicklung von emdebsys im Rahmen der PG basierte auf CML2 1 8 4 und hatte ein flexibleres Backend das jetzt ber Konfigurationsdateien parametrisiert wurde im Gegensatz zum Prototypen der diese Parameter hart im Quellcode kodiert hatte Im Laufe der Zeit wur de emdebsys von der PG immer weiter entwickelt und flexibler und m chtiger gemacht Aus dem Prototypen ist ein gut funktionierendes Programm gewo
72. den war PG 391 107 NetFire ANHANG B DATEIFORMATE Anhang B Dateiformate B 1 INI Style Konfigurationsdateien Konfigurationsdateien im INI Style sind normale Textdateien die aus Zeilen der der Form Schl ssel Wert bestehen e Zwischen Schl ssel dem Gleichzeichen und Wert d rfen Leerzeichen vorkommen e Wert kann eine Zahl oder eine Zeichenkette sein e Zeichenketten die Leerzeichen enthalten m ssen durch Doublequotes eingeschlossen wer den also We rt e Zeilen die mit beginnen sind Kommentare B 2 Shellkompatible Konfigurationsdateien Shellkompatible Konfigurationsdateien m ssen von der bash ausgewertet werden k nnen Sie sind ebenfalls normale Textdateien die aus Zeilen der Form Schl ssel Wert bestehen e Zwischen Schl ssel dem Gleichzeichen und Wert d rfen keine Leerzeichen vorkommen e Wert kann eine Zahl oder eine Zeichenkette sein e Zeichenketten die Leerzeichen enthalten m ssen durch Doublequotes eingeschlossen wer den also We rt e Zeilen die mit beginnen sind Kommentare 108 PG 391 NetFire INDEX Index htaccess 15 A Ablaufsteuerung 93 Account anlegen 16 gesperrt 19 l schen 93 Account Generator Datenflu 33 Accountmaker 93 Administration Passwort ndern 40 Queue l schen 40 Statusanzeige 40 Systemeinstellungen 38 Anzahl 20 Archiv 6 10 18 20 21 Beschreibungen anlegen 19 Datenflu 33 entpacken 20 gepac
73. der Vorbereitung befindet wird keine Checkbox angezeigt da es nicht mehr m glich ist diesen zu l schen Mit dem Alle Jobs entfernen Button kann der Administrator die ganze Warte schlange der Auftr ge leeren Der Button Aktualisieren liest die Warteschlange erneut ein Mit dem Zur ck Button gelangt man zu der Admin Startseite System Einstellungen Hier hat der Administrator die M glichkeit einige wichtige Netzwerkeinstellungen sowie die SCSI Brenneradresse nach Bedarf zu ver ndern Die einzelnen Einstellungen k nnen der Ab PG 391 15 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS bildung 2 11 entnommen werden Bei den Netzwerkeinstellungen ist eine Checkbox sichtbar die dem Admin die Option zu Verfiigung stellt einen DHCP Server zu benutzen falls die ser vorhanden ist und die anderen Einstellungen bergehen Diese werden n mlich von dem DHCP Dienst vorgegeben Bei der Ver nderung der SCSI Brenneradresse ist Vorsicht geboten da fehlerhafte Einstellungen zum Zusammenbruch des Systems f hren k nnen AS F ive Netzwerkeinstellungen Mi Die Einstellungen lauten NetFire IP Adresse 129 217 34 49 Hostname Is12nf Netmask 255 255 255 0 Default Gateway 129 217 34 22 Neue CD brennen Nameserver Job Status anzeigen Domain Smarthost 192 168 1 1 Administration passwortgesch tzt I Wenn m glich dann DHCP Server benutzen und die anderen Einstellungen bergehen SCSI Brenneradresse Bus 0 m
74. des Parallelports einer Spannung von OV welche von der Stromversorgung bereitgestellt wird Die verwendeten Eing nge sind ERROR und SELECT Bei der Auswahl der Taster wurde darauf geachtet da diese prellfrei sind Somit ist es unn tig Entprellungsmechanismen in die Elektronik oder die Software einflie en zu lassen 5 3 2 7 Platinenentwurf Folgende Punkte wurden beachtet e Einseitiges Platinenlayout aus Kostengr nden e Senkrechte Montage im 3 5 Zoll Schacht e Vorhandensein von Befestigungsm glichkeiten im 3 5 Zoll Schacht Es wurde ein Layout mit der CAD Software Eagle entworfen siehe Abb 5 2 welches diese Grundvorraussetzungen erf llt An der Vorderseite der Platine wird ber zwei Buchsenleisten das Display befestigt Rechts neben dem Display befinden sich in senkrechter Anordnung die Taster Um das Layout einseitig zu halten sind alle Bauteile f r die frontseitige Best ckung verdrahtet so da sie auf der R ckseite verl tet werden Alle weiteren Bauteile befinden sich in SMD Geh useform auf der R ckseite der Platine Dies bietet zus tzliche Vorteile Der Platz bedarf sinkt und auf der Frontseite befinden sich ausschlie lich die Bedienelemente 5 3 3 Mechanische Befestigung am Geh use Bereits beim Platinenlayout wurde die sp tere Montage der fertig best ckten Platine im Flop pyschacht ber cksichtigt Um eine Befestigungsm glichkeit f r die Displayplatine zu haben wurde am linken und rechten Ran
75. digtes Archiv nfrun sh nfrun sh brennt die von nfprepare sh vorbereiteten Daten Zun chst wird auf das Einlegen eines geeigneten Rohlings gewartet der danach ggf gel scht wird Dann wird je nach Datentyp in die Skripte recdata sh recaudio sh oder writeraw sh verzweigt um die vorbereiteten Daten zu brennen Dieser Vorgang l uft in einer Schleife ab um das Brennen mehrerer Exemplare zu realisieren 64 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE e nfclean sh Dieses Skript sorgt daf r da die nach der Abarbeitung eines Jobs nicht mehr ben tigten Daten gel scht werden e nfexit sh Dieses Skript teilt lediglich dem 1cdfired mit da der netfired nicht mehr l uft 4 3 3 FTP Server Erweiterung Mit dem FTP Server sollte es ebenso wie ber die Weboberfl che m glich sein erst die zu brennenden Daten und dann eine sogenannte Job Control Datei die die Parameter f r den Brennvorgang enth lt zu transferieren Zus tzliche Schritte sollten dann nicht mehr n tig sein etwa um den Vorgang noch in die Queue einzureihen Da es sich um ein System ohne feste Nutzerverwaltung handeln sollte mu te auch darauf geachtet werden da automatisch ein tempor rer Account angelegt wird unter dem der Nutzer dann seine Daten ablegen kann und mit dem es ihm m glich ist sich im weiteren Verlauf nach dem Status zu erkundigen oder seinen Eintrag wieder aus der Queue zu entfernen Dazu wurde der FTP S
76. e Auswahl m glichst einfacher f r die Brenner Applikation geeigneter Betriebsmodi e Dokumentation der vorigen Schritte 2 Implementierung einer funktionsf higen ATAPI Steuerungssoftware auf der Grundlage der erfolgten Protokollanalyse Die Funktionsf higkeit der Steuerungssoftware soll auf einer g ngigen PC Plattform mit extern angeschlossenem CD Brenner demonstriert wer den 3 Realisierung eines Ethernet f higen Benutzer Interface in Form eines f r den Einsatzbe reich abgewandelten FTP Server 4 Portierung der PC basierten Software auf eine geeignete Zielhardware 4 PG 391 NetFire 1 2 TEILNEHMER 1 2 Teilnehmer Name Hauptfach Nebenfach Fachsemester Dmitri Barski Informatik E Technik 12 Martin Beckmann Ingeniuerinformatik E Technik 14 Heiko Bihr Informatik BWL 10 Markus G bbels Ingenieurinformatik E Technik 14 Stefan Hiisken Ingenieurinformatik E Technik 12 J rg Kleinophorst Informatik E Technik 10 Konstantin Koll Informatik Theoretische Medizin 8 Patrick Nagelschmidt Informatik BWL 10 Christian Rehahn Informatik BWL 10 Mark Rzepka Informatik E Technik 8 Gregor Standers Informatik E Technik 10 Michael Vogt Informatik Philosophie 10 1 3 Nutzungsvereinbarung Die Projektteilnehmer haben sich entschieden das ganze Projekt im Einvernehmen mit den Richtlinien der GNU General Public License 19 deutsche Ubersetzung im Anhang zu erstel len Alle entwickelte Software im Rahmen diese
77. e CDR for high Speed Recording Proc SPIE Int Soc Opt Eng USA Vol 2514 pp 249 257 1995 3 KWEON SEOK KYU Achieving Real Time Communication over Ethernet with Adaptive Traffic Smoothing IEEE Real Time Technology and Applications Symposium 2000 3 PG 391 113 NetFire LITERATURVERZEICHNIS 17 18 19 20 21 22 23 PLEXTOR INC http www plextor com english news press pr06192000 html 2001 3 POSTEL J und J REYNOLDS File Transfer Protocol FTP RFC959 1985 3 GNU Library General Public License http www gnu org copyleft gpl html http www gnu de gpl ger html 2000 5 102 POSTEL J und J REYNOLDS FILE TRANSFER PROTOCOL FTP http www ietf org rfc rfc959 txt 1985 18 66 NCSA The Common Gateway Interface NCSA Spezifikation und Dokumentation http hoohoo ncsa uiuc edu cgi overview html 69 THE PHP Group PHP http www php net 69 FACHBEREICH INFORMATIK UNIVERSITAT DORTMUND PG Ordnung http ls4 www cs uni dortmund de PGB alles node4 html 2002 100 114 PG 391 NetFire
78. e nfconfig filename Die NetFire Netzwerkkonfigurationsdatei e arr_up filename PCX File mit der Sprite Grafik Pfeil hoch e arr_r filename PCX File mit der Sprite Grafik Pfeil rechts e yes filename PCX File mit der Sprite Grafik Yes e no filename PCX File mit der Sprite Grafik No Beispieldatei etc lcdfire conf font bin lat9 08 psf device dev lcd nfconfig etc netfire config arr_up bin arr_up pcx 76 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION arr_r bin arr_r pcx yes bin yes pcx no bin no pcx macread bin macread Einstellung Wert HOSTIP 192 168 1 1 GATEWAY 192 168 1 99 NETMASK 255 255 255 0 NAMESERVER 0 0 0 0 DOMAIN intern net USE_DHCP 1 SMARTHOST 0 0 0 0 HOSTNAME NetFire SCSLADDRESS 0 0 0 Tabelle 4 6 Default Werte f r etc netfire config 4 4 2 3 Der lcdfired zur Anzeige von Statusmeldungen Der Icdfired ist ein Daemon Proze der Statusmeldungen f r das Display entgegennimmt und verwaltet Er verwendet dazu eine Socket Schnittstelle ber die ein Client Statusmeldungen an den Daemon senden kann Die Statusmeldungen entsprechen dem aktuellen Zustand der Brennvorg nge Der Icdfired ber cksichtigt da gleichzeitig mehrere Zust nde eintreten k nnen Z B kann die Vorbereitung von CD Daten zeitgleich mit einem laufenden Brennjob stattfinden Icdfired reagiert auf solche Situationen indem es entsprechende Statu
79. e wichtige Einstellungen des Systems vornehmen Job Eintr ge aus der Warteschlange l schen oder das Passwort des Admins ndern kann Die Administrationsseiten sind mittels htaccess gesch tzt Nach dem Aufruf wird dem User ein Abfragefenster angezeigt In dieses muss der Administrator als Benutzernamen admin eingeben Dieser Name ist voreingestellt Nach der Installation des gesamten Systems lautet das einzugebende Passwort netfire Dieses kann sp ter nach belieben ver ndert werden siehe weiter unten Die Anfangsseite des Admin Bereiches erm glicht dem User die Wahl einer der drei M g lichkeiten die in Form von Radio Buttons sichtbar sind Hat sich der Admin entschieden und den Weiter Button bet tigt werden die entsprechenden neuen Seiten geladen PG 391 13 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS Pos Job ID In Queue seit Zeit bis zum Start job 1 17 12 02 wird bearbeitet Jjob 2 17 1239 Oh 02m 51s O 17 13 14 Oh 12m 59s 17 14 04 0h32m01s NetFire Zur ck Neue CD brennen Job Status anzeigen Administration passwortgesch tzt Abbildung 2 8 Die Tabelle mit den Brennauftr gen Welche Einstellungen m chten Sie ndern y C Neues Passwort AN C Queue Eintrage l schen NetFire C System Einstellungen Weiter Zur cksetzen Neue CD brennen Job Status anzeigen Administration passwortgesch tzt Abbildung 2 9 Die Startseite f r den Administrator 14
80. echen k nnen aber im Detail abweichen um neuen Problemen und Anforderungen gerecht zu werden Jede Version dieser Lizenz hat eine eindeutige Versionsnummer Wenn in einem Programm angegeben wird da es dieser Lizenz in einer bestimmten Versionsnummer oder jeder sp teren Version any later version unterliegt so haben Sie die Wahl entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen sp teren Version die von der Free Software Foundation ver ffentlicht wurde Wenn das Programm keine Versionsnummer angibt k nnen Sie eine beliebige Version w hlen die je von der Free Software Foundation ver ffentlicht wurde 810 Wenn Sie den Wunsch haben Teile des Programms in anderen freien Programmen zu verwen den deren Bedingungen f r die Verbreitung anders sind schreiben Sie an den Autor um ihn um die Erlaubnis zu bitten F r Software die unter dem Copyright der Free Software Foundation steht schreiben Sie an die Free Software Foundation wir machen zu diesem Zweck gelegentlich Ausnahmen Unsere Entscheidung wird von den beiden Zielen geleitet werden zum einen den 106 PG 391 NetFire A 3 KEINE GEWAHRLEISTUNG freien Status aller von unserer freien Software abgeleiteten Datenwerke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fordern A 3 Keine Gew hrleistung 11 Da das Programm ohne jegliche Kosten lizenziert wird
81. echenden Datenleitungen mit einem NAND Gatter IC3 74LS00D wie folgt verschaltet Immer wenn beide Controller gleichzeitig angesprochen werden INIT E1 und AUTOFEED E2 high dann schaltet das NAND seinen Ausgang auf low Dieser Ausgang ist mit der Reset Leitung verbunden siehe Tabelle 5 3 INIT AUTOFEED Funktion low low inaktiv low high El aktiv high low E2 aktiv high high Reset an El und E2 Tabelle 5 3 Displayfunktionen ber INIT und AUTOFEED des Parallelports 5 3 2 5 Stromversorgung f r die Hintergrundbeleuchtung Die Hintergrundbeleuchtung des Displays kann problemlos an 5V vom PC betrieben werden jedoch ist dabei zu bedenken da der Strom durch Widerst nde ca 12 Q begrenzt werden sollte Hierbei flie t ein Strom von ca 200mA Die Verlustleistung an den Widerst nden ist entsprechend hoch so da diese sich stark erw rmen Um die Erw rmung zu verringern wurden deshalb 2x27 Q parallel beschaltet Dies Entspricht einem Gesamtwiderstand von 13 5 Q 5 3 2 6 Taster Da am Parallelport noch Eingangsleitungen frei sind k nnen die Schalter ohne weiteren Schal tungsaufwand angeschlossen werden Die Eing nge des Parallelports werden intern durch Pull Up Widerst nde auf High Pegel gebracht Die Taster m ssen also lediglich den Eingang des PG 391 85 NetFire KAPITEL 5 HARDWARE Parallelports bei Bet tigung auf Low Pegel bringen Low Pegel entspricht in der TTL Logik
82. echtes Treffen aller Beteiligten wenn nicht sogar zwingend n tig ist so zumindest einiges sehr viel einfacher macht und den Zeitaufwand um ein Vielfaches reduziert Des weiteren werden Mi verst ndnisse welche auch trotz guter Absprachen sowie Schnittellen und Modulspezifikationen immer wieder auftauchen schnell beseitigt oder sogar ganz vermieden Nun am Ende der Projektgruppe bleibt jedem Teilnehmer das Gef hl w hrend zwei Se mestern etwas von seinem zuvor im Studium erworbenen Wissen zur praktischen Anwendung gebracht zu haben und dabei etwas geplant entworfen und letztendlich auch gebaut zu haben was einen echten praktischen Nutzen hat Das Ger t kommt am LS12 zum Einsatz und kann von Jedermann nachgebaut werden Wenn man ein Res mee ber die gesamte Projektarbeit in einem Satz formulieren wollte so k me man sicherlich nur zu dem Schlu da jeder Teilnehmer innerhalb der letzten zwei Semester ein gro es Ma an praktischer Erfahrung gesammelt hat und gelernt hat ein gr e res Problem durch Zerlegung in Teilprobleme und koordinierte Bearbeitung der Teilprobleme in einem strukturierten Team zu bew ltigen Dieses Kurzres mee entspricht ziemlich genau dem Lernziel einer Projektgruppe laut Projektgruppenordnung 23 was zeigt da jedes Pro 100 PG 391 NetFire jektgruppenmitglied etwas Sinnvolles gelernt und sich f r jeden pers nlich das vordefinierte Lernziel als Fazit ergeben hat PG 391 101 NetFire
83. edem Fall sichergestellt sein da der FTP Server an alle Erfordernisse der PG angepa t werden kann und nicht umgekehrt Diese berlegung bedeutete da der Server unbedingt als Open Source vorliegen mu da sonst eigene Erweiterungen nicht m glich sind Bez glich der gestellten Anforderungen wurden daraufhin einige bekannte FTP Server f r die Unix Plattform berpr ft Glftpd Dieser FTP Server ist vor allem f r seinen enormen Funktionsumfang bekannt Dies scheint zun chst vorteilhaft Da der Server allerdings noch nicht als Open Source verf gbar ist bedeutet dies da viele Features wie z B die m chtige Userverwaltung die in unserem Fall gar nicht ben tigt wird auch nicht entfernt werden k nnen Da diese Fea tures fest einkompiliert sind ergibt sich damit ein Widerspruch zu der Idee ein m glichst kompaktes System aufzubauen Eigene Erweiterungen w ren zwar auch m glich m ten aber auf eine andere Art realisiert werden So ist es z B m glich f r jeden FTP Befehl ein oder mehrere selbsterstellte Skripte vor oder nach der Ausf hrung durch den Server abzuarbeiten Damit k nnte man z B eine gepackte Datei direkt nach dem Upload auf CRC Fehler berpr fen und dem Client das Ergebnis der Pr fung direkt mitteilen Al lerdings sind Erweiterungen eben nur ber diese externen Skripte m glich Die Erweiter barkeit und Anpassungsf higkeit auf unsere Bed rfnisse ist daher nur begrenzt gegeben weshalb die Entscheidung auch
84. eine multisessionf hige CD zu erstellen e Bootf hig Analog zu der oberen Option kann man hierdurch eine bootf hige CD erstel len Wurde diese Option ausgew hlt wird dem User im n chsten Schritt nahegelegt ein Boot Image zu bertragen Dieser Vorgang wird noch weiter unten n her erl utert e Ins Archiv Mit dieser Einstellung werden die zu brennenden Dateien au er im Fall ei ner Audio CD oder einer CD Kopie als ein ISO Image nach dem eigentlichen Brennvor gang ins Archiv abgelegt Dieses Image kann man zu einem sp teren Zeitpunkt nochmals brennen e Kommentar Falls der Benutzer die Option Ins Archiv gew hlt hat mu er einen be schreibenden Kommentar zu dem sp teren ISO Image in das dazu vorgesehene Feld schreiben Andernfalls wird er aufgefordert dies nachzuholen e E Mail Wenn eine Benachrichtigung per E Mail nach dem abgeschlossenen Brennjob erw nscht ist mu die Mail Adresse in dem Textfeld angegeben werden Es werden nur die Einstellungsm glichkeiten angezeigt die f r den jeweiligen Brennauftrag auch einen Sinn machen So kann z B ein ISO Image aus dem Archiv nicht nochmals ins Archiv verschoben werden Eine Audio CD kann ebenfalls nicht ins Archiv gestellt werden da dieses nur aus ISO Images besteht Mit Hilfe des Zur ck Buttons gelangt der User zu der Seite auf der er mittels des FTP Upload Links wieder auf sein FTP Verzeichnis auf dem Server Zugriff hat Somit hat er die M glichkeit weitere Date
85. ektor anhand seines speziellen Typs erkannt Der CD Player stoppt darauf sofort die Wiedergabe Wenn sich auf einem Rohling eine normale Sitzung befindet und das Leadout bereits geschrieben wurde ist die CD abgeschlossen Es kann also nichts mehr gebrannt werden Das ist sehr unbefriedigend vor allem wenn immer nur kleine Datenmengen aufgezeichnet werden sollen Vor genau diesem Problem stand die Firma Kodak bei der Einf hrung der Photo CD hier sollte eine CD auch nach dem Aufzeichnen einer Sitzung erweiterbar bleiben Die L sung ist die Multisession CD Wird eine Sitzung im Multisession Modus gebrannt so schreibt der Brenner beim Schlie en der Sitzung nicht der CD im Leadin der Sitzung einen Zeiger auf das Ende des Leadouts Dadurch kann ein CD Brenner das Ende der CD 20 PG 391 NetFire 2 3 OPTIONEN EINES BRENNAUFTRAGES finden und weitere Sitzungen aufzeichnen Ein CD ROM Laufwerk kann anhand der Zeiger im Leadin die einzelnen Sitzungen auf der CD lokalisieren und aus den einzelnen Leadins das Inhaltsverzeichnis der CD zusammenstellen Natiirlich sind auch hier einzelne Punkte zu beachten e Nicht jedes CD ROM Laufwerk und vor allem nicht jeder CD Player kann mit Multi session CDs umgehen Vor allem in CD Playern ist dann immer nur die erste Sitzung sichtbar so da diese Option nicht f r Audio CDs verwendet werden sollte Auch in CDROMs k nnen Multisession Audio CDs nicht am St ck abgespielt werden weil d
86. em Inhalt wird ein ISO Image erzeugt das dann gebrannt wird Mehrere Dateien Auch einzelne Dateien oder auch Verzeichnisse je nach Browser M glichkeiten siehe Kapitel 3 1 3 k nnen nachdem aus diesen ein ISO Image erzeugt wurde gebrannt werden Audio Dateien Damit hat der User die M glichkeit eine Audio CD zu erstellen Es k nnen mp3 und wav Dateien upgeloadet und gebrannt werden ISO Image aus dem Archiv Ein zu brennendes ISO Image wird aus dem vorhandenen Archiv ausgew hlt und gebrannt CD Kopie Eine Kopie einer schon vorhandenen CD wird erstellt Nachdem sich der Benutzer f r einen der sechs Men punkte entschieden hat gelangt er mittels des Weiter Buttons zum n chsten Schritt des Brennvorgangs der je nach Men punkt unterschiedlich ausfallen kann PG 391 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS Links unter dem NetFire Logo sind drei Links sichtbar die auch auf jeder folgenden Seite zu finden sind Auf die Funktionalit t dieser und die dahinter verborgenen M glichkeiten wird weiter unten noch eingegangen 2 1 1 2 Der FTP Upload Die Auswahl eines der ersten vier Men punkte auf der Startseite und das anschlie ende Bet ti gen des Weiter Buttons hat zur Folge da mittels einer neuen Seite der Benutzer aufgefor dert wird ein FTP Upload Fenster zu ffnen Dies geschieht indem er den Link FTP Upload bet tigt Zu diesem Zeitpunkt wird auch ein f r diese Brennsitzung g ltiger Account mitg
87. em PC Die Software wurde auf einem PC simuliert Die Algorithmen wurden in C implementiert e Implementierung in der Zielhardware Die getestete Software wurde auf unserer Zielhardware implementiert Es erfolgten Test und Inbetriebnahme e Erstellung technologischer Unterlagen Um die M glichkeit des Nachbaus und der sp teren Erweiterung zu erhalten sind Unter lagen erstellt worden die es erm glichen das Projekt sp ter exakt nachzuvollziehen 1 1 7 Teilnahmevoraussetzungen Folgende Kenntnisse waren notwendig f r die Teilnahme an der PG e Vorlesung Rechnerarchitektur oder Rechnergest tzter Entwurf Produktion e Programmierkenntnisse in C e Die im Projekt verwendeten Bauelemente und Baugruppen sind in englischer Sprache dokumentiert Es war unverzichtbar da jedes PG Mitglied in der Lage ist sich den Inhalt englischsprachiger Dokumente zu erarbeiten Weiterhin w nschenswerte aber nicht notwendige Voraussetzungen e Kenntnisse von Internet Protokollen TCP IP ARP FTP e Erfahrung in Aufbau von Hardwareschaltungen und im Umgang mit Laborausstattungen e Vorlesungen Proze rechnertechnik Rechnernetze e Kenntnisse in Assemblerprogrammierung e Grundkenntnisse im Schaltungsaufbau der E Technik 1 1 8 Minimalziel 1 Erfolgreiche Analyse der im Bereich von CD Brennern eingesetzten Varianten des ATAPI Protokoll Hierzu geh rt insbesondere die e Identifizierung verschiedener ATAPI Betriebsmodi
88. en f r den FTP Upload per Drag amp Drop 26 PG 391 NetFire 3 1 UNTERSUCHUNG DER VERFUGBAREN FREIEN STANDARDSOFTWARE 3 1 4 CD ROM Brennersoftware Die Auswahl an geeigneter und verf gbarer Brennsoftware f r Linux ist begrenzt so da die Entscheidung f r ein Softwarepaket schnell getroffen werden konnte Die Wahl Del auf die cdrtools von J rg Schilling Mit den cdrtools wurde dann ein Funktionstest des Ricoh Brenners vorgenommen Das diente allerdings nicht nur dem Zweck den Brenner auf Funk tionst chtigkeit zu pr fen sondern auch um die Kompatibilit t mit dem Brenner und die M glichkeiten des Softwarepakets auszuloten Es hat sich gezeigt da der Brenner nicht nur einwandfrei funktioniert sondern ebenfalls kompatibel zu den cdrtools ist Vor allem ist diese Software in der Lage alle Informationen auszugeben die die von uns zu entwickelnde Soft ware f r den Betrieb ben tigt wie z B Informationen ber den eingelegten Rohling Mit den cdrtools lassen sich Images ISO9660 und Audio Tracks brennen Images aus Verzeichnissen erstellen und Audio Tracks auslesen F r Direktkopien sorgt CDRDAO 3 1 5 FTP Server Bei der Untersuchung der verf gbaren FTP Server galt es ein Produkt zu finden das einerseits einen m glichst gro en Funktionsumfang mit sich bringt und andererseits durch Stabilit t und Sicherheit berzeugt Au erdem sollte es uns in der konzeptionellen Planung nicht behindern sondern es sollte in j
89. ennsoftware ist cdrecord verf gbar und zum Erzeu gen der Images mkisofs Beide Programme sind unter der GPL verf gbar Die Linux API ist POSIX kompatibel Cross compilation ist sowohl von Linux als auch von Windows mittels Cygwin m glich Dank der einheitlichen Linux API kann auf einem normalen PC entwickelt und getestet werden bevor die Software auf das Embedded System bertragen wird Lizenz kosten werden weder f r die Entwicklungsumgebung noch f r das Laufzeitsystem f llig Ein weiterer Vorteil ist die Verf gbarkeit der Quellcodes unter der GPL 3 1 1 4 Fazit Anhand von Tabelle 3 1 werden die wichtigsten Unterschiede noch einmal gegen bergestellt Zu beachten ist da zus tzlicher RAM als Pufferspeicher f r den CD Brenner ben tigt wird Es werden mindestens 8MB zus tzlich ben tigt Als Betriebssystem scheint der Einsatz von Linux als Systemsoftware geboten da f r Linux bereits eine Menge der ben tigten Software im Quellcode vorhanden ist Dies erm glicht im Vergleich zu DOS eine h here Flexibilit t und eine k rzere Entwicklungszeit Memory Management Unit 3 http wwu fokus gmd de research cc glone employees joerg schilling private cdrecord html 4 http sources redhat com cygwin 5 Gnu General Public Licence siehe http www gnu org copyleft gpl html PG 391 23 NetFire KAPITEL 3 STANDARDSOFTWARE DOS Embedded Linux Verfiigbare Treiber gering hoch Verfiigbare Software gering hoch S
90. erbreiten d rfen Auch mu der Benutzer darauf hingewiesen werden wie er eine Kopie dieser Lizenz ansehen kann Ausnahme Wenn das Programm selbst interaktiv arbeitet aber normalerweise keine derartige Meldung ausgibt mu Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben Diese Anforderungen gelten f r das bearbeitete Datenwerk als Ganzes Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vern nftigerweise als un abh ngige und eigenst ndige Datenwerke f r sich selbst zu betrachten sind dann gelten diese Lizenz und ihre Bedingungen nicht f r die betroffenen Teile wenn Sie diese als eigenst ndige Datenwerke weitergeben Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weiter geben das ein auf dem Programm basierendes Datenwerk darstellt dann mu die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen deren Bedingungen f r weitere Li zenznehmer somit auf das gesamte Ganze ausgedehnt werden und somit auf jeden einzelnen Teil unabh ngig vom jeweiligen Autor Somit ist es nicht die Absicht dieses Abschnittes Rechte f r Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte f r Datenwerke streitig zu machen die komplett von Ihnen geschrieben wurden vielmehr ist es die Absicht die Rechte zur Kontrolle der Verbreitung von Datenwerken die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind auszu
91. ers vornehmen Sie sind nicht daf r verantwortlich die Einhaltung dieser Lizenz durch Dritte durchzusetzen 87 Sollten Ihnen infolge eines Gerichtsurteils des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde nicht auf Patentfragen begrenzt Bedingungen durch Gerichtsbeschlu Ver gleich oder anderweitig auferlegt werden die den Bedingungen dieser Lizenz widersprechen so PG 391 105 NetFire ANHANG A GPL befreien Sie diese Umst nde nicht von den Bestimmungen dieser Lizenz Wenn es Ihnen nicht m glich ist das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten dann d rfen Sie als Folge das Programm berhaupt nicht verbreiten Wenn zum Beispiel ein Patent nicht die geb hrenfreie Weiterver breitung des Programms durch diejenigen erlaubt die das Programm direkt oder indirekt von Ihnen erhalten haben dann besteht der einzige Weg sowohl das Patentrecht als auch diese Lizenz zu befolgen darin ganz auf die Verbreitung des Programms zu verzichten Sollte sich ein Teil dieses Paragraphen als ung ltig oder unter bestimmten Umst nden nicht durchsetzbar erweisen so soll dieser Paragraph seinem Sinne nach angewandt werden im brigen soll dieser Paragraph als Ganzes gelten Zweck dieses Paragraphen ist nicht Sie dazu zu bringen irgendwelche Patente oder andere Eigentumsanspr che zu verletzen oder die G ltigkeit solcher Anspr che zu b
92. erver ber das Modul mod makeacct c erweitert Die genaue Ar beitsweise der einzelnen darin enthaltenen Funktionen wird im folgenden beschrieben e pre_cmd_user Die Funktion pre_cmd_user wird vor der Ausf hrung des ProFTPd internen USER Commands abgearbeitet Die Funktion USER wird immer dann aufgerufen wenn sich ein Client einloggt Das Modul vergleicht dann ob sich ein User unter dem Namen new anmelden will Wenn dem so ist wird der Befehl new an den netfired weitergeleitet Dies geschieht ber einen Unix Socket dessen Pfad in der Konfigurationsdatei des ProFTPd als neuer Eintrag hinzugef gt wurde und der vom Modul zur Laufzeit ausgelesen wird Der netfired legt daraufhin einen Account an und liefert den neu generierten Userna men an den FTP Server ber den Socket zur ck Der FTP Server ersetzt den vom Client gelieferten Usernamen new durch den neuen Namen und gibt das USER Command nor mal an den ProFTPd zur weiteren Abarbeitung zur ck Dort wird daraufhin dann der Login unter dem neuen tempor ren Usernamen vollzogen Dieses Vorgehen hat den Vorteil da es deutlich komfortabler f r den Anwender ist als sich erst einen tempor ren Account anlegen zu lassen und sich dann mit dem doch recht kryptischen Namen nochmal manuell in den FTP Server einzuloggen e pre_cmd_stor Damit der netfired zu jeder Zeit sicher sein kann welche Dateien des Anwenders Nutz daten sind die auf CD gebrannt werden sollen und welche Daten die In
93. estellt dev cdrom e templates_dir directory Verzeichnis in dem die grundlegende Dateistruktur festgelegt wird Voreingestellt templates e objdump filename Welche objdump Variante benutzt werden soll Voreingestellt nichts e verbose number Legt die Ausfiihrlichkeit der erzeugten Ausgaben fest Voreingestellt 2 4 2 2 4 Funktionsweise von snp py Nach dem Ausf hren des Programms liest snp py seine Optionen aus der Datei snprc und von der Kommandozeile Dann wird die Konfigurationsdatei die per Kommandozeile oder der Konfigurationsoption config file gew hlt wurde gelesen und die entsprechende Architektur f r das Dateisystem gesetzt Mittels der Datei sources_list werden die Dateien des Debian Spiegels gepr ft daraus die Paketliste gebaut und anschlie end werden die ben tigten Debi an Pakete in das Verzeichnis cache_dir heruntergeladen Als n chstes werden die gew hlten Dateien aus den Debian Paketen extrahiert und eventuell ben tigte Bibliotheken ebenfalls auf das Dateisystem installiert Anschlie end werden die Programme die aus den Quellen instal liert werden kompiliert und auf das Zieldateisystem kopiert die Quellen liegen im Verzeichnis src_cache dir die Benennungen werden mittels sources_conf file festgelegt Dann werden die Eintr ge im dev Verzeichnis erzeugt dazu wird die Datei devices_file ausgewertet Die Dateien in etc dagegen werden im wesentlichen durch das Verzeichnis templates erzeu
94. estreiten dieser Paragraph hat einzig den Zweck die Integrit t des Verbreitungssystems der freien Software zu sch tzen das durch die Praxis ffentlicher Lizenzen verwirklicht wird Viele Leute haben gro z gige Beitr ge zu dem gro en Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet es liegt am Autor Geber zu entscheiden ob er die Software mittels irgendeines anderen Systems verbreiten will ein Lizenznehmer hat auf diese Entscheidung keinen Einflu Dieser Paragraph ist dazu gedacht deutlich klarzustellen was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird 88 Wenn die Verbreitung und oder die Benutzung des Programms in bestimmten Staaten ent weder durch Patente oder durch urheberrechtlich gesch tzte Schnittstellen eingeschr nkt ist kann der Urheberrechtsinhaber der das Programm unter diese Lizenz gestellt hat eine expli zite geographische Begrenzung der Verbreitung angeben in der diese Staaten ausgeschlossen werden so da die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist die nicht ausgeschlossen sind In einem solchen Fall beinhaltet diese Lizenz die Beschr nkung als w re sie in diesem Text niedergeschrieben 89 Die Free Software Foundation kann von Zeit zu Zeit berarbeitete und oder neue Versionen der General Public License ver ffentlichen Solche neuen Versionen werden vom Grundprinzip her der gegenw rtigen entspr
95. et Format erstellt und stellt sicher da die gesamten Informationen und Daten der PG NetFire am Lehrstuhl Informatik 12 archiviert sind 7 1 Inhalt Auf der Archiv CD der PG NetFire befindet sich unter anderem das gesamte Concurrent Versi ons System CVS mit dem entwickelten Sourcecode wie z B das weiterentwickelte Embedded Debian die eigenentwickelten Daemonen LCDFired und NetFired die Skripten und Websei ten Im CVS sind desweiteren die Platinenlayouts und Schaltpl ne f r das LC Display der Zwischen und Endbericht sowie der Bugreport und ein wenig Artwork enthalten Sonst bein haltet die CD noch alle Protokolle der PG Sitzungen die Seminararbeiten der PG Teilnehmer Bilder der Hardware Dokumentation der Hard und Software und ein Verzeichnis Sonstiges mit Testarchiven Sequenzdiagramme des NetFire Systems und Fotos von den PG Teilnehmern Ein kleiner Auszug aus dem Verzeichnisbaum der Archiv CD wird in Tabelle 7 1 beschrieben 96 PG 391 NetFire 7 1 INHALT Verzeichnis Beschreibung des Verzeichnis CVS CVS Hauptverzeichnis CVS CVSROOT Verzeichnis mit CVS Informationsdateien CVS emdebsys Hier befindet sich das gesamte Embedded Debian System CVS 1cd Einiger Sourcecode zum LC Display CVS netsoft Hauptverzeichnis der eigenentwickleten NetFire Software CVS netsoft netfired NetFire Daemon zur Ablaufsteuerung von NetFire CVS netsoft proftpd ProFTPd Daemon f r die FTP Accounts auf NetFire CVS netsoft jobtool Einige P
96. eteilt Mittels des Zur ck oder auch Abbruch Buttons gelangt der User zur Startseite Sein Account wird in diesem Fall gel scht N ef AS s e Ihr Account f r diese Sitzung ist NFvtNPdO Lo Mit dem unten stehendem Link NetFire wird ein Fenster ge ffnet in das Sie Ihre Dateien uploaden k nnen FTP Upload Nachdem Sie alle Ihre Dateien bertragen haben klicken Sie auf Weiter Neue CD brennen Job Status anzeigen Zur ck Weiter Abbruch Administration passwortgesch tzt Abbildung 2 2 Link zum FTP Upload Nachdem das FTP Upload Fenster ge ffnet wurde k nnen die Dateien auf den FTP Server bertragen werden Es wird automatisch das Verzeichnis angezeigt in das die Files upgeloa det werden sollen In Abh ngigkeit von dem benutzten HTML Browser geschieht das mittels Drag amp Drop z B Konqueror oder der Auswahl entsprechender Men punkte in der Men bar z B Netscape Auf welche Weise und ob berhaupt ein anderer Browser den Upload un terst tzt kann dem Kapitel 3 1 3 entnommen werden Wenn das FTP Upload abgeschlossen ist kann das FTP Upload Fenster geschlossen wer den Mit einem Klick auf den Weiter Button gelangt man zur n chsten Seite auf der die gew nschten Brenneinstellungen vorgenommen werden k nnen 2 1 1 3 Die Brenneinstellungen Seite Auf dieser Seite befindet sich eine Reihe von Einstellungsm glichkeiten die den darauffolgenden Brennvorgang betreffen Dazu geh ren folgende Optionen
97. etwa DR DOS jetzt Caldera und CHIP RTOS ein DOS kompatibles System f r den IPC CHIP Dieses zeichnet sich durch stark verbesserte Funktionalit t wie etwa einen TCP IP Stack und einen integrierten Webserver aus Da es sich bei DOS um ein 8 bit Betriebssystem handelt stellt es keine besonders hohen Anforderungen an die Hardware Zu den Nachteilen von DOS Es ist 1 http www goblack de desy sc12chip apis index html 22 PG 391 NetFire 3 1 UNTERSUCHUNG DER VERFUGBAREN FREIEN STANDARDSOFTWARE kein besonders robustes System da es etwa keinen Speicherschutz unterst tzt Die Verf gbar keit von Treibern insbesondere f r Ethernet und IDE Interface stellt ein Problem dar Eine Funktionsgarantie gibt es nur wenn Hardware und die speziell angepasste DOS Version aus einer Hand gekauft werden Die verf gbare Software ist eingeschr nkt da nur noch wenige Programme f r DOS entwickelt werden insbesondere auf dem Gebiet von Netzwerksoftware Die Programmierumgebung ist wenig effizient Programme k nnen nicht einfach f r DOS cross compiliert werden und m ssen auf DOS Rechnern getestet werden Dies macht die Installation von DOS auf den Entwicklungsrechnern n tig Die verf gbaren Entwicklungsumgebungen sind propriet r und erfordern kommerzielle Lizenzen Die DOS API unterscheidet sich von der Unix libc API und von der Win32 API Mit einer hohen Einarbeitung mu gerechnet werden da einige API Funktionen nur ber die DOS Interrupt S
98. euere Versionen gibt die sich nach au en hin anders als ihre Vorg nger verhalten So gen gt es die Steuerung im netfired Daemon anzupassen die Frontends bleiben davon unber hrt 4 1 1 Kontrollflu der Software Das Gesamtsystem wird als Client Server System realisiert Auf der Client Seite wird vom Be nutzer ein Webbrowser benutzt der die HTML Seiten zur Steuerung des NetFire Brenners darstellt Auf dem NetFire Brenner selbst ist ein Apache Webserver mit CGI Fahigkeiten in stalliert Dieser stellt die Schnittstelle zwischen Client und den Applikationen auf dem NetFire Brenner dar Als CGI Skriptsprache dient hier aufgrund der M chtigkeit und der Einfachheit PHP Auf Serverseite interagiert der Webserver haupts chlich mit dem netfired Daemon der im Rahmen der Projektgruppe erstellt wurde Dieser Daemon bedient sich einiger Shell Skripte und einiger Systembefehle des Embedded Debian das auf dem NetFire System installiert wird Teilweise benutzen die PHP Skripte auf dem Webserver auch eigene selbsterstellte Shell Skripte oder kommunizieren direkt mit dem FTP Server Dieser FTP Server ist f r den Upload der Daten vom Nutzer auf das NetFire System zust ndig Die Komplexit t der zahlreichen interagierenden Entit ten des Gesamtsystems macht es n tig die einzelnen Datenfl sse im Detail zu betrachten Hierzu bietet es sich an s mtliche Kommunikation zwischen Client und NetFire System sowie zwischen den Anwendungen auf dem NetFire System
99. formationen f r den Brennvorgang enthalten wird beim Upload kontrolliert da nur die Job Control Datei namens jobcontrol und eine description txt in das Homeverzeichnis des Users gelegt werden d rfen Die Datei description txt wird dazu genutzt um Daten die nach dem Brennen ins Archiv kommen mit einem kurzen Kommentar zu versehen um sie so auch sp ter noch eindeutig zuordnen zu k nnen Alle anderen Dateien m ssen in ein entsprechendes Unterverzeichnis gelegt werden Dazu wird in der Funktion pre_cmd_stor der Dateiname und Pfad der zu speichernden Datei daraufhin berpr ft und dem Anwender eventuell mit einer Fehlermeldung mitgeteilt da im Homeverzeichnis selbst keine zu brennenden Daten liegen d rfen Der Transfer selbst wird dann als abgearbeitet markiert womit eine Weitergabe an die interne STOR Funktion des ProFTPd entf llt e post_cmd_stor Damit nach einem Transfer der zu brennenden Dateien auf den FTP Server der Queue PG 391 65 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG und Brennvorgang automatisch gestartet werden kann sobald der Benutzer seine Job Control Datei bertragen hat gibt es die Funktion post_cmd_stor Hier wird tiberpriift ob gerade eine Job Control Datei bertragen wurde Wenn dies der Fall war so wird dem netfired der Befehl gegeben diesen User in die Queue einzureihen Dies geschieht wieder ber den Unix Socket mit dem Befehl queue username Da syntaktische oder logische Fehler in der Job
100. fprepare sh auf Dieses gibt auf dem LCD ber den Icdfired die Mitteilung aus da die CD vorbereitet wird Anschlie end liest dieses Skript die Job Control Datei aus und ermittelt den Typ der CD die gebrannt werden soll ISO Audio gepackte Daten mehrere Dateien etc Wenn der Typ ermittelt ist werden ein oder mehrere Hilfsskripte aufgerufen die die Daten zu einem fertigen ISO aufbereiten das anschlie end gebrannt werden kann Die fertigen Daten werden dann in das reservierte tempor re Verzeichnis verschoben Anschlie end bekommt der netfired ber das Skript nfprepare sh eine R ckgabe da der Job nun fer tig vorbereitet ist Au erdem wird das erfolgreiche Beenden der Vorbereitung auch mit einer Mitteilung auf dem LCD angezeigt 4 1 1 5 Status abfragen und L schen eines Jobs Nachdem ein Benutzer dem System einen Auftrag zum Brennen gegeben hat hat er jederzeit die M glichkeit den Status seines Auftrags zu erfahren Die m glichen Statusinformationen die angezeigt werden k nnen sind e Job ID Laufende Nummer des Auftrags e Start Time Zeitpunkt zu dem der Auftrag in die Queue eingef gt wurde e Estimated Time Gesch tzte Dauer des Brennauftrags 36 PG 391 NetFire 4 1 GROBSTRUKTUR DER SOFTWAREENTWICKLUNG aO 19p u uu g ur q Jne qv CT Sunp tqq y
101. gaben zu Ansteuerung des LCDs Ansteuerung des Brenners durch cdrecord und cdrdao Vorbereiten der Sitzung durch diverse Tools mkisofs mpg321 Interaktion mit dem Benutzer Einlegen der CD Es werden nur die Skripte aufgerufen deren Dateiname mit nf beginnt Alle anderen Skripte sind Unterskripte und werden von anderen Skripten ben tigt Als interpretierendes Programm wird die Standardshell bin sh sh oder ein Perl Interpreter usr bin perl pl verwendet und ben tigt 4 3 2 1 Benutzer Management accountmaker accountmaker ist ein Programm das neue Benutzer anlegt Diese werden in die Benutzer datenbank des FTP Servers eingetragen Weiterhin wird f r den neu erzeugten Benutzer ein Homeverzeichnis erzeugt Tabelle 4 3 zeigt die Kommandozeilenparameter Konnte der neue Benutzer angelegt werden gibt accountmaker die Zeile o Account auf der Standardausgabe aus Sollte es zu einem Fehler gekommen sein wird e Fehlermeldung ausgegeben PG 391 NetFire 63 KAPITEL 4 SOFTWAREENTWICKLUNG Parameter Beschreibung p passwordfile file req Benutzerdatenbank des FTP Servers g groupfile file reg Gruppendatenbank des FTP Servers b basedir directory Verzeichnis in dem die Home Verzeichnisse an gelegt werden default aktuelles Verzeichnis G group group_id reg Gruppen ID des zu erzeugenden Benutzers P prefix string Pr fix f r den Benutzernamen default NF h help Hilfe v ve
102. gen 4 Vorbereitung wird nochmal wiederholt estimated_time erwartete Bearbeitungszeit in Sekunden percent Fortschritt der Abarbeitung in Prozent f status Status des Jobs O Bisher unbearbeitet 1 In Vorbereitung oder vorbereitet Details sind flag prepared zu entnehmen 2 Wird gerade abgearbeitet 3 Job ist abgearbeitet start_time Zeit in Sekunden bis die Abarbeitung des Jobs beginnt queue_time Zeitpunkt zu dem der Job gequeued wurde als UNIX Timestamp jobtype Typ des Jobs von sh_nfcheck bestimmt siehe Kap 4 3 1 3 Tabelle 4 2 R ckgabepositionen des Befehls status_a e Status nach Job ID Aufruf status_i jobid Liefert den Statusinformationen bez glich des Jobs jobid Der Befehl ist weitest gehend identisch zu status a PG 391 57 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Riickgabe o pos f_locked f_prepared estimated_time percent f_status start_time queue_time completed_time jobtype Die einzelnen Positionen haben dieselbe Bedeutung wie bei status_a siehe Tabelle 4 2 completed_time ist 0 oder enthalt die Zeit zu der der Job beendet wurde als UNIX Timestamp Die Job ID wird hier nicht extra tibermittelt e invalid jobid Es existiert kein Job mit der angegebenen Job ID e Auflistung aller Jobs in der Queue Aufruf listjobs Liefert alle Jobs zuriick die sich zur Zeit in der Queue befinden Riickgabe o current_job jobl jobn numjobs Die Job ID des Jobs der gerade gebrannt wird steht
103. glich der Sicherheit entsprechende Skepsis angebracht Da eigene Im plementierungen hier nur als SITE Command realisiert werden k nnen hie e der Einsatz des Wu ftpd Abschied vom Upload mit graphischen FTP Clients zu nehmen Denn diese unterst tzen wenn berhaupt nur bekannte SITE Commands und keine die der Benut zer manuell eingeben muss Die Alternatvie die Funktionalit t direkt in den Wu ftpd zu programmieren scheint allerdings in Anbetracht der zahlreichen Sicherheitspatches die pro Version erscheinen einer Sisyphusarbeit gleichzukommen NcFTPd Der NcFTPd von Mike Gleason ist vor allem bei Administratoren beliebt die auf einen effizienten FTP Server wertlegen So wurde beim NcFTPd darauf verzichtet pro Verbindung eine neue Instanz zu erzeugen Alle Anfragen werden von einer Instanz be arbeitet was entsprechend Ressourcen schont Au erdem wurde das Grundger st nicht wie z B beim Wu ftpd vom originalen BSD Release bernommen sondern mit Augen merk auf Geschwindigkeit und Sicherheit neu geschrieben Leider ist dieser Server aber weder ber Skripte noch durch Ver nderungen am Source erweiterbar da es sich nicht um ein Open Source Projekt handelt F r den Einsatz mit vielen Usern ist er sogar ko stenpflichtig und damit g nzlich ungeeignet f r ein Projekt was den Anspruch erhebt einmal komplett unter der GPL zu stehen ProFTPd Der ProFTPd wurde im Hinblick auf Sicherheit und leichte aber m chtige Kon figurier
104. gt Danach werden zahlreiche Konfigurationsoptionen mittels Skripten gesetzt die jetzt ausgef hrt werden die Skripte liegen im Verzeichnis scripts Als letztes wird das Dateisystemimage erzeugt Dabei sind die Optionen rootfs_size rootfs_image rootfs_type und rootfs_gzip von Interesse Zu beachten ist da man im allgemeinen das Dateisystem nur als Superuser erzeugen kann da man nur als Superuser Ger tedateien im Verzeichnis rootfs dev anlegen darf Die Grafik 4 11 verdeutlicht die Funktionsweise 4 2 3 Displaytreiber 4 2 3 1 Problemstellung Um Display und Taster anzusteuern mu es eine softwareseitige Schnittstelle geben Folgendes Konzept wurde geplant e Erstellen eines Linux Device Treibers als Kernel Modul f r das pixelweise Ansteuern des Displays 48 PG 391 NetFire 4 2 SYSTEMSOFTWARE ENTWICKLUNG Konfiguration Konfiguration des zu des Tools erzeugenden Systems Kernel Konfiguration Debian Testing Mirror Debian Packages linux Kernel sources Kernel Module Root Filesystem Image Root Filesystem Abbildung 4 11 Funktionsweise von snp py e Erstellen einer Userspace Library f r die Verwendung von Zeichens tzen und Cursor steuerung siehe 4 4 2 1 e Erstellen von NetFire spezifischen Applikationen f r die Benutzerf hrung siehe 4 4 2 2 und 4 4 2 3 4 2 3 2 Funktionsweise von Linux Kernel Modulen Ein Linux Kernelmodul wird bei Syste
105. hme der CD steht auf dem Display CD wird gelesen Koll Fehler ist nicht mehr rekonstruierbar Bitte nochmal testen HHHHHHH A FFIR BUG 017 Datum 24 06 2002 Status verified Bug huesken 24 06 2002 Fehlerquelle vermutlich Brennskripte Testsystem High Level pc18 gt w rfel embdebian Fehlerbeschreibung Es erfolgt ein Umsprung der LCD Anzeige von CD xxx einlegen auf CD wird gelesen ohne das eine CD im Brenner eingelegt wurde bzw die Lade geschlossen wurde Koll geht HHH BUG 018 Datum 24 06 2002 Status FIXED Beckmann 03 07 2002 verified Bug huesken 24 06 2002 Fehlerquelle vermutlich Webseiten Testsystem High Level pc18 gt w rfel embdebian Fehlerbeschreibung In der Jobcontrol Datei wird Multisession nicht auf Yes gesetzt wenn man den Schalter in den Webseiten ausw hlt HHH BUG 019 Datum 24 06 2002 Status verified Bug huesken 24 06 2002 Fehlerquelle vermutlich Brennskripte Testsystem High Level pc18 gt w rfel embdebian Fehlerbeschreibung Die Option mehrere CD Exemplare ohne Funktion Koll ist implementiert und sollte gehen HHH PG 391 95 NetFire KAPITEL 7 DIE ARCHIV CD Kapitel 7 Die Archiv CD Die Archiv CD der PG NetFire enth lt alle Daten die die PG Teilnehmer im Rahmen der zweisemestrigen PG Phase verfaBt haben Die CD enthalt alle Informationen zum Projekt NetFire um die Entwicklung verifizieren und verfolgen zu k nnen Die Archiv CD wurde im 1509660 Joli
106. i mee Zeug u ojsuSgN UOUIIB yd ag WIOIS SO LT wA qs red rdyu anand uow q 9IHAII SJH I9AIOG jorquoy qor IUJ N 35 PG 391 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG 4 1 1 4 Brennen der vorbereiteten Daten Die vorbereiten Daten auf dem NetFire System bleiben solange im tempor ren Verzeichnis lie gen bis der entsprechende Auftrag in der Queue des netfired an erster Stelle ist Wenn der Auftrag an der Reihe ist sorgt der netfired unter Zuhilfenahme einiger Support Scripts f r dessen Abarbeitung Abbildung 4 5 zeigt den Datenflu der Abarbeitung im Detail Wenn der Auftrag an der Reihe ist ruft der Daemon das Skript nfrun sh auf Dieses liest die Job Control Datei aus und erh lt so die n tigen Parameter die beim anschlie enden Brennen an cdrecord bergeben werden Geschwindigkeit Disc At Once Track at Once CD Mode l schen von CD RW etc Anschlie end wird der Benutzer ber das LCD und auch ber die Statusseite der WebGUI aufgefordert einen CD Rohling einzulegen Sobald der CD Rohling in den Brenner eingelegt wurde beginnt nfrun sh mit dem L schen des Rohlings sofern dies den Einstellungen in der Job Control Datei entsprechend gew nscht sein Dieser Vorgang wird auch auf dem LCD ausgegeben Anschlie end ruft nfrun sh ein weiteres Skript auf F r eine Daten CD wird das Skript recdata sh f r eine Audio CD das Skript recaudio
107. i Uploads durchzuf hren Beim Klicken auf den Abbruch Button ge langt der User zur Startseite Sein Account sowie alle bertragenen Dateien werden in diesem Fall gel scht Mit dem Weiter Button wird ein Brennauftrag generiert und in die Warteschlan ge eingef gt Danach erscheint die Statusseite seines Jobs siehe unten M chte der User eine bootf hige CD erstellen wird zuvor eine Seite angezeigt auf der er das Boot Image ausw hlen kann mehr dazu im n chsten Unterkapitel PG 391 9 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS Moe d y Bitte stellen Sie die Brennoptionen ein CH Geschwindigkeit max gt Exemplare E CD RW l schen nein Model A BD NetFire Multisession MF Bootf hig 7 Neue CD brennen Ins Archiv T Kommentar Ej Job Status anzeigen E Mail optional nn Administration Zur ck Weiter Zur cksetzen Abbruch passwortgesch tzt Abbildung 2 3 Die Brenneinstellungen Seite 2 1 1 4 Boot Image Upload W hlt der Benutzer die Option zur Erstellung einer bootf higen CD so kann er auf einer separaten Seite das gew nschte Boot Image auf den Server bertragen Anders als bei den brigen Uploads geschieht dies nicht mittels FTP sondern per HTTP Upload Dazu mu er mit Hilfe eines Datei Browsers der ihm nach Bet tigen des Browse bzw Durchsuchen Buttons zur Verf gung steht ein solches Image auf seinem Rechner ausw hlen Mit Weiter wird der Vorgang der bertragung ge
108. ichnis aufgetreten die beseitigt werden konnten 6 1 4 Brenn Skripte Die Brennskripte sind bereits durch ihren Autor sehr modular gehalten Dieser Umstand erm glicht besonders einfache Modultests da die Menge der Eingangsbedingungen besonders klein ist Im einzelnen bernehmen sie als erstes die Aufgabe die Job Control Datei zu parsen wel ches anhand zahlreicher Files getestet wurde Des weiteren werden durch diese Skripte die Daten in das zu brennende Ausgangsformat konvertiert und an der daf r spezifizierten Stelle abge legt Dies konnte Dank dedizierter Aufteilung der Skripte f r die verschiedenen Formate sehr einfach anhand zahlreicher Testdaten auf Korrektheit berpr ft werden Weiterhin bergeben die Skripte ihre konvertierten Daten mit den aus der Job Control Datei geparsten Parametern an die Programme cdrecord und cdrdao Hier wurde getestet ob die bergabe der Skrip te in einer in den man pages der genannten Programmen definierten Weise stattfindet Dies wurde durch die Tester zum einen mittels einer Durchsicht des Quellcodes und zum anderen anhand von Testaufrufen von cdrecord und cdrdao mit den durch die Skripte generierten Parametern berpr ft Abschlie end wurde die komplette Ablaufsteuerung des Brennvorgangs mit der dazugeh rigen Schubladen Logik und den Ausgaben welche an das Display und die WebGUI geleitet werden getestet Dazu wurde auch hier in einer Durchsicht des Quellcodes die Umsetzung der Skripte mit der vo
109. ichnis namens Data Dieses Verzeichnis ist dazu gedacht da dort die Dateien abgelegt werden k nnen die auf die CD gebrannt werden sollen Es ist nur in diesem Verzeichnis erlaubt Nutzdaten abzulegen Dies liegt daran da sonst eventuell 16 PG 391 NetFire 2 1 BEDIENUNG ncftp gt open u new netfire Connecting to 192 168 1 2 Netfire FTP Server ready Logging in Password requested by 192 168 1 2 for user new Password User NFd940rl logged in Abbildung 2 12 FTP Login nicht eindeutig zugeordnet werden kann welche Dateien gebrannt werden sollen und welche zur Abarbeitung des Brennvorganges gedacht sind Nachdem der Benutzer also seine Daten in das o g Verzeichnis gelegt hat mu er eine Job Control Datei siehe Abbildung 4 16 erstellen die die fiir den Brennvorgang relevanten Informationen enthalt Dies kann er entweder manuell machen oder aber durch Aufruf des jtools Das jtool ist neben dem Parsing der Job Control Datei en auch dazu in der Lage mittels entsprechender Kommandozeilen Parameter g ltige Job Control Datei en zu erstellen Diese sind in Tabelle 2 1 aufgef hrt Parameter Beschreibung t type type Typ der zu brenennden CD m writemode mode Mode der zu brenennden CD o daomode bool Brennen im DAO oder TAO Mode d deletemode mode CD RW komplett schnell oder gar nicht l schen s speed number Brenngeschwindigkeit c copies number Anzahl der Kopien u multisess
110. ie Wiedergabe bei jedem Leadout abgebrochen wird e Wird eine Sitzung nicht im Multisession Modus gebrannt wird beim Schlie en der Sit zung auch gleichzeitig die CD abgeschlo en e Die letzte Sitzung einer Multisession CD kann im Multisession Modus gebrannt werden Der Leadin Zeiger zeigt dann zwar auf einen leeren Sektor am Ende der CD was aber unbedenklich ist 2 3 3 Modi der CD Diese Option ist zwar vorhanden gegenw rtig aber noch ohne Funktion CDs werden immer im Track At Once Modus gebrannt Einzige Ausnahme ist das direkte Kopieren einer CD was im Disc At Once Modus geschieht 2 3 4 CD in das Archiv aufnehmen Diese Option steht nur bei Daten CDs zur Verf gung Das erzeugte ISO Image kann im Archiv f r zuk nftige Brennvorg nge aufbewahrt werden 2 3 4 1 Wahl der Brenngeschwindigkeit Die Geschwindigkeit mit der die CD aufgezeichnet werden soll kann ebenfalls eingestellt wer den Wahlm glichkeiten sind alle sinnvollen Einstellungen von 1x bis 32x F r noch schnel lere Brenner wurde die Option maximal implementiert Dahinter verbirgt sich intern 100 fache Brenngeschwindigkeit Wird eine h here Geschwindigkeit angegeben als der Brenner un terst tzt so wird automatisch die Maximalgeschwindigkeit des Brenners benutzt 2 3 5 Vorhergehendes L schen einer CD RW Eine CD RW kann vor dem eigentlichen Brennvorgang gel scht werden Zur Wahl stehen die Optionen schnelles L schen und vollst nd
111. ie Schreibgeschwindigkeit und Daten dichte erh ht Daten bertragung via Ethernet Ger te die Daten auf CD schreiben k nnen verlangen w hrend des gesamten Schreibvorgangs einen Datenstrom mit einem bestimmten Durchsatz Ein CD Brenner hat i Allg wenn er das Schreiben der Datenspur abbricht keine M glichkeit zum Wiederansetzen Nun liegt es in der Natur des Ethernetprotokolls da auch ein minimaler Datendurchsatz nicht garantiert werden kann W rde ein CD Brenner die Schreib Daten via Ethernet empfangen w re ein au erordentlich unzuverl ssiges Ger t die Folge Es gibt zwar neuere Ans tze dieses Problem durch Zus tze zum Ethernetprotokoll zu l sen 16 man verliert so aber die Kompatibilit t zu bestehenden Systemen Interessanter ist die L sung von Plextor ein beliebiges Abbrechen und Wiederaufsetzen des Schreibvorgangs zuzulassen Diese Technologie wird als Burn Proof 17 bezeichnet Andere Hersteller wie z B Ricoh oder Yamaha verwenden eine hnliche Technologie jedoch meist unter anderem Namen wie z B JustLink 1 1 6 3 Ziel Im Rahmen der Projektgruppe sollte ein CD Brenner ein Ethernet Interface erhalten so da dieser plattform bergreifend z B zeitgleich von Sun Workstations und PCs aus ferngesteuert werden kann Da sich der Einsatzbereich eines CD Brenners auf den Transfer von Dateien beschr nkt sollte der Ethernet f hige CD Brenner ber einen integrierten FTP Server 18 angesteuert werden Zum Brennen mu
112. iges L schen Beim schnellen L schen wird nur das erste Leadin gel scht beim vollst ndigen L schen wird jeder Sektor des Rohlings ber schrieben Das L schen erfolgt immer mit maximaler Geschwindigkeit PG 391 21 NetFire KAPITEL 3 STANDARDSOFTWARE Kapitel 3 Standardsoftware Um die Entwicklungszeit des Projekts m glichst gering zu halten wurde so weit wie m glich auf frei verf gbare Software gesetzt 3 1 Untersuchung der verf gbaren freien Standardsoftware Das NetFire System ben tigt zum Betrieb folgende Komponenten e Betriebssystem e HTTP Server e HTTP Browser e Brennsoftware e FTP Server Da diese Komponenten in der vorhandenen Zeit nicht von Grund auf neu entwickelt werden konnten hat sich die PG dafiir entschieden vorhandene freie Software zu verwenden und nur die notwendigen Anpassungen vorzunehmen wobei jeweils die Lizenz beachte wurde 3 1 1 Betriebssysteme 3 1 1 1 Einleitung Im Embedded System Bereich gibt es eine Reihe von verf gbaren Betriebssystemen QNX LynxOS Windows CE Embedded Linux und DOS F r unsere Zwecke kommen QNX LynxOS und Windows CE nicht in Frage da hier zum Teil betr chtliche Lizenzkosten f r die Software f llig werden Zu untersuchen bleiben also noch DOS und Embedded Linux 3 1 1 2 DOS DOS gibt es in verschiedenen Varianten neben der offiziellen Version von Microsoft auch diver se Ableger die auf Embedded Systems spezialisiert sind Zu nennen w re hier
113. iguration hinterlegt blicherweise etc netfire config welche ebenfalls eingelesen wird Dem Benutzer werden die Informationen aus dieser Datei als entsprechende Vorgaben ange zeigt Neue Einstellungen werden wieder in der Netzwerkkonfiguration gespeichert Sollte beim Start noch keine Netzwerkkonfiguration existieren so werden Standardeinstellungen verwendet und gespeichert Diese kann man Tabelle 4 6 entnehmen lcdsetup liefert einen Exit Code von 0 falls Einstellungen ver ndert wurden Das aufru fende Init Skript kann so ggf das Konfigurationsskript sbin configurator aufrufen welches die neugeschriebene Netzwerkkonfiguration in die Systemeinstellungen bernimmt lcdsetup unterst tzt die Kommandozeilen Option c zur Angabe einer anderen Konfigu rationsdatei Zur Ausgabe der MAC Adresse wird ein externes Tool ben tigt welches die MAC Adresse der Netzwerkkarte ausliest und auf die Standardausgabe ausgibt Der Name dieses Tools kann in der Konfigurationsdatei angegeben werden Dem lcdsetup liegt ein solches Tool mit dem Namen bin macread bei Konfiguration Die Konfigurationsdatei des 1cdsetup entspricht im allgemeinen dem INI File Format siehe B 1 Folgende Schl ssel Wertepaare m ssen gesetzt werden e font filename Ein Fontfile im psf Format als Displayfont e device filename Das LCD Treiber Devicefile e macread filename Tool zum Auslesen der MAC Adresse Das Tool liefert die MAC Adresse auf der Stan dardausgabe
114. in der Notation erfolgen wobei fiir einen Buchstaben steht alle anderen Ausgaben k nnen vom netfired als Fehler interpretiert werden Bevor das Skript beendet wird mu in jedem Fall eine ok Meldung beginnend mit o oder eine Fehlermeldung beginnend mit e ausgegeben werden Zus tzlich liefern alle Skripte als R ckgabe einen Exitcode entsprechend dem Erfolg der Abarbeitung ein Exitcode von O hei t erfolgreich Alle anderen Exitcodes bedeuten einen Skriptspezifischen Fehler Dieser Exitcode wird allerdings nicht vom netfired ausgewertet Scripthooks Im folgenden werden die einzelnen Scripthooks erl utert Hier sind nur die Forderungen an die Skripte beschrieben die der netfired an sie stellt Die konkreten Skripte die an die Scripthooks gebunden sind werden in Kapitel 4 3 2 2 beschrieben In der Aufrufsyntax steht der Name des Scripthooks sh_ f r das eigentliche Skript e sh nfinit Wird bei Start des netfired aufgerufen e sh nfexit Wird vor Beenden des netfired aufgerufen e sh nfcheck userhome Dieses Skript berpr ft ob die Daten des Nutzers in userhome als Job gequeued werden k nnen Falls die Daten in Ordnung sind wird o estd_time zurtickgegeben estd_time ist die gesch tzte Bearbeitungsdauer des Jobs Im Fehlerfall werden eine oder mehrere Zeilen die mit e beginnen zur ckgegeben Diese Zeilen beinhalten die Fehlerursache e sh _nfprepare userhome tmpdir exclusive jobid Dieses Skript bereitet den Job i
115. ind im folgenden auszugshaft und stichpunktartig einige Testf lle aufgelistet e Anlegen eines Accounts Queuen des Accounts Dequeuen des Accounts L schen des Accounts Diese Befehlssequenz wurde nacheinander 1000 mal wiederholt e Anlegen von 100 Accounts Dieser Fall f hrte erwartungsgem zu einem Fehler da der Accountmaker per Spezifi kation auf maximal 50 Accounts beschr nkt sein soll e L schen nicht vorhandener Accounts e bergabe eines n Zeichens am Ende des Befehls 6 1 2 Icdfired F r das Testen des LC Displays des dazugeh rigen Linuxmoduletreibers den Icdfired und des LCDSetup Konfiguration des NetFire Systems ber Tasten am Display mit der Whitebox Methode war der Autor verantwortlich Die Blackbox Tests wurden von der Test Taskforce mit einem Perlskript bzw per Hand durchgef hrt Dabei wurden einige Fehler entdeckt wie z B da die Position des ersten Zeichens auf dem LC Display mittig war die anschlie end vom Programmierer behoben wurden Einige Hardwareprobleme sind auch aufgetreten wie z B da unterschiedliche Datenkabel mit derselben Pinbelegung nicht funktionierten 6 1 3 ProFTPd Die ProFTPd Komponenten u a Accountmaker und Accountdeleter wurden nur vom Pro grammierer selbst getestet Eine Testdokumentation des ProFTPd s durch die Test Taskforce wurde im Zusammenhang mit dem Testen vom netfired durchgef hrt Im Zusammenspiel mit der WebGUI sind Probleme mit der Angabe des Upload Verze
116. inen Zeilenvorschub Nn getrennt Ein Beispiel f r einen Befehl zeigt Abbildung 4 13 Kommando nParameter1 nParameter2 Abbildung 4 13 Befehlsformat Es ist wichtig da der Socket nach Absenden des Befehls f r weiteren Datenflu zum netfired hin geschlossen wird Systemaufruf shutdown sock 1 Ansonsten wartet der netfired noch auf weitere Daten und erkennt den Befehl nicht Die Parameter selbst d rfen nie ein Stringabschlu zeichen NW oder einen Zeilenvorschub Nn enthalten Das Ende des letzten Parameters wird durch die Anzahl der ber den Socket empfangenen Zeichen festgelegt Auf den letzten Parameter d rfen und An folgen R ckmeldungen Nach jedem Befehl wird ber den Socket eine Textmeldung zur ckgeliefert Jede Zeile der R ckgabe beginnt mit einem Buchstaben der die Art der Meldung klassifiziert und einem darauffolgenden Doppelpunkt Daran schlie t sich die eigentliche Meldung an Ein o signali siert eine erfolgreiche Ausf hrung des Befehls ein e einen Fehler Abbildung 4 14 zeigt zwei Beispielmeldungen 54 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE o command succeded Ausf hrung war erfolgreich e an error occured Es ist ein Fehler aufgetreten Abbildung 4 14 R ckgabeformat Je nach Befehl k nnen noch weitere Meldungstypen auftreten Soweit nicht anders beschrie ben liefern die Befehle nur eine Zeile als R ckgabe Sollten mehrere Zeilen bermittelt werden
117. iner minimalen Konfiguration betrieben d h es werden nur die not wendigen Module geladen und die Konfigurationsdatei selbst wurde soweit es sinnvoll m glich war auf ein Minimum reduziert Shttp www apache org http www acme com software thttpd Shttp www boa org Die Module sind config_log module mime_module negotiation module status_module autoindex_module dir module cgi module userdir module alias module rewrite module access module auth module expi res_module unique_id_module setenvif_module php4_module 24 PG 391 NetFire 3 1 UNTERSUCHUNG DER VERFUGBAREN FREIEN STANDARDSOFTWARE 3 1 3 HTTP Browser Die PG NetFire hat sich zum Ziel gesetzt ein Client Server System zu realisieren bei dem die Client Seite vollkommen unabh ngig von der Benutzerplattform gestaltet wird Diese Platt formunabh ngigkeit wird dadurch hergestellt da die Client Seite in Form von HTML Seiten dargestellt wird durch die der Benutzer alle n tigen Einstellungen zum Brennen vornehmen und den Brennvorgang starten kann Weiterhin ist auch die Oberfl che zur Administration des Systems durch HTML Seiten realisiert worden Alle Funktionen des entwickelten Systems stehen also auf jedem Betriebssystem zur Verf gung auf dem ein Webbrowser installiert ist Der Upload der ISO Images auf den Server wird in Form eines FTP Uploads vorgenommen der im Gegensatz zum HTTP Upload folgende Vorteile bietet e Der Upload ist resume f
118. influssung automatischer Verhaltens weisen wie Scrolling oder berdeckende Grafiken Sprites Kompatibilit t Unter SuSE Linux 7 3 mit Kernel 2 4 10GB zeigten sich Probleme bei der Positionierung von Text und Grafik auf dem Display Grund hierf r ist eine fehlerhafte Implementierung der Funk tion fileno in diesem Kernel Diese Funktion wird jedoch von der liblcd ben tigt um das Filehandle des ge ffneten Devicefiles herauszufinden Abhilfe schafft hier nur die Verwen dung eines anderen Kernels z B Version 2 4 18 Funktionen Die C Bibliothek kann statisch im eigenen Programmcode eingebunden werden indem man die Datei liblcd a als Input File f r den Linker angibt Die Funktionsdeklarationen befinden sich in liblcd h Soweit nicht anders angegeben liefern die Funkionen einen Wert lt 0 falls sie fehlgeschlagen sind Viele der Grafikfunktionen arbeiten mit einem internen Puffer Wird bei solchen Funktionen das Flag buffered gesetzt so findet die Ausgabe nicht direkt auf dem Display statt Dies erm glicht den Aufbau von Grafiken ohne da dabei das Display flackert Alle gepufferten Grafikoperationen werden entweder durch dump_buffer oder durch die erste ungepufferte Grafikoperation sichtbar Folgende Funktionen sind deklariert e int lcd_open char device ffnet die Kommunikation mit dem angegebenen device dev 1cd Ist das Device nicht ein Devicefile zum LCD Treiber so wird in den Emulationsmodus geschaltet in dem
119. inzelne Systemkomponente in einem Komponenten bzw Modultest f r sich gepr ft ist St ck f r St ck werden alle Komponenten zusammengef hrt integriert und das Zusammenwirken getestet Komponenten die im Test noch nicht integriert sind werden durch Testtreiber bzw Platzhalter ersetzt Die Test Taskforce hat f r einzelne gr ere Integrationstests kleine Testtreiber geschrieben und haupts chlich per Eingabe der Parameter ber die Konsole die Integrationstests durch gef hrt Testtreiber wurden f r die LC Display Ansteuerung und das Testen des netfired geschrieben Teilweise sind die aufgetretenen Fehler in den Bugreport geflossen oder direkt an den Programmierer gemailt worden 6 3 Tests des Gesamtsystems Der Gesamtsystemtest wurde von der Test Taskforce durchgef hrt und in einem Bugreport dokumentiert Hier ein kleiner Auszug aus dem Bugreport HHH BUG 015 Datum 24 06 2002 Status verified Bug beckmann 24 06 2002 Fehlerquelle Statusseiten Verantwortlich WebGUI Testsystem Embdebian Fehlerbeschreibung Wenn ein Job gebrannt wird liefern die Statusseiten eine falsche JobID HEHEHE HA IHR BUG 016 Datum 24 06 2002 Status verified Bug beckmann 24 06 2002 Fehlerquelle vermutlich Brennskripte Verantwortlich Konstantin 94 PG 391 NetFire 6 3 TESTS DES GESAMTSYSTEMS Testsystem High level pc18 gt w rfel embdebian Fehlerbeschreibung nach dem Brennen eines Jobs mehrere Dateien und der Entna
120. ion bool Multisession CD x fix bool Multisession CD abschliessen a archive bool Iso nach dem Brennen ins Archiv legen f filename filename Pfad auf das zu brennende Image i bootimage filename Pfad zum Bootimage f r die CD e email address Email Addresse f r die Benachrichtigungen n name filename Name der zu generierenden Job Control Datei p parse filename Name der zu parsenden Job Control Datei h help Ausgabe aller Optionen v version Ausgabe der Version des jtools Tabelle 2 1 Parameter f r das jtool Eine dritte M glichkeit ist es das newtjt zu benutzen Dieses bietet eine einfache NEWT Oberfl che die in Abbildung 2 13 zu sehen ist In dieser Oberfl che k nnen die gew nschten Einstellungen f r die zu brennende CD einfach ausgew hlt werden Danach wird automatisch das jtool mit den korrekten Kommandozeilen Parametern aufgerufen und die Job Control Datei erstellt Somit ist es in der Nutzung einfacher als ein manueller Aufruf des jtools Nachdem die Job Control Datei erstellt wurde und damit f r den sp teren Brennvorgang feststeht wie die hochgeladenen Daten gebrannt werden sollen Audio CD Daten CD etc kann der Benutzer die Job Control Datei hochladen Im Gegensatz zu den Daten wird diese Datei direkt in das Home gelegt Nach dem Upload wird die Datei geparsed und im Erfolgsfall der Brennauftrag gequeued http www oksid ch gnewt PG 391 17 NetFire KAPITEL 2 FEATURES DE
121. ionen eines Brennauftrages In der Job Control Datei eines Brennauftrages siehe Abbildung 4 16 k nnen entweder ma nuell oder durch die WebGUI verschiedene Optionen gesetzt werden die die Abarbeitung des Jobs beeinflussen 2 3 1 Anzahl der Exemplare Von einem Job k nnen mehrere Kopien angefertigt werden So m ssen die einzelnen Tracks nur einmal ber das Netzwerk bertragen werden und auch die Vorbereitungszeit eines Jobs wird minimiert Beim Kopieren einer CD mu die Ursprungs CD ebenfalls nur ein einziges Mal ausgelesen werden Gegenw rtig k nnen maximal 3 Kopien erzeugt werden Auf diese Weise wird verhindert da ein Job das Ger t zu lange belegen kann 2 3 2 Multisession Multisession ist eine Option die in vielen Brennprogrammen zu finden ist Dort wird dieses Feature sehr oft undurchsichtig und unn tig komplex implementiert so da hier im Detail darauf eingegangen werden soll Eine Anzahl von Tracks auf einer CD wird immer zu einer Sitzung Session zusam mengefa t Eine Session wird in der Regel immer am St ck ohne Unterbrechung aufgezeichnet Neben den eigentlichen Tracks enth lt eine Sitzung einen Leadin und Leadout Bereich Das Leadin enth lt das Inhaltsverzeichnis der Sitzung also die Startpositionen und Modi der ein zelnen Tracks Das Leadout ist datenleer und ist eine Art Bremsspur f r CD Player Wird bei der Musikwiedergabe vom Player ein Sektor des Leadouts gelesen so wird dieser S
122. irektkopie 2 8 460494 p a bea s aan nen a 20 2 2 5 Kopie einer einer bereits bearbeiteten CD erstellen 20 2 3 Optionen eines Brennauftrages 2 2 CHE e 20 2 31 Anzahl der Exemplare 2a 24 tus ar ne aa nn de 20 232 EIERE s oe c e teg ee a rn 20 233 Moler Ch u s E 2 a ee SDS eee 21 2 3 4 CD in das Archiv aufnehmen aasa 21 2 3 5 Vorhergehendes L schen einer CD RW aa 21 3 Standardsoftware 22 3 1 Untersuchung der verf gbaren freien Standardsoftware 22 3 1 1 Betriebssysteme 22 3 12 HIIP Sewer oia as Sow nd ee as rien 24 3 1 3 HIEP BIOWSer 6 4 66 a A 25 3 14 CD ROM Brennersoftw re aa su u ae g k sn en Eh a 27 315 FTP Server e a Mw a Qaqa A ad eR ee ah 27 PG 391 I NetFire INHALTSVERZEICHNIS 4 Softwareentwicklung 30 4 1 Grobstruktur der Softwareentwicklung 30 4 1 1 Kontrollflu der Software ss spo mann mann 31 4 2 Systemsoftware Entwickludg e 40 4 2 1 Software zur Installation 2 22 Como nn 40 4 2 2 Embedded Debian Weiterentwicklung 43 423 Displaytreiber 2 24540 8544 62 25 sa Basar ne k s 48 4 24 Aufraumskript c os ono a a e E a apaia 52 4 3 Software Entwicklung zum Abarbeiten der Brennauftr ge 52 4 3 1 NetFire Daemon 53 3 02 ohellekripte eee yao a Ne ee wy e apa ee ee ee nn 63 433 FTP Server BErw lter ng ct EN w ame e K e WU OU Sua 65 4 4 Software Entwicklungen zu
123. ktes 20 ARJ 20 ATX 80 Audio CD 10 19 Ausgangsformat 93 B Backend 30 Bedienung 6 WebGUI 7 FTP Only 16 Befehlssequenzen 93 Benutzer 16 Betriebssystem 22 23 Boot Image 10 Brennauftrag l schen 19 Optionen 20 21 Status 13 19 Brenneinstellungen 8 Brennformate 19 Brenngeschwindigkeit 21 Brennskripte 93 Datenflu 33 36 Burn Proof 3 C CD Kopie 12 20 CD Player 21 CD ROM Laufwerk 21 CD RW L schen 21 cdrdao 27 93 cdrecord 93 cdrtools 27 CGI 69 Compact Disk 2 config out 45 D Datenflu Archiv 33 Auftrag L schen 36 Brennauftrag vorbereiten 33 Brennen 36 Daten senden 31 Statusabfrage 36 Systemadministration 38 DHCP 15 Display 93 Auswahl 83 Entwurf 83 Hintergrundbeleuchtung 85 Kontrastspannung 84 Icdfired 77 Icdsetup 75 libled 73 Platinenentwurf 86 Software 73 Steuersignale 85 Taster 85 Treiber 48 PG 391 NetFire 109 INDEX Displaytreiber 48 Devicefiles 49 Funktionsreferenz 50 ioctl 50 E Eingabedaten 94 Eingangsbedingungen 92 Einloggen 16 nicht m glich 19 Einzeltests 92 Embedded Linux 22 emdebian 30 emdebsys 43 48 Endbericht Struktur 5 Exemplare Anzahl 20 F Fazit 100 Fehler 92 94 Fehlermeldung 18 fn htacces 40 Formate 19 Frontend 30 FTP Client 18 FTP Server 16 65 Erweiterungen 65 Accounts anlegen 16 65 Accounts sperren 19 66 Auftragsbearbeitung abbrechen 19 66
124. lcd_showsprite void sprite int buffered Zeigt das Sprite sprite an e void lcd_settextwindow int x1 int y1 int x2 int y2 Setzt den sichtbaren Bereich f r Text Textzeichen werden nicht au erhalb dieses Bereichs angezeigt Somit ist es m glich textfreie Regionen f r die Grafikausgabe z B Sprites zu schaffen Wird durch die Textausgabe der untere Rand des Textfensters berschritten so wird ein Scrolling eingeleitet Das Textfenster entspricht zu Anfang der gesamten Displaygr e entsprechend 1cd_settextwindow 0 0 121 31 4 4 2 2 Das lcdsetup Einstellung der Netzwerkparameter Das lcdsetup ist ein Tool zur Einstellung der Netzwerkkonfiguration ber das LC Display lcdsetup wird nach Systemstart zu einem Zeitpunkt an dem das Root Filesystem Schreib zugriffe erlaubt von einem Initskript aufgerufen Es gibt dann eine Meldung auf dem Display aus da durch Dr cken beider Taster am LCD das Setup Programm gestartet wird Sollte dies nicht innerhalb von 5 Sekunden geschehen f hrt das System mit der Bootsequenz fort Sollte bei Systemstart die Datei etc netfire config bzw die in der 1cdsetup Konfigu ration angegebene Datei noch nicht existieren wird das Setup Programm sofort durchlaufen Bedienung Bei der Bedienung des Setup Programms erhalten die beiden Taster je nach Situation unter schiedliche Bedeutungen Die Funktion der Taster wird durch Graphiken die direkt neben den Tastern angezeigt werden verdeut
125. lf ltigen zu verbreiten und oder zu ver ndern Um die Autoren und uns zu sch tzen wollen wir dar berhinaus sicherstellen da jeder erf hrt da f r diese freie Software keinerlei Garantie besteht Wenn die Software von jemand anderem modifiziert und weitergegeben wird m chten wir da die Empf nger wissen da sie nicht das Original erhalten haben damit irgendwelche von anderen verursachte Probleme nicht den Ruf des urspr nglichen Autors sch digen Schlie lich und endlich ist jedes freie Programm permanent durch Software Patente be droht Wir m chten die Gefahr ausschlie en da Distributoren eines freien Programms indi viduell Patente lizensieren mit dem Ergebnis da das Programm propriet r w rde Um dies zu verhindern haben wir klargestellt da jedes Patent entweder f r freie Benutzung durch jedermann lizenziert werden mu oder berhaupt nicht lizenziert werden darf Es folgen die genauen Bedingungen f r die Vervielf ltigung Verbreitung und Bearbeitung A 2 Allgemeine ffentliche GNU Lizenz Bedingungen f r die Vervielf ltigung Verbreitung und Bearbeitung 0 Diese Lizenz gilt f r jedes Programm und jedes andere Datenwerk in dem ein entsprechender Vermerk des Copyright Inhabers darauf hinweist da das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf Im folgenden wird jedes derartige Pro gramm oder Datenwerk als das Programm bezeichnet die Formulierung
126. licht z B zeigt ein yes Symbol da der betreffende Taster zur Best tigung dient Das Setup Programm bietet die M glichkeit das DHCP Protokoll zur automatischen Netz werkkonfiguration auszuw hlen Ist dies erw nscht was nat rlich einen DHCP Server im lo kalen Netzwerk voraussetzt best tigt man dies durch Dr cken des yes Tasters oben Das Setup Programm beendet nun und gibt die HW Adresse MAC der Ethernetkarte aus Diese wird ben tigt um Einstellungen im DHCP Server zu treffen wie die Vergabe einer festen IP Wird DHCP nicht aktiviert no Taster unten so kann man nun die lokale IP die Netz maske und die Gateway Adresse einstellen Durch den oberen Taster kann man eine Ziffer um eins erh hen durch den unteren Taster bewegt sich der Auswahlcursor um eine Ziffer nach rechts Bewegt man den Auswahlcursor ber die letzte Ziffer hinaus so erfolgt eine Best ti gungsabfrage f r die jeweilige Einstellung Best tigt man nicht so beginnt der Einstellvorgang der jeweiligen Option von der ersten Ziffer an Best tigt man durch yes so wird die jeweils n chste Option eingeblendet Nach Best tigung der eingestellten Gateway Adresse wird das Setup Tool beendet PG 391 75 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Funktionsweise Das 1cdsetup verwendet liblcd zur Ansteuerung des Displays Es liest zu Anfang die Kon figurationsdatei etc lcdsetup conf Dort wird der Dateiname der Netzwerkkonf
127. lient bin 1cdfire nimmt Befehle ber die Kommandozeile entgegen und sendet diese an den Icdfired Socket Dazu liest es die Konfigurationsdatei des Icdfired Auch beim Client kann durch die Kommandozeilenoption c eine andere Konfigurationsdatei ausgew hlt werden Beispiel lcdfire status prepare job1 78 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION Konfiguration Die Konfigurationsdatei des Icdfired entspricht im allgemeinen dem INI File Format siehe B 1 Folgende Schliissel Wertepaare miissen gesetzt werden user UID Der User unter dem der Daemon laufen soll group GID Die Gruppe unter der der Daemon laufen soll logfile filename Das Logfile fiir Daemon Zugriffe socket filename Der Socket fiir die Clientkommunikation font filename Ein Fontfile im PSF Format als Displayfont device filename Das LCD Treiber Devicefile ein echtes File im Emulationsmodus shutdown filename Shutdown Befehl Beispieldatei etc lcdfired conf USER netfire GROUP netfire LOGFILE var log lcdfired log SOCKET var run lcdfired sock FONT bin lat9 08 psf DEVICE dev 1cd SHUTDOWN sbin halt PG 391 NetFire 79 KAPITEL 5 HARDWARE Kapitel 5 Hardware Fiir das NetFire System waren neben der Software auch mehrere Hardwarekomponenten not wendig ein Basissystem Chassis ein CD Brenner sowie ein Display Das Basissystem und der Brenner wurden dabei fertig gekauft das Display hingege
128. ltigen ver ndern weiter lizenzieren oder verbreiten sofern es nicht durch diese Lizenz ausdr cklich gestattet ist Jeder anderweitige Versuch der Vervielf ltigung Modifizierung Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz Jedoch werden die Lizenzen Dritter die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben nicht beendet solange diese die Lizenz voll anerkennen und befolgen 5 Sie sind nicht verpflichtet diese Lizenz anzunehmen da Sie sie nicht unterzeichnet haben Jedoch gibt Ihnen nichts anderes die Erlaubnis das Programm oder von ihm abgeleitete Da tenwerke zu ver ndern oder zu verbreiten Diese Handlungen sind gesetzlich verboten wenn Sie diese Lizenz nicht anerkennen Indem Sie das Programm oder ein darauf basierendes Da tenwerk ver ndern oder verbreiten erkl ren Sie Thr Einverst ndnis mit dieser Lizenz und mit allen ihren Bedingungen beziiglich der Vervielf ltigung Verbreitung und Ver nderung des Programms oder eines darauf basierenden Datenwerks 6 Jedesmal wenn Sie das Programm oder ein auf dem Programm basierendes Datenwerk wei tergeben erh lt der Empf nger automatisch vom urspr nglichen Lizenzgeber die Lizenz das Programm entsprechend den hier festgelegten Bestimmungen zu vervielf ltigen zu verbreiten und zu ver ndern Sie d rfen keine weiteren Einschr nkungen der Durchsetzung der hierin zugestandenen Rechte des Empf ng
129. m Home Verzeichnis homedir vor S mtliche Daten sollen nachher in tmpdir liegen exclusive gibt an ob dem Skript der CD Brenner exklusiv zur Verf gung steht Hierbei bedeutet 1 exklusiven Zugriff bei 0 kann der CD Brenner von anderen Jobs benutzt werden Um eine CD Kopie vorzubereiten mu die Quell CD eingelesen werden Dies kann nur geschehen wenn gerade keine CD eines anderen Jobs gebrannt wird jobid enth lt die Job ID des Jobs der vorbereitet werden soll Dieses Skript besitzt neben den typischen Antwortcodes o und e einen zus tzlichen Code r Dieser wird zur ckgeliefert falls die Vorbereitung fehlgeschlagen ist aber nochmal wiederholt werden soll Zum Beispiel wird r zur ckgeliefert wenn bei der Vorbereitung einer weiteren Session f r eine Multisession CD der CD Brenner nicht exklusiv zur Verf gung stand e sh nfrun userhome tmpdir jobid Dieses Skript sorgt f r die Abarbeitung des Jobs im Home Verzeichnis homedir Bei nicht erfolgreicher Ausf hrung gibt das Skript einen Fehlergrund zur ck tmpdir ist dabei das Verzeichnis in dem sh_nfprepare den Job vorbereitet hat jobid enth lt die Job ID des Jobs der vorbereitet werden soll sh nfclean userhome tmpdir account Dieses Skript l scht alle nicht mehr ben tigten Daten Die Verzeichnisse userhome und tmpdir werden gel scht Der Account tmpdir wird aus der Nutzerdatenbank entfernt sh_nfempty Dieses Skript wird aufgerufen sobald der letzte Job abgearbeitet wurde und
130. m Zugriff die maximale Verarbeitungszeit des Displays abgewartet werden mu Es war also n tig im Falle von lesenden Zugriffen das Signal R W ist low das Display befindet sich im Schreibmodus den Datenbus zwischen Display und Parallelport zu trennen um eine Datenkollision mit dem unidirektional betriebenen Parallelport zu vermeiden Gleich zeitig mu aber das Busy Signal des Displays am Parallelport anliegen Das Problem wurde durch Verwendung eines IC 74LS245DW IC1 gel st Beim 74LS245DW handelt es sich um eine 8 Bit bidirektionale und trennende Treiberstufe Der IC ist so ver schaltet da er im Falle von schreibenden Zugriffen auf das Display als Treiber zwischen Par allelport und Display fungiert bei Lesezugriffen diese aber voneinander trennt Die Datenleitung D7 wurde zudem dauerhaft mit dem Busy Eingang des Parallelports verbunden so da das Busy Signal des Displays nach einer Status Anfrage von dort gelesen werden kann 5 3 2 4 Fehlende Ausgangsleitung Da der Parallelport nicht mit gen gend Ausgangsleitungen versehen ist es fehlt eine Signal leitung f r die Ansteuerung des Displays wurden Signale folgenderma en zusammengef hrt Intern arbeitet das 122 5NLED mit zwei Controllern vom Typ SED1520 Die Display Signale El und E2 INIT und AUTOFEED am Parallelport dienen der Ansteuerung dieser Controller Da es nicht zwingend erforderlich ist beide Controller gleichzeitig anzusprechen wurden die entspr
131. mit einem Passwort ber das HTML Interface an Nachdem das Passwort ber den htaccess Mechanismus des Webservers berpr ft wurde hat der Administrator Zugriff auf die Systemeinstellungen Ein PHP Skript liest dann die not wendigen Systemdateien des NetFire Systems aus und zeigt dem Administrator die aktuelle Konfiguration an Dieser kann nun alle Einstellungen ndern bei Best tigung werden die Ein stellungen in eine tempor re Systemdatei geschrieben da der Benutzer des Webservers keine Schreibrechte auf die Konfigurationsdateien hat Anschlie end wird ein Konfigurationsskript aufgerufen Dieses setzt die Einstellungen systemweit in den einzelnen Konfigurationsdateien Statusanzeige und Queue l schen f r den Administrator Die Anmeldung des Administrators verl uft genau wie bereits oben beschrieben Es werden jedoch keine Konfigurationsdateien ausgelesen sondern die interne Queue des netfired die die zu brennenden Auftr ge enth lt Diese werden ber den Webserver dem Administrator angezeigt der nun einzelne Queueeintr ge oder die gesamte Queue zum L schen ausw hlen kann Die zu l schenden Queueeintr ge werden dem NetFire Daemon bergeben Dieser l scht zun chst alle Eintr ge seiner Queue und anschlie end alle noch bestehenden Accounts und die dazugeh rigen Verzeichnisse mit Inhalt Anschlie end bekommt der Administrator die Best ti gung f r die erfolgreiche L schung der Queue Abbildung 4 8 zeigt den Datenflu der das
132. mstart geladen Die Interaktion mit dem Benutzer und den Applikationen findet durch ein Device File statt Alle Zugriffe auf dieses File werden an entsprechende Funktionen des Kernel Moduls weitergeleitet 4 2 3 3 Anforderungen an den LCD Treiber Das Kernelmodul fiir die Displaysteuerung soll folgenden Anspriichen geniigen e Sequenzen von Bytes werden als Grafikdaten an das Display bertragen e F r Pixelmanipulationen k nnen aktuelle Grafikdaten ausgelesen werden e Der Zustand der Tasten ist abfragbar e Einfache Funktionen wie Display L schen Festlegen der Schreibposition etc werden un terst tzt e Zugriffssteuerung durch Lock Mechanismus 4 2 3 4 Anbindung an das System Der Device Treiber wird als Module geladen Fr ist ein Character Device bertr gt byteweise Datenstr me und ist ber die Major Number 240 an das System angebunden Unter der Minor Number 0 stehen Funktionen f r den Zugriff auf das Display unter Minor Number 1 steht Funktionalit t f r das Auslesen der Taster bereit Damit ein Modul automatisch gestartet wird sollte es zu seiner Major Number einen ent sprechenden Eintrag in der Modulkonfiguration geben blicherweise etc modules conf Au erdem m ssen f r den Zugriff entsprechende Devicefiles f r die Major und Minornumbers PG 391 49 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG angelegt werden Dies geschieht ber das Kommando mknod Diese Files sollten dev 1cd 240 0 und dev l
133. n Dies schien die L sung des Problems zu sein was einige Tests belegten Es hat sich aber noch ein gr eres Problem harauskristallisiert Nach genaueren Recherchen und ausgiebigen Tests mit verschiedenen Browsern hat sich gezeigt da der Gro teil der allgemein benutzten Browser grunds tzlich mit dem HTTP Upload nicht zurechtkommt Der Grund daf r ist vermutlich die Gr e der Dateien die hochgeladen werden die bei Images bekanntlich bis zu 700 MB betragen kann Unter Ber cksichtigung der oben genannten Probleme kann die Entscheidung nicht fern liegen die Weiterentwicklung dieser Technik aufzugeben oder bis auf weiteres zu verschieben Der Einsatz dieser Upload M glichkeit wird auf den Fall begrenzt in dem der Nutzer eine bootf hige CD erstellen will Durch die beschr nkte Gr e eines Boot Images ist es m glich dieses via HTTP problemlos hochzuladen 4 4 1 7 FTP Upload Aufgrund der oben genannten Umst nde scheint die Upload M glichkeit per FTP die einzige die in Frage kommt um gro e ISO Images auf den Server hochzuladen FTP ist f r diese Funktionalit t ohnehin pr destiniert und bietet in dieser Hinsicht weitere Vorteile Einer davon ist offensichtlich die F higkeit ein unterbrochenes Upload an der richtigen Stelle fortzusetzen Resume Funktion ohne die ganze Datei noch einmal zu bertragen Die Unterbrechung kann leicht beispielsweise durch eine Leitungsst rung oder einen Netzwerkfehler verursacht werden Wie in dem
134. n der WebGUI viele Feldarten benutzt Die Liste beginnt mit den einfachen Feldern in denen Text eingegeben werden kann Sie reicht ber Auswahllisten z B bei der Auswahl eines ISO Images aus dem Archiv bis hin zu Schaltern und Ankreuzfeldern Mit Hilfe der einzelnen Komponenten lassen sich sehr schnell und einfach alle signifikanten Informatio nen sammeln und gegebenfalls mit Hilfe der hidden Tags dynamisch auf die folgenden Seiten bertragen Die somit gesammelten Werte gelangen als Stream mittels der Post Methode bei der die Informationen nicht sichtbar an URL angeh ngt werden auf den Server Dort werden diese weiterverarbeitet abh ngig von den Absichten des Users Desweiteren ist dem Benutzer die M glichkeit gegeben worden mit Hilfe der WebGUI einige administrative Einstellungen und Ver nderungen wie z B L schen der gesamten Queue oder nderung der IP Adresse zu bet tigen Dazu ist ein separater Ablauf neuer Seitenfolgen implementiert worden siehe auch Kapitel 2 1 1 Bitte stellen Sie die Brennoptionen ein Geschwindigkeit max x Exemplare bh CD RW l schen nein x Modei wk Multisession T Bootfahig I Neue eb Brennen Ins Archiv E Kommentar E Job Status I anzeigen E Mail optional nn Administration Zur ck Weiter Zur cksetzen Abbruch passwortgesch tzt Abbildung 4 15 Brenneinstellungen mittels WebGUI vornehmen 4 4 1 5 PHP Skripte Um die Interaktivit t zwischen System und Benutzer
135. n seiten des Servers handelt Diese werden daher auch von den Clients dem Benutzer nicht vorenthal ten oder verf lscht post_cmd_dele Ist der Benutzer nach dem Upload einer g ltigen Job Control Datei in der Queue so kann er bei Bedarf auch seine Queueposition aufgeben und sich ganz aus der Queue entfernen lassen Dies ist z B dann sinnvoll wenn kurzfristig noch nderungen an den hochge ladenen Daten vorgenommen werden sollen Sobald der Anwender seine Job Control Datei l scht wird vom FTP Server in der Funktion post_cmd_dele ein dequeue an den netfired geschickt pre_cmd_lock und post_cmd_unlock Damit solche Vorg nge wie das ndern der hochgeladenen Daten vor dem Beginn des Brennvorganges nur solange m glich sind wie der Brennvorgang bzw die Vorbereitung der Daten f r den Brennvorgang noch nicht begonnen hat wird bei kritischen Operatio nen eine Lock Datei angelegt die dem netfired signalisiert da der Account noch nicht zur Abarbeitung bereit ist Kritische Operationen sind dabei alle schreibenden Befehle Diese sind in der Funktion pre_cmd_lock festgelegt als STOR STOU APPE REST RNFR RNTO DELE RMD XRMD MKD XMKD siehe dazu 20 Dabei wurde nat rlich darauf geachtet da die Funktion pre_cmd_lock als erste vor allen anderen pre_cmd Funktionen und die Funktion post_cmd_unlock als letzte nach allen anderen post_cmd Funktionen aufgerufen wird pre_cmd_retr Um auch ber das FTP Interface seinen aktuellen Status
136. n wurde selbst entwickelt Nachfolgend sind diese Komponenten n her beschrieben 5 1 Die Komponenten des NetFire Systems Einleitung Damit das System den Anforderungen entspricht die die Spezifikation stellt ist ein modernes und leistungsf higes System notwendig Gleichzeitig soll es preisg nstig und klein sein Um auch moderne 24x CD Brenner und zuk nftige DVD Brenner zu unterst tzen ben tigt es au erdem ein 100Mbit sec Ethernetinterface und eine IDE Schnittstelle Um die Entwicklungszeit des Gesamtsystems m glichst kurz zu halten wurden m glichst viele fertige Komponenten verwendet Auf der Hardwareseite bedeutet dies da ein m glichst komplettes Board mit Peripherie Ethernet IDE Interface bevorzugt wurde Auf der Soft wareseite ist die Konsequenz auf ein System zu setzen f r das m glichst viel Software frei verf gbar ist und das von einer m glichst gro en Zahl von PG Teilnehmern beherrscht wird Zus tzlich spielen Lizenzkosten f r das verwendete System eine Rolle Das Vorhandensein von Quellcodes ist ein Plus Kleine ATX PC Systeme Im Bereich von ATX gibt es eine Reihe von Standards die kleine Formfaktoren erm glichen Form Faktor Maximale Breite Maximale Tiefe FlexATX 229mm 191mm microATX 244mm 244mm ATX normal 305mm 244mm Mini ATX 284mm 208mm Tabelle 5 1 Formfaktoren der ATX Standards Fiir unsere Zwecke scheint insbesondere FlexATX interessant Der Standard wurde 1999 von In
137. ndem der Job in die Queue gestellt wird Ein Beispiel f r eine Job Control Datei mit den dazugeh rigen Erkl rungen wird in der Abbildung 4 16 dargestellt Diese Datei hat den shellkompatiblen Stil wie er im Anhang B 2 beschrieben wird 4 4 1 9 Wichtige Verzeichnisse und Dateien der WebGUI Konfigurationsverzeichnis etc httpd Konfigurationsdatei f r PHP etc php ini Verzeichnis f r Webseiten und PHP Scripts var www Konfigurationsdatei f r die WebGUI etc webgui config 4 4 1 10 WebGUI Konfigurationsdatei Die PHP Skripte der WebGUI brauchen die Position einiger Pfade und Dateien im System Diese werden ber die Konfigurationsdatei etc webgui config konfiguriert Diese Datei hat den shellkompatiblen Stil wie er im Anhang B 2 beschrieben wird Im folgenden werden die einzelnen Schliissel beschrieben e socket Dateiname des Unix Domain Sockets ber den Die WebGUI mit dem netfired kommu niziert e archive path Pfad der angibt wo das Archiv mit schon gebrannten archivierten ISOs zu finden ist e netfire_config Position der Konfigurationsdatei netfire config in der Netzwerkeinstellung und SCSI Einstellungen eingetragen wird Diese Datei ist von der WebGUI nicht schreibbar sie dient nur zum Auslesen der Werte e netfire_config_tmp Position der tempor ren Konfigurationsdatei netfire config in der Netzwerkeinstel lung und SCSI Einstellungen eingetragen wird Diese Datei sieht genau aus wie die netfire config und ist von de
138. ndig Der gr te Nachteil ist da ein USB Ger t nur von einem Rechner aus genutzt werden kann Firewire 4 Erlaubt den Anschlu von bis zu 63 Ger ten via Hot Plug and Play wobei mittels Daisy Chaining ein Ger t sogar von mehreren Rechnern aus genutzt werden kann Jedoch m ssen ger teabh ngige Treiber installiert sein der Standard unterliegt aufgrund seiner Neuheit noch starken Modifikationen und wird nur von wenigen Rechner Plattformen unterst tzt Ethernet 5 Durch Einsatz von Hubs k nnen beliebige Kaskadierungen aufgebaut werden so da beliebig viele Rechner mit beliebig vielen Ger ten verbunden werden k nnten Komponeten k nnen w hrend des laufenden Betriebs hinzugef gt und entfernt werden Im allgemeinen kann man davon ausgehen da jede Plattform Zugang zu einem Ethernet Anschlu hat Alle Betriebssysteme und Hardware Plattformen unterst tzten jetzt und in Zukunft den Ethernet Standard Die aufgef hrten Eigenschaften der verschiedenen Schnittstellen l t nur Ethernt zu um ein plattform bergreifendes und beliebig skalierbares Interface zu erhalten 1 1 6 2 Stand der Technik Compact Disk Nach dem Legen der wissenschaftlichen Grundlagen 6 7 erfuhren Compact Disk CD basierte Multimedia und Computersysteme eine relative schleppende Markteinf hrung Ein Grund wa ren die astronomischen Preise der Ger te und Medien Die ersten Ger te im Consumer Markt 2 PG 391 NetFire 1 1 PG 391 NETFIRE w
139. nicht auf den Glftpd gefallen ist Trollftpd Dieser FTP Server hat vor allem einen Vorteil er ist extrem klein Mit nur ca 40KB h tte sich der Trollftpd f r ein Embedded System nat rlich sehr gut geeignet Es kann allerdings davon ausgegangen werden da der Funktionsumfang auch entsprechend eingeschr nkt ist was f r unsere PG einen entsprechend hohen Weiterentwicklungsauf wand bedeutet h tte Au erdem w re bei diesem Konzept wohl die Implementierung ei gener Funktionen nur direkt im Source m glich gewesen was bei neueren Versionen einen nicht unerheblichen Anpassungsbedarf ergeben h tte Die Alternative eventuell auftre tende Sicherheitsl cher nicht durch Updates zu beheben scheint da wenig pragmatisch Ein umfassender Test auf die Tauglichkeit f r unser Projekt mu te allerdings ausbleiben 1Onttp www fokus gmd de research cc glone employees joerg schilling private cdrecord html Hnttp cdrdao sourceforge net http www glftpd com 13http www trolltech com developer download ftpd html PG 391 27 NetFire KAPITEL 3 STANDARDSOFTWARE da der Download FTP Server der Trollftpd Entwickler tiber langere Zeit nicht erreichbar war Wu ftpd Wu ftpd der an der Washington University entwickelt wurde ist wohl der am weitesten verbreitete FTP Server im Internet Das bedeutet jedoch nicht da er damit auch die beste Wahl w re Da der Wu ftpd seit vielen Versionen ein st ndiger Gast beim CERT ist war bez
140. nterst tzt e Ein burnproof Brenner sorgt daf r da keine Buffer Underruns eintreten k nnen e In das System ist ein LCD integriert worden das ber zwei Funktionstasten verf gt e Das NetFire Ger t kann durch Konfiguration per LCD Tasten in beliebige Netzwerke eingebunden werden e Die kompakte praktische W rfelform spart Platz und erm glicht einen vielseitigen Ein satz e Es gibt ein Archiv der Images um wiederholte Uploads zu vermeiden e Die Unterst tzung von CD RW ist vorhanden Nachdem der User einen Brennauftrag generiert hat wird dieser in die NetFire Queue eingereiht Der erste Auftrag in der Warteschlange wird direkt gebrannt w hrend der zweite Job f r den eigentlichen Brennvorgang vorbereitet wird eine gepackte Datei mu z B entpackt werden Ist der aktuelle Brennauftrag abgearbeitet worden wird dieser aus der Warteschlange entfernt alle anderen Jobs r cken nach NetFire verf gt auch ber Administrationsfunktionen die unter anderen auch die M glichkeit zur Verf gung stellen Brennauftr ge aus der Queue zu entfernen 2 1 Bedienung Es gibt grunds tzlich zwei M glichkeiten ber ein beliebiges Netz in das NetFire eingebunden wurde das System zu bedienen Zum einen gibt es die komfortable WebGUI mit deren Hilfe der User mittels eines HTTP Browsers eine CD per Mausklick erstellen kann Die WebGUI bietet dem Benutzer viele hilfreiche Funktionalit ten an Unter anderem werden die Stati der Brennauftr
141. oftware mitsamt zugeh rigen Daten immer komplexer und umfangreicher wird Aus diesem Umstand resultiert die Notwen digkeit nach einem Medium zur Datensicherung das gro e Datenvolumen schnell dauerhaft und preiswert verarbeiten kann Zus tzlich ist eine erh hte Mobilit t in zweierlei Hinsicht zu beobachten zum einen wer den immer mehr Daten zwischen Benutzern ausgetauscht wobei eine rein elektronische Form dieses Austausches via Internet nicht immer m glich ist so da der Transfer h ufig nach wie vor ber physikalische Datentr ger vorgenommen wird Andererseits werden Computersysteme zunehmend mobil eingesetzt wobei verschiedenste Rechner vernetzt in den unterschiedlichsten PG 391 NetFire KAPITEL 1 EINLEITUNG heterogenen Umgebungen zum Einsatz kommen Diese Rechner verf gen heute nur in den sel tensten F llen ber Ger te zum Speichern gro er Datenvolumina Wenn dann handelt es sich meist um spezielle L sungen welche mit Ger ten im Bereich des privaten Einzelnutzers nicht kompatibel sind und deshalb einen Datenaustausch verhindern Die Kombination der Faktoren Datensicherheit Preis f r Speichermedien Datenaustausch ber Wechselmedien und Mobilit t legt nahe einen universellen CD Brenner zu entwickeln der in beliebigen vernetzten heterogenen Rechner Umgebungen einsetzbar ist Gerade die Suche nach der M glichkeit ein Ger t von einer Vielzahl von Rechnern aus zu betreiben st t in der Praxis bislang
142. ome archive test iso string move iso image to archive yes or no MoveToArchive no bool Insert user s email address If this option is left blank the user vill only be notified via HTML page EMail bla bla bla string Abbildung 4 16 Beispiel f r eine Job Control Datei 72 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION e passwd_file Position der passwd Datei die in der httpd conf eingetragen ist Diese Datei enth lt das Passwort f r den Admin Benutzer des Systems bzw des Apache 4 4 2 Display und Tastersteuerung Das Konzept zur Display und Tasteransteuerung wurde durch eine Reihe aufeinander auf bauender Tools und Bibliotheken umgesetzt Als Basis fiir die Ansteuerung dient das LCD Kernel Modul siehe 4 2 3 1 Als allgemeine Grundlage zur Implementierung eigener Software dient die liblcd welche Funktionen zur Text und Grafikausgabe bereith lt Hierauf setzen die NetFire spezifischen Applikationen 1cdsetup und lcdfired auf 1cd setup gibt dem Anwender die M glichkeit grundlegende Netzwerkeinstellungen ber das LC Display zu treffen w hrend Icdfired Statusmeldungen der Brennvorg nge anzeigt 4 4 2 1 Die liblcd zur Ansteuerung des Displays Konzept Aufsetzend auf das LCD Kernel Module wurde eine statische Bibliothek entwickelt die eine weitergehende Ansteuerung des Displays erm glicht Diese Bibliothek enth lt Funktionen zur gesteuerten Ausgabe von Text und Grafik sowie zur Bee
143. on mit deren Schnittstellen definition mit dem Ziel vorhandene Widerspr che aufzufinden Unsere ersten Modultests fanden in Form von Whitebox Tests statt und lagen in der Ver antwortung der jeweiligen Autoren dieser Module und wurden nicht dokumentiert Erst nach erfolgreichem Abschluss der Whitebox Tests wurden die Module der Test Taskforce zu erneu ten diesmal von den Autoren unabh ngigen Tests bergeben Diese fanden zum gro en Teil in Form von Blackbox Tests ohne Kenntnis des Quellcodes statt 6 1 1 netfired Der Tatsache Rechnung tragend da der netfired die zentrale Softwarekomponente ist wur de dem Testen desselbigen besondere Aufmerksamkeit geschenkt Aufgrund seiner Struktur als permanent laufender Proze und unter Ber cksichtigung seiner Schnittstellendefinition in wel cher s mtliche Kommunikation ber Sockets festgelegt wurde war es besonders gut m glich ein automatisches Testverfahren zu generieren Es wurde ein Programm in Perl geschrieben welches in der Lage ist beliebige seiner vordefinierten Befehle an den netfired zu schicken und automatisch zu berpr fen ob die Nachbedingung dieses Befehls eingehalten wird Aus diesen einzelnen Befehlen und deren automatischer berpr fung konnten dann kompliziertere Testf lle 92 PG 391 NetFire 6 1 MODULTESTS bestehend aus ganzen Befehlssequenzen konstruiert werden Eine detaillierte Testdokumenta tion w rde den Rahmen dieses Berichts sprengen deshalb s
144. ools e accountmaker Erzeugt neue Nutzerkennungen e accountdeleter Entfernt eine Nutzerkennung und die unter ihr gespeicherten Daten e support scripts Dienen zur Vorbereitung und Abarbeitung der Brennauftr ge F r ein Embedded System wie den NetFire Brenner fehlt somit haupts chlich ein Pro gramm das das Zusammenspiel zwischen all den Tools koordiniert Diese zentrale Aufgabe Inttp www emdebian org 2PHP Hypertext Preprocessor http www php net 30 PG 391 NetFire 4 1 GROBSTRUKTUR DER SOFTWAREENTWICKLUNG bernimmt der von der PG entwickelte netfired Daemon Der netfired bietet eme Schnitt stelle zu den Benutzeroberfl chen WebGUI modifizierter FTP Server eine Queue in der die abzuarbeitenden Jobs verwaltet werden und eine Routine um die Standardsoftware aufzuru fen mit der letztendlich die gew nschte CD gebrannt wird Standard Tools cdrecord EE Benutzeroberfl chen cdrdao f FTP Server netfired 3 proftpd daemon S Eigene Tools N HTTP Server accountmaker Apache accountdeleter support scripts Abbildung 4 1 Grobe Softwarestruktur Ein grobes Abbild der Softwarestruktur zeigt Abbildung 4 1 Diese Struktur wurde gew hlt um die Benutzeroberfl chen unabh ngig von den Schnittstellen der Standard Tools zu halten Dieser Ansatz gew hrleistet ein einfacheres Austauschen der Tools falls es n
145. peicherschutz nein ja Multitasking nein ja API proprietar POSIX Entwicklungsumgebung propriet r GNU Cross compilation nein ja CPU 8086 oder kompatibler diverse 32bit CPUs Speicher RAM ROM 512kb 512kb 2Mb 2Mb Lizenzkosten Entwicklungsumgebung keine Laufzeitsystem Sourcecode verf gbar nein ja Tabelle 3 1 bersicht DOS Embedded Linux 3 1 2 HTTP Server Einleitung Es standen zwei Alternativen zur Auswahl entweder ein minimal ausgebauter Apache oder irgendein spezieller Webserver wie z B thttpd boa usw Boa Da von den betrachteten Webservern au er Apache der zun chst als berdimensioniert ange sehen wurde nur boa die M glichkeit bot CGI Skripte auszuf hren wurde die Entscheidung zun chst zugunsten boa gef llt da er sehr klein ist unter 50 Kb und damit auch der Instal lation auf einem sehr kleinen Flash Modul 16 Mb nicht im Wege stehen w rde Apache Als jedoch sich herausgestellt hat da boa CGI Skripte nicht anhand des Dateityps erkennen und dann mit dem entsprechenden Interpreter aufrufen kann sondern die Angabe des Inter preters explizit in dem Skript erfordert wurden Anpassungen notwendig Der Quellcode von boa hat sich allerdings als nicht wart oder anpassungsf hig erwiesen Da der Aufwand f r die Reinigung des Quellcodes als zu hoch angesehen wurde wurde die fr here Entscheidung revidiert und die neue Wahl fiel auf Apache Apache Konfiguration Apache wird dabei mit e
146. pload Verzeichnis Drop Men Windows Netscape 4 x Windows Explorer ja ja nein Windows Internet Explorer 5 x Windows Explorer ja nein ja Windows Internet Explorer 6 x Windows Explorer ja nein ja Windows Opera 5 x Windows Explorer nein nein nein Windows Opera 6 x Windows Explorer nein nein nein Windows Mozilla 5 0 0 9x Windows Explorer nein nein nein Linux KFM KFM ja nein mehrere Dateien Linux Konqueror Konqueror ja nein ja Linux Nautilus Nautilus ja nein ja Linux Netscape 4 x beliebig nein ja nein Linux Opera 5 x beliebig nein nein nein Linux Opera 6 x beliebig nein nein nein Linux Mozilla 5 0 0 9x beliebig nein nein nein Linux Galeon beliebig nein nein nein Solaris Netscape 4 x beliebig nein ja nein Solaris Netscape 3 x beliebig nein ja nein Solaris Opera 5 x beliebig nein nein nein Solaris KFM KFM ja nein mehrere Dateien MacOS 9 0 Opera 5 x beliebig nein nein nein MacOS 9 0 Internet Explorer beliebig nein nein nein MacOS 9 0 Netscape 4 x beliebig ja nein mehrere Dateien Tabelle 3 2 bersicht der FTP F higkeit von Webbrowsern OS Browser File Manager Windows Netscape 4 x Windows Explorer Windows Internet Explorer 5 x Windows Explorer Windows Internet Explorer 6 x Windows Explorer Linux KFM KFM Linux Konqueror Konqueror Linux Nautilus Nautilus Solaris KFM KFM MacOS 9 0 Netscape 4 x beliebig Tabelle 3 3 Ideale Systemkonfiguration
147. r Liste ist die Anzahl der Ac counts e illegal password Das angegebene Administrator Pa wort ist ung ltig Datei Befehle Diese Befehle sind eigentlich nur f r die WebGUI interessant da der Webserver keine Zugriffs rechte auf die Home Verzeichnisse der Benutzer hat Falls von dem angegebenen Account bereits ein Job in die Queue gestellt wurde liefern die Befehle e your job is currently queued zur ck Solange ein Job von einem Account in der Queue ist d rfen keine Dateioperationen stattfinden e Dateien im Home Verzeichnis des Benutzers erzeugen Aufruf create account filename content Es wird die Datei filename im Home Verzeichnis des Benutzers account angelegt Der Inhalt der Datei content wird einfach als weiterer Parameter bergeben Es ist jedoch nur m glich Dateien anzulegen wenn account noch nicht gequeued ist R ckgabe o Die Datei wurde erstellt e can t open file for writing Die angegebene Datei konnte nicht zum Schreiben ge ffnet werden Die Positionen sind nur durch Kommata getrennt die Leerzeichen dienen der besseren bersicht PG 391 59 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Es k nnen Account Locking Fehler auftreten siehe weiter oben e Datei verschieben Aufruf filemv account source target Verschiebt die Datei source zu target Die Dateinamen sind relativ zum Home Verzeichnis des Nutzers account Riickgabe o Die Datei wurde umbenannt
148. r Projektgruppe ist somit freie Software d h es ist erlaubt die Software weiterzugeben und zu ver ndern 1 4 Struktur des Berichts In Kapitel 2 wird vorgestellt welche M glichkeiten das NetFire System hinsichtlich der Be dienerf hrung der m glichen Brennformate und der Optionen bietet Kapitel 3 besch ftigt sich mit der frei zur Verf gung stehenden Standardsoftware Es werden verschiedene Betriebs systeme und Programme auf ihre Nutzbarkeit f r NetFire hin untersucht In Kapitel 4 wird auf die eigenentwickelte Software w rend dieser Projektgruppe eingegangen Dazu werden die einzelnen Komponenten vorgestellt und im einzelnen beschrieben In Kapitel 5 wird die verwen dete Hardware erl utert und beschrieben welche Kriterien zu ihrer Auswahl f hrten Kapitel 6 besch ftigt sich mit dem Testen von NetFire Einen berblick ber die von uns angefertigte Archiv CD wird in Kapitel 7 gegeben In Kapitel 8 wird beschrieben wie NetFire installiert wird Zum Schlu wird in Kapitel 9 ein Fazit gezogen PG 391 5 NetFire KAPITEL 2 FEATURES DES NETFIRE SYSTEMS Kapitel 2 Features des NetFire Systems Das NetFire System verf gt ber eine Vielzahl von Features die den Benutzer beim Erstellen einer CD unterst tzen sollen Die grundlegenden Features des Gesamtsystems sind e Dem Benutzer wird eine WebGUI zur Verf gung gestellt e Das System kann man auch per FTP Kommandozeile bedienen e Es werden verschiedene Brennformate u
149. r User Interaktion o 67 EE Web Uli is a ie ee ea 67 4 4 2 Display und Tastersteuerung 73 5 Hardware 80 5 1 Die Komponenten des NetFire Systems 80 5 2 Bezugsquellen und Preise 2 2 0 4 a a mn be A ee 81 5 2 1 Genaue Angaben zu den Bezugsquellen Anbietern 83 53 Display und Waster se co ss s 460 24 he e AY eR eee eee ee 83 5 3 1 Displayauswahl 2 cs ea sioa aow doa au aaa a Uu ar 83 5 3 2 Platinenentwurf und Best ckung 84 5 3 3 Mechanische Befestigung am Geh use o o 86 6 Systemtests 92 BG Modultests a4 ao a ee QUA a H 92 OLI metfired occur ba ee k a a E Er A SUNSU KS 92 E e e X Gg ky Bee t Du ee ebe SS 93 Bild EE es A Bee ee S SC S a 93 GLA Bronn SRP gt a ia sag 44 00059 Seka Sw ARRAS Q a a 93 E eeh ss s Z de aras eo Eer ee RAR ER ee Gok AOR ee HS 94 62 Inbegrationstests se so c Q eek Q w ana a ee RE Pe REG Q O HE 94 6 3 Tests des Gesamtsystems 94 7 Die Archiv CD 96 r L Tall a ds ua S on e ER Ge Re V S AMI Q bis ow a a 96 8 Installationsanleitung 98 9 Fazit 100 A GPL 102 AL VORWO 2 2 l s a Q s EPA S eG W Q s Sa Rw al BR EGS Ros S OQ Qe Qs 102 A 2 Allgemeine ffentliche GNU Lizenz Bedingungen f r die Vervielf ltigung Ver breitung und Bearbeitung 2 2 22 CH Emm nn 103 A 3 Keine Gew hrleistung 107 B Dateiformate 108 B 1 INI Style Konfigurationsdateien 108 B 2 Shellkompatible Konfigurationsdateien 22
150. r WebGUI schreibbar Diese Datei wird anschlie end durch die beiden Skripte update_config sh und configurator in die richtige Konfigu rationsdatei netfire config geschrieben PG 391 71 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Type of job Normal Zip Dir Copy Audio Toc Cue Bin set Normal for Iso Image Type Normal string Preferences Speed max 24 and number of copies min 0 max 3 if Speed 100 then maximum available Speed is used Speed 24 int Copies 0 int CD RW Deletion No don t delete All delete whole CD RW Fast delete TOC DeleteMode No string Write single image MultiSession no Create multisession CD MultiSession yes MultiSession no bool available write modes DAO SAD Disc At Once Session At Once DAOMode Yes TAO Track At Once DAOMode NO DAOMode Yes bool CD Modes 1 model CD ROM Mode 1 Yellow Book 2048 bytes sector ec included 2 mode2xa1 CD ROM Mode 2 XA1 3 mode2xa2 CD ROM Mode 2 XA2 4 Audio CDDA mode Red Book 2352 bytes sector ec included 5 ModeiRaw CD ROM Mode 1 RAW 2352 bytes sector Mode 1 string also valid Mode Audio OF Enter the name of your boot image here to create a bootable cd the boot image must be present in the user home folder boot if no BootFileName is given a non bootable CD will be created BootFileName boot img string direct path and name of your iso image FileName h
151. r ist in Abbildung 2 14 zu sehen ncftp NFiqyCQY gt put jobcontrol jobcontrol 137 00 B 45 57 B s put jobcontrol could not send file to remote host ncftp NFiqyCQY gt quote cwd Your uploaded jobcontrol was invalid You are NOT queued Reason was Audrio is no valid Type CWD command successful ncftp NFiqyCQY gt Abbildung 2 14 Fehlermeldung beim Upload einer ungiiltigen Job Control Datei Wurde die Job Control Datei ohne Fehlermeldungen angenommen so ist der Job damit in der Queue Ansonsten mu man seine Job Control Datei berichtigen und erneut hochladen Sollen die Daten nach dem Brennen ins Archiv geschoben werden von wo aus sie zu einem sp teren Zeitpunkt noch einmal gebrannt werden k nnen so ist es ratsam eine Datei mit 18 PG 391 NetFire 2 22 BRENNFORMATE dem Namen description txt hochzuladen Diese wird nicht in das Data Verzeichnis sondern direkt in das Home gelegt und soll einen beschreibenden Text enthalten anhand dessen sp ter die Images im Archiv zugeordnet werden k nnen Der Upload dieser Datei kann auch nach der Job Control Datei erfolgen jedoch nicht nachdem bereits mit der Abarbeitung des Auftrags durch den netfired begonnen wurde ber den aktuellen Status seines Brennauftrags kann man sich informieren indem man sich den Inhalt der Datei status anzeigen l t Diese liegt ebenfalls im Home Verzeichnis Die Tatsache da diese Datei scheinbar keinen Inhalt hat da sie im
152. r reinen Kompilierungszeit Ausserdem sind die Module ebenso wie der Server selbst in C geschrieben womit uns eine deutlich leistungsf higere und vor allem Mnttp www wuftpd org http www cert org http www ncftpd org http ww proftpd org 1Bhttp ww apache org 28 PG 391 NetFire 3 1 UNTERSUCHUNG DER VERFUGBAREN FREIEN STANDARDSOFTWARE effizientere Sprache zur Verf gung steht als z B beim Glftpd wo sich lediglich Skripte ausf hren lassen Die Wahl fiir dieses Projekt den ProFTPd zu nehmen hat sich im nachhinein auch des halb als richtig erwiesen da wir uns dazu entschieden haben die Kommunikation zwischen dem netfired s Kapitel 4 3 der f r die Verwaltung und Bearbeitung der Brennauf tr ge zust ndig ist ber Unix Sockets laufen zu lassen Ohne ein in einer leistungsf higen Sprache programmiertes Modul w re dies einerseits mit einem erheblichen Aufwand ver bunden gewesen und andererseits vom Endergebins her nicht so elegant gewesen wie der hier gew hlte Ansatz PG 391 NetFire 29 KAPITEL 4 SOFTWAREENTWICKLUNG Kapitel 4 Softwareentwicklung Das Konzept des NetFire Brenners sieht auf der Softwareseite die Verwendung eines hohen Anteils von Standardsoftware vor Als Betriebssystem wurde die Linux Distribution emdebian gew hlt die an einigen Stellen weiterentwickelt wurde F r die meisten anfallenden Aufgaben existieren bereits Softwarel sungen wie z B cdrecord um auf CDs
153. rag in die Queue S pe Job ID a Job ID amp Account Abbildung 4 2 Der Datenflu beim Senden von Daten an das NetFire System PG 391 NetFire 32 4 1 GROBSTRUKTUR DER SOFTWAREENTWICKLUNG diesem Zeitpunkt unklar ist ob gen gend Speicherplatz frei ist um den Upload des Benutzers anzunehmen berpr ft der Daemon anhand der Einstellung in eine Konfigurationsdatei ob die Maximalzahl der verf gbaren Accounts schon erreicht ist Ist die Maximalzahl erreicht so erh lt der Benutzer ber den Webserver die Meldung da kein weiterer Account angelegt werden kann Bei Erfolg bekommt der Benutzer ein Upload Verzeichnis das vom Account Generator erzeugt wurde Er kann anschlie end die zu brennenden Daten zum Server schicken und nach vollendetem Upload auf einer HTML Seite s mtliche Einstellungen t tigen die f r das Brennen einer CD n tig sind Geschwindigkeit Kopien Optionen f r CD RW etc Nachdem alle Einstellungen des Benutzers an den Webserver bermittelt sind stellt ein PHP Skript das auf dem Webserver l uft den Inhalt der Job Control Datei zusammen Da der Webserver an der entsprechenden Stelle im Upload Verzeichnis kein Schreibrecht hat wird die Job Control Datei schlie lich durch den Befehl create ber den netfired geschrieben Diese Datei enth lt alle wichtigen Einstellungen zum Brennen Au erdem wird dem netfired mitgeteilt da ein neuer Auftrag vorliegt und dieser wird in die
154. rden das wieder die Aufmerk samkeit der Community auf sich gezogen hat und derzeit auf Sourceforge mit tatkr ftiger Unterst tzung der PG weiterentwickelt wird Die momentane Version basiert auf CML2 2 1 0 integriert das Erzeugen des Kernels kann Software aus Debian Paketen oder aus Quellcodes generieren und auf das Zielsystem installieren hat einen flexiblen Mechanismus um Scripte auf dem Zielsystem auszuf hren und eine auf Docbook basierte Dokumentation 4 2 2 1 Einleitung Wenn immer wir eine Distribution f r einen neuen Rechner zusammenstellen wollen begegnen wir dem Problem passende Programme zu finden die uns mit der gew nschten Funktionalit t bedienen Auf der anderen Seite m ssen alle Abh ngigkeiten zwischen den Programmen und ih ren Konfigurationsdateien sowie den Libraries gegen die sie gelinkt sind erf llt werden Dieser Proze erfordert nicht nur enormes Wissen ber Linux sondern ist auch sehr zeitraubend denn er erfordert die Installation aller Programme Modifikation vieler Konfigurationsfiles anlegen der Eintr ge in dev und eine gro e Menge Debugging Das Programm Emdebsys soll dabei helfen eine komplette Linux Distribution zusammenzustellen angefangen bei der Kernelkonfi guration ber die Wahl der Programme Compilierung dieser bis hin zur Konfiguration und Erzeugung des entsprechenden Rootfilesystems Durch den Einsatz von Debian Paketen die allerdings nie komplett installiert werden sondern stets nur a
155. rennsystem erm glicht werden 4 4 1 2 Qualit tsanforderungen Bei der Erstellung der GUI mu sichergestellt werden da nur Funktionalit ten ausgew hlt werden k nnen die auch im aktuellen Kontext verf gbar sind Fehlangaben die zum Abst rzen f hren k nnten so vermieden werden Die Software sollte ein gewisses Ma an Robustheit und Stabilit t mit sich bringen Ein wichtiges Kriterium bei der Erstellung der GUI ist Benutzbar keit F r den Benutzer soll das Konzept der graphischen bzw textuellen Darstellung schnell durchschaubar sein M gliche Funktionen sind durch eindeutige Men punkte und Beschriftun gen zu erkl ren F r den Anwender soll der Lern Aufwand m glichst gering gehalten werden PG 391 67 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG 4 4 1 3 Entwurf und Grobstruktur In der ersten Entwicklungsphase wurde die Grobstruktur der Seiten auf Papier skizziert Um den Anforderungen gerecht zu werden wurden die einzelnen Seitenkomponenten nach den oben genannten Kriterien erstellt und platziert In dieser Phase mu ten bereits die ersten Abl ufe der Benutzerf hrung bedacht werden Dar berhinaus mu te zu diesem Zeitpunkt grob festgelegt werden welche M glichkeiten dem Benutzer zur Verf gung gestellt werden sollten In der momentanen Version sind folgende M glichkeiten enthalten e Upload von eigenen Daten die aufeinen CD Rohling gebrannt werden sollen dazu z hlen Upload von einem eigenen ISO Image
156. rhandenen Ablaufsteuerung verglichen Des weiteren wurden PG 391 93 NetFire KAPITEL 6 SYSTEMTESTS die verschiedenen M glichkeiten anhand von Testf llen mit entsprechenden Eingabedaten und Job Control Dateien simuliert durchlaufen und auf Korrektheit berpr ft Insgesamt kann man sagen da in dem gesamten Bereich der Brennskripte besonders viele Fehler auftraten was ein vergleichsweise intensives entwicklungsbegleitendes Testen zur Fol ge hatte Die Ursache lag im besonderen an mangelhaften Vortests des Autors Durch eine sorgf ltigere Durchf hrung dieser Tests h tte sich der zeitliche Aufwand f r Entwicklung und Verifikation wohl entscheidend verringern lassen 6 1 5 WebGUI Ein Whitebox Test wurde von der Test Taskforce nicht durchgef hrt sondern dies bernahm die WebGUI Gruppe Die Webseitenfunktionalit ten wurden nur im Zusammenhang mit dem Integration und Gesamtsystemtest durchgef hrt und dokumentiert 6 2 Integrationstests Den Integrationstest kann man auch als Whitebox Test bezeichnen da alle Systemkomponenten und deren Beziehungen untereinander w hrend des Test sichtbar sind Im Gegensatz dazu steht der Blackbox Test bei dem das System nur ber die nach au en gef hrten Schnittstellen z B das Userinterface betrachtet wird Aufgabe des Integrationstests ist es das fehlerfreie Zusammenwirken von Systemkomponenten und Teilmodulen zu berpr fen Voraussetzungen f r den Integrationstest ist da jede e
157. rsion Version Tabelle 4 3 Parameter f r accountmaker accountdeleter sh accountdeleter sh ist ein Skript das einen Benutzer aus der Benutzerdatenbank des FTP Servers entfernt und sein Home Verzeichnis l scht Als Parameter wird nur der Benutzername bergeben der mit dem Home Verzeichnis identisch ist Tabelle 4 4 zeigt die Parameter Das Skript erzeugt keine Ausgabe die ausgewertet werden mu Parameter Beschreibung account req Benutzer der gel scht werden soll Tabelle 4 4 Parameter f r accountdeleter sh 4 3 2 2 Skripte f r den netfired Der netfired ist auf folgende Skripte angewiesen um einen Brennauftrag abzuarbeiten nfinit sh Dieses Skript teilt lediglich dem 1cdfired mit da der netfired l uft nfcheck sh nfcheck sh berpr ft ob das jobcontrol in Ordnung ist Falls keine Fehler gefunden wurden wird die erwartete Bearbeitungszeit berechnet und zur ckgegeben nfprepare sh Im n chsten Schritt ruft der netfired nfprepare sh auf Dieses Skript pr ft den Daten typ und verzweigt je nach Datentyp in die Unterskripte audio sh dir sh iso sh zip pl oder readraw sh Diese Skripte haben die Aufgabe in einem tempor r erzeugten Verzeichnis entweder ein fertiges ISO Image zu erzeugen dir sh iso sh und zip pl oder fertige Audiotracks als WAV Datei audio sh oder ein Diskimage f r cdrdao read raw sh Das Skript bricht ggf ab wenn ung ltige oder fehlerhafte Daten vorhanden sind z B ein besch
158. schreiben Systemeinstellungen in der Administration Die Systemeinstellungen die der Administrator ndern kann sind die folgenden e IP des NetFire Systems e Hostname des NetFire Systems e Netmask des NetFire Systems e Default Gateway des NetFire Systems e Smarthost der benutzt werden soll um Benachrichtigungs Mails an die Benutzer zu verschicken 38 PG 391 NetFire 4 1 GROBSTRUKTUR DER SOFTWAREENTWICKLUNG s3e1IN8uuo1g s ur u uoso T sep pun snyeIg sop a3e yqy AP MJ gnyuoyeq 9 p Sunp tqq V WOIS SOTLA JTOAIOG u uo sol O1JUOD Gof PUN stuypTozIoA peordN Junony at ra Si sungnu rrqovu sg g YU9S9JOZ yunoooy u uoso onon sne qof u uoso yunoaay Sun313983s9q spe yunooov ef USuosor qof l gt u sr zue snyeIg u q sysonanz snyeIg gt popoq SUI q poyeumgsq si 9WLL I18IS Junoy qI qof u lou sqof s p UayeyosuasTy usgegge snyeIg u Semqe snieg I uowsedq dHd ie S9IYION I9AIOS i 39 PG 391 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG e SCSI Brenneradresse unter der der Brenner angesprochen wird bestehend aus LUN ID BUS Abbildung 4 7 zeigt den genauen Datenflu f r die nderung der Systemeinstellungen durch den Administrator Zun chst meldet sich der Administrator
159. ser indem sie ihn zu den drei wichtigen WebGUI Bereichen f hren Dies sind die Erstellung einer CD 12 PG 391 NetFire 2 1 BEDIENUNG Status des Brennauftrags job 11 Gi R Die CD wird gerade gebrannt NetFire 33 fertig Neue CD brennen CD wird gebrannt Job Status anzeigen Aktualisieren Administration passwortgesch tzt Abbildung 2 7 Beispiel einer Job Status Seite die Seiten zur Statusabfrage sowie die weiter unten beschriebenen Administrationsseiten Mit einem Mausklick gelangt der User automatisch zu den jeweiligen Anfangsseiten Der Link Neue CD brennen f hrt zu der Startseite auf der man einen neuen Brennauftrag initiieren kann Mittels Job Status anzeigen gelangt man zu dem Bereich in dem die Stati aller Brennauf tr ge in einer Tabelle aufgef hrt werden Zu jedem Eintrag gibt es die folgenden Informationen Die fortlaufende Nummer die Zeit der Einf gung in die Warteschlange sowie die ungef hre Zeit bis zum Beginn der Bearbeitung des jeweiligen Jobs Fin Eintrag wird ausgew hlt indem seine Job ID die als ein Link realisiert wurde angeklickt wird Dieser Link f hrt den Benutzer zu der Job Status Seite Der Button Zur ck f hrt zu der Startseite zur ck 2 1 1 10 Die Administrationsseiten Auf der Startseite befinden sich die oben erw hnten Links die den Benutzer zu den jeweiligen Bereichen f hren Mittels des letzten Links gelangt man zu dem Administrationsbereich in dem man einig
160. sh aufgerufen Das entsprechen de Skript brennt die vorbereiteten Daten aus dem vorher angelegten tempor ren Verzeichnis W hrend des Brennens werden noch diverse Statusmeldungen auf dem LCD ausgegeben wie z B die Fortschrittsanzeige des Brennvorgangs in Prozent Dieselben Statusmeldungen werden auch dem netfired bergeben der sie an die WebGUI weiterreicht So k nnen die Statusan zeigen auch noch an anderen Stellen der Benutzeroberfl che angezeigt werden Wenn die CD erfolgreich gebrannt wurde wird dies dem Skript nfrun sh mitgeteilt Dieses gibt ein OK oder wenn n tig eine Fehlermeldung auf dem LCD aus und reicht diese auch an den netfired weiter Abbildung 4 5 zeigt den Datenflu der des Brennvorgangs im Detail Der netfired benutzt einen Scheduler um zu kontrollieren wann die Daten in der Queue vorbereitet werden d h wann aus ihnen Images erstellt werden die sp ter durch einen Aufruf von cdrecord gebrannt werden k nnen Der netfired berpr ft so die ersten beiden Eintr ge in der Queue Es werden immer nur die ersten beiden Auftr ge in der Queue vorbereitet wenn sie bisher noch nicht als ISO oder f r eine Audio CD als WAV Dateien vorliegen Wenn ein Auftrag in der Queue noch nicht in brennbarer Form vorliegt so erstellt der netfired ein tempor res Verzeichnis in das tempor re Dateien bei der Erstellung des zu brennenden ISO Images sowie am Schlu das fertige ISO Image abgelegt werden Anschlie end ruft dieser das Skript n
161. smeldungen abwechselnd anzeigt lcdfired wird ber die Datei etc lcdfired config konfiguriert Durch die Kommando zeilen Option c kann eine andere Konfigurationsdatei angegeben werden Die Option d startet lcdfired nicht als Daemon Dies ist insbesondere f r den Emulationsmodus notwendig siehe 4 4 2 1 unter 1cd_open In der 1cdfired Konfiguration kann ein Shutdown Befehl eingestellt werden Dieser wird ausgef hrt wenn das Shutdown Kommando ber den Socket gesendet wird oder wenn beide Display Taster f r mehr als 4 Sekunden gedr ckt werden Befehle des 1cdfired Uber den Socket werden folgende Befehle von 1cdfired entgegengenommen e status empty Signalisiert dem Daemon da die Queue leer ist Dieser Status sollte auch einmalig beim Initialisieren des netfired aufgerufen werden um den Status nodaemon zu verlassen Das Display zeigt bei Empty eine Versionsmeldung e status prepare jobid Signalisiert den Beginn der Jobvorbereitung f r jobid e status endprepare Signalisiert das Ende der Jobvorbereitung e status announce cdtyp Meldet einen gewiinschten Rohling Typen PG 391 77 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG e status reading jobid Meldet da ein eingelegter Rohling gepriift gelesen wird Ist eine jobid angegeben so wird zudem noch die Job ID und der Fortschritt des Lesevorgangs angezeigt Diese Anzeige kann durch status progress beeinflu t werden e status burning jobid Zeigt da der Brenn
162. startet und anschlie end die Status Seite angezeigt Der Zur ck Button f hrt zu der Brenneinstellungen Seite Abbrechen l scht den Account und alle bertragenen Dateien und f hrt zu der Startseite 2 1 1 5 Audio Dateien Der Vorgang der Erstellung einer Audio CD l uft bis auf wenige Ausnahmen analog zu den an deren oben beschriebenen Brennvorg ngen Nach dem FTP Upload der Audio Dateien wav oder mp3 kann die Reihenfolge der zu brennenden Tracks bestimmt bzw ver ndert werden Zu jeder Track Position kann in dem entsprechenden Select Men die jeweilige Audio Datei ausgew hlt werden Es kann auch die Anzahl der Audio Tracks bestimmt werden Dazu dienen die Buttons Track l schen und Track hinzuf gen Auch hier sind die schon oben beschrie benen Zur ck und Abbrechen Buttons verf gbar Mit dem Weiter Button gelangt man zu der Brenneinstellungen Seite wobei zu beachten ist da danach die Reihenfolge der Tracks nicht mehr ge ndert werden kann d h der Zur ck Button steht nicht mehr zur Verf gung Als Option wird eine Checkbox angeboten mit der zwei Sekunden Pause zwischen den einzelnen Tracks eingef gt werden k nnen 2 1 1 6 ISO Image aus dem Archiv brennen Nach der Auswahl des entsprechenden Men punktes in der Start Seite gelangt man zu einer Seite auf der die Auswahl des gew nschtes ISO Images bet tigt werden soll Es werden in einer Tabelle alle sich im Archiv befindenden Images aufgef hrt Zu jedem Eintrag gibt es
163. stem gelangt Dabei gibt es drei M glichkeiten die jeweils einen Kompromif zwischen der Einfachheit der Installation und der Flexibilit t darstellen Installation von der fertigen CD Bei dieser einfachsten Installationsvariante wird die Installations CD in den Zielrechner ein gelegt und dieser wird von ihr gebootet Allerdings erfordert diese Installationsform da der Rechner einige Voraussetzungen erf llt im wesentlichen da er weitgehend wie der Entwik klungsrechner konfiguriert ist Diese Voraussetzungen sind e Die Festplatte mu Master am prim ren IDE Controller sein e Das CD ROM Laufwerk mu Master am sekund ren Controller sein Erstellen der Installations CD bei vorhandenem Image Bei kleineren nderungen wie z B einem von dem Entwicklungsrechner unterschiedlichen CD ROM Pfad gen gt es die Installations CD neu zu generieren Dazu m ssen folgende Vor aussetzungen geschaffen werden e Im Arbeitsverzeichnis m ssen die Module emdebsys und netsoft sowie im Unterver zeichnis linux die Kernelquellen des Linux Kernels 2 4 18 liegen e Ebenfalls im Arbeitsverzeichnis mu unter dem Namen vmlinuz eine Kernelversion liegen die als Boot Kernel f r das installierte System verwendet werden soll e Unter tmp emdeb files tgz mu ein mit Emdebian erzeugtes Root Filesystem inkl des Netfire Systems liegen e Es werden zus tzlich zu den Voraussetzungen von Emdebian die Tools sbin losetup und sbin mke2fs sowie das P
164. t belegten Speicher frei trennt das Module von Char Major 240 und schlie t die Kommunikation mit dem Parallelport module 4 2 4 Aufr umskript Um das System im Fehlerfall bei einem Reboot von verwaisten Verzeichnissen Accounts und Dateien zu befreien wurde ein Skript geschrieben welches diese Aufr umt tigkeiten ber nimmt Das Skript wird bei jedem Booten automatisch gestartet Leicht abge ndert wird es auch zur Laufzeit dazu verwendet sinnlose Daten zu entfernen Dieses Skript wird durch den netfired von Zeit zu Zeit ausgef hrt 4 3 Software Entwicklung zum Abarbeiten der Brennauftr ge Zur Realisierung des NetFire Systems wurden einige Software Komponenten neu entwickelt oder bestehende Software erweitert Zentrale Instanz ist der NetFire Daemon der beim Boo ten des Systems gestartet wird und alle anderen Komponenten koordiniert Die eigentliche Funktionalit t des Daemons wurde in Skripte ausgelagert die leicht angepasst werden k nnen ohne den Daemon neu kompilieren zu m ssen Au erdem wurde der eingesetzte FTP Server erweitert und ver ndert um Manipulationen am System auszuschlie en und die Interaktion mit dem NetFire Daemon zu erm glichen 52 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE 4 3 1 NetFire Daemon Der netfired ist die Kontrollinstanz zwischen den Benutzeroberfl chen und den eigentlichen Programmen die f r das Brennen einer CD verantwortlich sind Die groben A
165. t verbunden ist entgegennimmt Die Struktur des netfired zeigt Abbildung 4 12 PG 391 53 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG netfired Pa Queue Manager FG Queue SY Socket Interface Abbildung 4 12 Struktur des netfired Die Queue und auch die Datei mit den Accounts f r den FTP Server sind durch Semaphoren gesch tzt um einen gleichzeitigen Zugriff von mehreren Threads auf sie zu unterbinden F r jeden einzelnen Account ist ebenfalls ein Lockingmechanismus implementiert Uber diesen wird gew hrleistet da sich WebGUI und das FTP Interface nicht gegenseitig st ren Die wichtigste Information f r den netfired ist die Nutzerkennung ber diese Nutzer kennung l t sich das Verzeichnis mit den Daten des Benutzers ermitteln und sie dient der Identifizierung des Benutzers gegen ber dem System So darf nur der Benutzer die Jobs aus der Queue oder die Daten l schen die seiner Nutzerkennung zugeordnet sind Um die Nutzerken nungen f r andere Benutzer unzug nglich zu machen verwaltet der netfired zus tzlich eine Job ID f r jeden Job in der Queue Diese Job ID erscheint sp ter auf allen Statusanzeigen die von jedem lesbar sind 4 3 1 2 Das Socket Interface netfired kommuniziert ber einen UNIX Domain Socket mit der Au enwelt Uber diesen Socket nimmt er Befehle entgegen und liefert eine Riickmeldung Befehle k nnen Parameter haben diese werden durch e
166. tel vorgestellt und soll den Bau von kleinen low cost PC Systemen erlauben Da es diesel ben Einbaul cher auf dem Mainboard vorsieht wie der ltere microATX Standard sind keine l nttp www formfactors org developer specs flexatx flexatxspecs htm 2 http www formfactors org developer specs microatx microatx htm 80 PG 391 NetFire 5 2 BEZUGSQUELLEN UND PREISE neuen Geh use n tig Ein ATX oder SFX Netzteil wird ben tigt um die Versorgungspannun gen zur Verf gung zu stellen Verf gbare FlexATX Systeme FlexATX Systeme gab es von der Firma Spacewalker Vertrieben wurden sie z B von Reichelt Elektronik Ein passendes Geh use FLEX ATX GEH USE war f r 159 DM verf gbar An Mainboards war das FV24 mit Sockel370 und VIA PL133 Chipsatz mit integriertem Ethernet IDE VGA Sound zum Preis von 269 DM verf gbar Zus tzlich wurden eine CPU Speicher und ein Bootmedium ben tigt Da es sich um ein Standard PC Mainboard handelt konnte jeder Socket370 kompatible Prozessor z B Intel Ce leron verwendet werden Als Speicher wurde handels blicher PC100 oder PC133 DIMM Spei cher ben tigt Ein komplettes System auf Basis des FV24 Mainboards war als SV24 ebenfalls von Spacewalker verf gbar Bei diesem bare bone System wurde ein Geh use von der Gr e eines externen SCSI Geh uses mit vormontiertem FV24 Mainboard geliefert Der Preis f r das Geh use mit Board lag bei 519 DM Zudem wurde eine Festplatte von 6
167. tlichen Angebot der Zurverfiigung stellung des Quelltextes aus das Sie selbst erhalten haben Diese Alternative ist nur fiir nicht kommerzielle Verbreitung zul ssig und nur wenn Sie das Programm als Objectcode oder in ausf hrbarer Form mit einem entsprechenden Angebot gem Absatz b erhalten haben Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden die f r Bearbeitungen vorzugsweise verwendet wird F r ein ausf hrbares Programm bedeutet der komplette Quelltext Der Quelltext aller im Programm enthaltenen Module einschlie lich aller zugeh rigen Modulschnittstellen Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten was blicherweise entweder als Quelltext oder in bin rer Form zusammen mit den Hauptkomponenten des Betriebssystems Kernel Compiler usw geliefert wird unter dem das Programm l uft es sei denn diese Komponente selbst geh rt zum ausf hrbaren Programm Wenn die Verbreitung eines ausf hrbaren Programms oder von Objectcode dadurch erfolgt da der Kopierzugriff auf eine daf r vorgesehene Stelle gew hrt wird so gilt die Gew hrung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes auch wenn Dritte nicht dazu gezwungen sind den Quelltext zusammen mit dem Objectcode zu kopieren 4 Sie d rfen das Programm nicht vervielf
168. trator Pa wort der WebGUI mu im Klartext ber mittelt werden R ckgabe Die Positionen sind nur durch Kommata getrennt die Leerzeichen dienen der besseren bersicht 58 PG 391 NetFire 4 3 SOFTWARE ENTWICKLUNG ZUM ABARBEITEN DER BRENNAUFTRAGE o current_acc accl accn numaccs Der Accountname des Jobs der gerade gebrannt wird steht in current_acc Danach folgt eine Auflistung aller anderen Accounts von denen ein Job in die Queue gestellt wurde Dabei hat acc folgendes Format account_name pos f_locked f_prepared estimated_time percent f status start_time queue_time jobtype account_name ist der Name des Accounts die anderen Positionen haben diesel be Bedeutung wie bei status a siehe Tabelle 4 2 Die einzelnen Jobs werden in derselben Reihenfolge aufgelistet wie sie abgearbeitet werden Sollte gerade kein Job bearbeitet werden fallt current_acc weg Das letzte Element der Liste ist die Anzahl der Accounts Alle Listeneintr ge sind durch Leerzeichen getrennt e illegal password Das angegebene Administrator Pa wort ist ung ltig e Auflistung aller dem System bekannten Accounts Aufruf listacc admin_passwort Liefert alle dem System bekannten Accounts und deren Anzahl zur ck Das Admi nistrator Pa wort der WebGUI mu im Klartext bermittelt werden R ckgabe o accl accn numaccs Die Accounts werden als durch Leerzeichen ge trennte Liste bermittelt Das letzte Element de
169. tzer wird abh ngig von den von ihm mit Formularen angegebenen Daten von Skript zu Skript weitergeleitet Wichtige Angaben werden dabei mitweitergereicht Dazu werden versteckte Felder innerhalb eines Formulars benutzt Zu den wichtigen Angaben geh rt beispielsweise die Nutzerkennung Man braucht deswegen keine aufwendigeren Session verwaltungen einzuf hren da keine durch den Nutzer vorgenommenen Einstellungen zwischen gespeichert werden m ssen 4 4 1 6 HTTP Upload Eine der Techniken eine Datei auf unseren netfired Server hochzuladen ist der HTTP Upload Dabei wird die Datei als ein Stream dem entsprechendem Skript bergeben Bei der Durchf hrung eines Tests hat sich aber herausgestellt da die bertragung von gro en Dateien Schwierigkeiten bereitet Auf der Serverseite werden sehr hohe Speicherressourcen vor ausgesetzt Der Grund liegt in der Tatsache da das jeweilige PHP Skript die hochgeladene Datei nicht direkt auf die Festplatte speichert sondern versucht diese in dem Arbeitsspeicher bzw Swap Bereich zwischenzuspeichern Mit dieser Einschr nkung ist auch das gleichzeitige Uploaden mehrerer Dateien von verschiedenen Nutzern nicht realisierbar da der dazu ben tig te Arbeitsspeicher immense Kosten verursachen w rde Es wurde versucht dieses Problem zu bew ltigen indem ein CGI Programm in C implementiert wurde dessen Aufgabe daran be stand die Daten vom Benutzer zu empfangen und diese direkt auf die Festplatte zu schreibe
170. tzers die gesamte f r NetFire notwen dige Software auf dem Zielsystem Es ist darauf zu achten vorsichtig mit der Benutzung der 40 PG 391 NetFire 4 2 SYSTEMSOFTWARE ENTWICKLUNG SIOJ81ISTUTUIPY Sop U9SZUN 9ISUTOVIIISAS rp IJ mpuq At Zunpfiaqay MO gt ra ryuooS zrrj3 u 5S39 ur u qt ruos u sSum Jsurq uvm ouq u sunIopuy ja ogo Aemoyery yseugo UIDPUR USSUNTJOISUTI Sureu3soH 41 U9SUN 9ISUTOJISMZIIN 919S TIN LH gi JIOMSSBJ WU sunppuuy p ja u s jsne uone msyuoy I gt MO Lt N uom d sqn yomssed La i I w94sAso l A oT passe dHd I9AIOS 19AI9SGIM 19AI9SGIM umupy 41 PG 391 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG Admin Server PHP Anmelden mit Passwort HTML Seite Administration Anzeige aller Queueintr ge Passwort berpr fen Webserver Passwd File ra OK Queueeintr ge holen Ke Passwort berpr fen OK Queue bergeben Zu l schende Eintr ge ausw hlen L schen fertig gt Eintr ge einzeln bergeben L schen fertig Netfire Queue Account Daemon Deleter i I l l I l l I I
171. uf Freiheit nicht auf den Preis Unsere Lizenzen sollen Ihnen die Freiheit garantieren Kopien freier Software zu verbreiten und etwas f r diesen Service zu berechnen wenn Sie m chten die M glichkeit die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen Die Lizenzen sollen garantieren da Sie die Software ndern oder Teile davon in neuen freien Programmen verwenden d rfen und da Sie wissen da Sie dies alles tun d rfen Um Ihre Rechte zu sch tzen m ssen wir Einschr nkungen machen die es jedem verbieten Ihnen diese Rechte zu verweigern oder Sie aufzufordern auf diese Rechte zu verzichten Aus diesen Einschr nkungen folgen bestimmte Verantwortlichkeiten f r Sie wenn Sie Kopien der Software verbreiten oder sie ver ndern Beispielsweise m ssen Sie den Empf ngern alle Rechte gew hren die Sie selbst haben wenn Sie kostenlos oder gegen Bezahlung Kopien eines solchen Programms verbreiten Sie m ssen sicherstellen da auch die Empf nger den Quelltext erhalten bzw erhalten k nnen Und Sie m ssen ihnen diese Bedingungen zeigen damit sie ihre Rechte kennen Wir sch tzen Ihre Rechte in zwei Schritten 1 Wir stellen die Software unter ein Urhe berrecht Copyright und 2 wir bieten Ihnen diese Lizenz an die Ihnen das Recht gibt die 102 PG 391 NetFire A 2 ALLGEMEINE OFFENTLICHE GNU LIZENZ BEDINGUNGEN FUR DIE VERVIELFALTIGUNG VERBREITUNG UND BEARBEITUNG Software zu vervie
172. ufgabengebiete des netfired sind e Nutzerverwaltung Jeder Benutzer des Ger tes erh lt eine Nutzerkennung fiir seine Arbeit Es gibt eine Nutzerdatenbank die vor allem f r den FTP Server wichtig ist Diese Nutzerdatenbank wird vollst ndig durch den netfired gekapselt Aktionen auf der Nutzerdatenbank laufen nur ber den Daemon Der netfired sorgt auch daf r da Daten von Nutzern gel scht werden sobald ihre Auftr ge abgearbeitet sind e Jueue f r die Jobs Es gibt nur einen CD Brenner in dem NetFire System daher m ssen die Jobs nachein ander abgearbeitet werden Der netfired bernimmt die Verwaltung und Steuerung der daf r n tigen Queue Warteschlange e Abarbeiten von Jobs Die eigentliche Arbeit des Brennens bernehmen Skripte die der netfired aufruft Von diesen Skripten wird meistens ein Status zur ckgeliefert den netfired auswertet e Statusinformationen Die von den Skripten zur ckgegebenen Statusinformationen werden zur Verf gung ge stellt um sie zum Beispiel auf der WebGUI anzuzeigen e Hilfsfunktionen f r die WebGUI Der Webserver darf nicht direkt in die Home Verzeichnisse der Nutzer schreiben Um der WebGUI dennoch die M glichkeit zu geben Dateien zu erstellen besitzt der netfired einige Hilfsfunktionen f r diese Zwecke 4 3 1 1 Aufbau des netfired Grob gesehen ist der netfired ein Spooler der eine Queue mit abzuarbeitenden Jobs verwaltet Gesteuert wird der netfired ber einen UNIX Domain Socket
173. ung 6 Brennformate 19 Konfiguration 6 Warteschlange 6 netfired 52 92 Account Locking 54 Aufbau 53 Aufgaben 53 Datenflu 31 33 36 38 Grobstruktur 31 Job ID 53 Kommunikation 31 Konfigurationsdatei 62 Nutzerverwaltung 53 Queue 53 Scripthooks 60 sh_exit 61 sh_nfcheck 61 sh_nfclean 61 sh_nfempty 61 sh nfinit 61 sh_nfperiodic 62 sh nfprepare 61 sh_nfrun 61 Socket Interface 54 create 59 del 56 dequeue 56 filecp 60 filemv 60 listacc 59 listcompletedjobs 58 listjobs 58 listgacc 58 new 55 queue 56 status_a 57 status_i 57 version 60 Account Locking Fehler 55 Befehlsformat 54 Riickgabewerte 54 Standardfehlermeldungen 55 newtjt 17 Nutzdaten 16 Nutzerdatenbank 53 Nutzerkennung 54 O Optionen 20 Anzahl 20 Archiv 21 Brenngeschwindigkeit 21 Exemplare 20 l schen 21 Multisession 20 P Passwort 15 16 Perl 92 Photo CD 20 PHP 69 Planung 100 Projektgruppe 100 Projektgruppenordnung 100 Q Qualit tssicherung 92 Quellcode Durchsicht 93 Queue 15 R RAR 20 PG 391 NetFire 111 INDEX Recherche 100 Reihenfolge 19 Resiimee 100 RFC 18 Rohling 20 l schen 21 S Schnittstellen Ethernet 2 Firewire 2 PCMCIA 2 SCSI 2 USB 2 Schnittstellendefinition 92 Schnittstellenspezifikation 100 Schubladen Logik 93 SCSI Brenneradresse 15 Sequenzdiagramme 31 Session 20 Simnulation 94 Sitz
174. ung siehe Session snp py 46 Sockets 92 Software freie 5 Grobstruktur 30 selbstentwickelte 30 Softwarestruktur 31 Spacewalker 81 Spezifikation 93 Standartkomponenten 100 Statusanzeige 19 66 SV24 81 System 80 81 T Team 100 Teamarbeit 100 Teilnehmer 5 Test Taskforce 92 Testaufrufe 93 Testdaten 93 Testdokumentation 93 Testf lle 92 Tests 92 Blackbox 92 Brennskripte 93 Gesamtsystem Tests 92 Integrationstests 92 Modultests 92 netfired 92 Whitebox 92 Testverfahren 92 automatisches 92 TGZ 20 Track 19 Tracks 20 U Upload 16 ARJ 20 mehrere Dateien 19 RAR 20 TGZ 20 ZIP 20 Username 16 Vv Verifikation 94 Verzeichnisstruktur 16 19 Vorbereitungszeit 20 w WAV 19 WebGUI 7 67 Webserver Datenflu 33 Z ZIP 20 112 PG 391 NetFire LITERATURVERZEICHNIS Literaturverzeichnis 10 11 12 13 14 15 16 AMERICAN NATIONAL STANDARDS INSTITUTE Information Technology Serial Storage Achritecture SCSI 2 Protokoll 1996 ANSI X3 294 1996 2 PERSONAL COMPUTER MEMORY CARD INTERNATIONAL ASSOCIATION Detailed Over view of the PC Card Standard http www pc card com pecardstandard htm 1998 2 INTEL CORP MICROSOFT CORP und NEC CORP Universial serial Bus Specification 1 http www usb org 1998 2 BY INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS Standrad for a High Perfor mance Serial Bus 1995 IEE
175. usgew hlte Komponenten kann Emdebsys einen Kernel und ein Dateisystem f r 11 Architekturen erzeugen 4 2 2 2 Systemvoraussetzungen Um emdebsys zu benutzen und ein neues Rootfilesystem konfigurieren und erzeugen zu k nnen braucht man 3http emdebian sourceforge net emdebsys html http www tuxedo org esr cm12 http www sourceforge net alpha arm hppa i386 ia64 m68k mips mipsel powerpc s390 sparc 44 PG 391 NetFire 4 2 SYSTEMSOFTWARE ENTWICKLUNG e Python 2 0 oder neuer um das Filesystem zu konfigurieren und zu erzeugen e Perl um einige Skripte auszuf hren e Bourne Shell s Perl e Standardlinuxtools mount umount eject dd losetup mkfs e Crosscompiler um die Quellcodes der Programme die von emdebsys unterstiitzt werden zu kompilieren optional e Quellcodes des Kernels und einiger der Programme deren Compilierung von emdebsys unterstiitzt wird z B busybox tinylogin uClibe Sind die genannten Programme installiert kann mit dem Erzeugen des Emdedded Linux Dateisystems fortgefahren werden Um das zu tun miissen folgende Kommandos im Verzeichnis emdebsys ausgefiihrt werden sZ Y sZ _ n OS_KERNEL_ON_ROOTFS Copy kernelto the rege OS_KERNEL_PATH Path to the kernel that is built use en Z n BUILD_ROOTFS Build the root filesystem Herp Is Y x n OS DEBUQ Debug build of rootts wen el DA EECH Configure Snart n Pick OS generator Hew
176. vier Frames die voneinander mit unsichbaren R ndern abgegrenzt sind implementiert siehe Abbildung 2 1 In dem oberen Frame auf einem schwar zen Hintergrund ist ein Schriftzug unserer Projektgruppe sichtbar Der untere Frame ist in einem gleichen Stil wie der obere Frame und der gleichen Gr e fertiggestellt um eine gewis se Symmetrie und Kontrast zu dem mittleren Teil der Seiten der in wei gehalten wird zu erreichen Der linke vertikale Frame beinhaltet das Logo des Projektes sowie drei Links die im Kapitel 2 1 1 n her beschrieben sind Der wichtigste Bereich einer Seite befindet sich in dem mittleren Frame der die meiste Fl che des Entwurfs in Anspruch nimmt Hier werden die ben tigten Abfragen und Einstellungen die zu einem Brennvorgang n tig sind vorgenommen Alle weiteren HTML Seiten aufbauend auf der Willkommen Seite werden an diese Stelle von dem Server geladen In diesem Zusammenhang sind die CGI Skripte zu erw hnen auf die noch weiter unten genauer eingegangen wird 68 PG 391 NetFire 4 4 SOFTWARE ENTWICKLUNGEN ZUR USER INTERAKTION Das Herzst ck des HTML Codes bilden die Formularfelder die die notwendige Interaktion zwischen Client und Server berhaupt m glich machen Ein gutes Beispiel f r die Vielfalt und die Anwendbarkeit der Formular Tags wird vor allem in der Brenneinstellungsseite sichtbar Die Seite selbst ist in der Abbildung 4 15 dargestellt Als Elemente f r die Formulargestaltung werden im Rahme
177. vorgang jobid l uft e status progress uh Meldet den Fortschritt eines Brenn oder Lesevorgangs in Prozent Folgende Sonderf lle sind m glich Wert Bedeutung 104 flushing cache 103 CD wird gel scht 102 schreiben lead in 101 schreiben lead out e status remove jobid Meldet den Brennvorgang jobid als erfolgreich e status error jobid Der Brennvorgang ist fehlgeschlagen e status nodaemon netfired steht nicht zur Verf gung Dies ist der initiale Status des Icdfired Dieser Status sollte auch gesetzt werden wenn netfired terminiert e version Liefert die Versionsnummer des Icdfired ber den Socket mit vorangestelltem o e shutdown Ruft den Shutdown Befehl auf Jeder Statusmeldung kann zus tzlich ein Text angeh ngt werden Ist ein solcher Text vor handen so wird dieser Anstelle des Standardtextes auf dem Display ausgegeben Der Text mu durch ein vom status Kommando getrennt werden Beispiel status burning Job1 Job1 wird gebrannt Weiterhin darf die Zeichenkette Nn benutzt werden um Zeilenumbr che zu erzwingen hier wird nicht das Newline Zeichen verwendet sondern die beiden ASCII Zeichen und n R ckmeldung Der Icdfired liefert zu jedem Befehl einen Antwortstring Dieser beginnt mit o falls der Befehl korrekt ausgef hrt wurde oder mit e falls es bei der Abarbeitung zu einem Fehler kam Im Anschlu an dieses K rzel kann eine freie textuelle R ckmeldung folgen Client Der Icdfire C
178. x Dateisystem erzeugt wird Voreingestellt rootfs e rootfs_size size Die Standardgr fe des zu erzeugenden Dateisystem Images in Kb Voreingestellt 8192 e rootfs_type type Typ des zu erzeugenden Embedded Linux Dateisystem Images ext2 vfat etc Voreingestellt ext2 e rootfs_image filename Name der Image Datei des Embedded Linux Dateisystem Images Voreingestellt tmp rootfs img rootfs_tgz filename Name der erzeugten tgz Datei des Linux Dateisystem Images Voreingestellt tmp rootfs tgz rootfs_gzip bool Soll das Linux Dateisystem Image per gzip gepackt werden Voreingestellt y e sources_list filename Die Datei die die Quellen der Debian Pakete angibt Voreingestellt sources list e cache dir directory Verzeichnis in dem die heruntergeladenen Debian Pakete zwischengespeichert werden Voreingestellt snp cache e src_cache dir directory Das Verzeichnis in dem die Quellcode Dateien lagern Voreingestellt src cache sources_conf file filename Die Datei die die Konfiguration beim Compilieren von Quellcodepaketen enth lt Voreingestellt sources conf PG 391 47 NetFire KAPITEL 4 SOFTWAREENTWICKLUNG e tmp_dir directory Das Verzeichnis in dem tempor re Dateien erzeugt werden Voreingestellt tmp e cdrom dir directory Der Pfad in dem das CD ROM eingeh ngt wird Voreingestellt mnt cdrom e cdrom_dev device name Die Ger tedatei des CD ROM Laufwerks Voreing
179. ystem entwickelt welche nun vorliegt Vielmehr war den Stimmen der einzelnen Mitglieder vor der Planungsphase zu entnehmen da sie sich auf gr ere Hardware Entwicklungsarbeiten eingestellt haben Einzig und allein der guten Recherche mit den daraus folgerichtig gezogenen Konsequenzen in der Seminar und Planungsphase ist es wohl zu verdanken da wir uns am Ende weitestgehend auf Standard PC Komponenten beschr nkt haben und einen gro en Teil unserer Ressourcen in die weitere Entwicklung von Software investieren konnten Gerade in den letzten Monaten der Projektgruppe hat es sich gezeigt wie aufwendig sich der von uns eingeschlagene Weg erwies Zum jetzigen Zeitpunkt sei die Mutma ung erlaubt da wir das Minimalziel der Projektgruppe in dieser Zeit wohl nicht h tten erreichen k nnen wenn wir wie anf nglich vermutet gro e Teile der Hardware selber entwickelt h tten Auch zu erw hnen ist die Erkenntnis da jeder Teilnehmer der Projektgruppe ganz neue Erfahrungen in Bezug auf Teamarbeit gesammelt hat So hat es w hrend dieser Projektgruppe H hen und Tiefen im Klima gegeben welche sich jedoch letztendlich u erst fruchtbar in vorliegendem Ergebnis niedergeschlagen haben Dabei fiel auf da gerade in schwierigen Zeiten der direkte Kommunikationsbedarf erh ht war der sich nur schwer bis gar nicht durch Email Verkehr befriedigen lie Gerade bei der Integrationsarbeit machte sich die Erkenntnis breit da es Phasen gibt in denen ein
180. zu brennen mkisofs um aus einzelnen Dateien ein ISO9660 Image zu erzeugen etc Diese Standardsoftware wurde im Rahmen der PG durch selbstentwickelte Softwarekom ponenten zum NetFire System komplettiert Dieses Kapitel beschreibt die selbstentwickelte Software und die Zusammenh nge zwischen den einzelnen Komponenten 4 1 Grobstruktur der Softwareentwicklung Das NetFire System wird vom Benutzer ber ein HTML Webinterface angesteuert das so wohl die normale Funktionalit t zum Brennen von CDs so wie auch administrative Aufgaben erm glicht Der Upload der Daten zum NetFire System wird ber einen FTP Client vorgenom men Weiterhin dient zur Kommunikation mit dem Benutzer das im Rahmen der PG entwickelte LC Display das ber einen eigenen Treiber im Linux Kernel angesprochen wird Dieser Teil des Systems der zur Benutzerinteraktion dient wird im folgenden auch als Frontend bezeichnet Das Backend des NetFire Systems besteht haupts chlich aus dem emdebian das als Be triebssystem verwendet wird dem ProFTPd der den Upload der Daten vom Benutzer zum NetFire System bernimmt so wie dem Apache Webserver der um PHP Funktionalitat er weitert wurde und dem Benutzer das HTML Webinterface zur Ansteuerung des Systems zur Verf gung stellt Alle diese Standardkomponenten wurden an vielen Stellen ver ndert und erg nzt um sie f r NetFire spezifische Aufgaben zu benutzen Weiterhin geh ren zum Backend des Systems noch einige selbstentwickelte T
Download Pdf Manuals
Related Search
Related Contents
NOU ONZE S.L. PORSCHE ESPECIALISTAS Y SARL JEAN BUSER 取 扱 説 明 書 - Ken Arendt .com 10 Anos da Revista EMERJ - Tribunal de Justiça do Estado do Rio Una guía comunitaria para el saneamiento de moho INI-1 (MRQ-27) Fabricant de margelles de piscine, dallage et Daewoo KOR6L6BD microwave 10W Ni-MH AC PeAk CHArger Vegas 6.0 User Manual Version PDF - Argenteuil Copyright © All rights reserved.
Failed to retrieve file