TriOS-alt/doku/5-lan.txt

193 lines
6.8 KiB
Plaintext
Raw Normal View History

####################
# TriOS R56 Netzwerk
####################
Einleitung
==========
Dies ist eine Implementierung von Netzwerk-Funktionen in die aktuelle Version
von TriOS (R56). Als erste Anwendungen sind enthalten:
- Ein FTP-Client, welcher Dateien von einem FTP-Server downloaden und in der
RAM-Disk im eRAM oder auf SD-Card abspeichern kann.
- Ein vollst<73>ndiger IRC-Client
Zuk<EFBFBD>nftige Erweiterungen, wie die Integration in Regime und direktes Starten
von Programmen aus dem Netzwerk sind geplant.
Implementierung
===============
Es wurde ein neuer Administra-Code erstellt, welcher direkt geflasht werden
kann oder zur Laufzeit geladen wird. Grundlage ist das originale admflash.spin.
Aus diesem wurden aus Platzgr<67>nden alle Soundfunktionen entfernt und daf<61>r
die unver<65>nderten Netzwerk-Treiber von Harrison Pham integriert.
F<EFBFBD>r die Kommunikation <20>ber den Hive-Bus wurden die wesentlichen Funktionen
des Netzwerk-Treibers zur Verf<72>gung gestellt. Die Implementierung weiterer
Funktionen des Original-Treibers ist bei Bedarf m<>glich.
Die IP-Konfiguration des Hive wird im NVRAM des RTC gespeichert. Das hat
den Vorteil, da<64> der Hive zuk<75>nftig auch ganz ohne SD-Card arbeiten kann,
also quasi aus dem Netzwerk bootet. Ist kein RTC vorhanden (wird automatisch
erkannt), erfolgt das Speichern der Konfiguration auf der SD-Card unter
/system/nvram.sav.
Installation
============
Bin<EFBFBD>r:
------
Voraussetzung ist die Installation eines aktuellen TriOS im Flash von
Administra, Bellatrix und Regnatix sowie auf der zugeh<65>rigen SD-Card. In das
Verzeichnis "/system" auf der SD-Card werden die Dateien des Verzeichnisses
"system" des vorliegenden Installations-Archives kopiert:
admnet.adm: Administra mit Netzwerk-Funktionen, ohne Sound
ipconfig.bin: IP-Konfigurationsprogramm
ftp.bin: FTP-Client
irc.bin: IRC-Client
Quellen:
--------
Das Verzeichniss "src" des vorliegenden Archives wird in die vorhandene TriOS-
Struktur (R56) kopiert. Damit werden die folgenden Dateien durch ge<67>nderte
Versionen ersetzt:
lib/glob-con.spin
lib/reg-ios.spin
Wer dort eigene <20>nderungen vorgenommen hat, sollte sich die <20>nderungen in den
beiliegenden Patches (glob-con.spin.diff und reg-ios.spin.diff) ansehen und
selbst einpflegen.
Folgende SPIN-Dateien k<>nnen dann mittels BST <20>bersetzt werden:
system/administra/admnet/admnet.spin
system/regnatix/ipconfig.spin
system/regnatix/ftp.spin
system/regnatix/irc.spin
Das <20>bersetzte admnet.spin kann direkt in Administra geflasht oder als
"system/admnet.adm" auf die SD-Card kopiert werden. ipconfig.bin und ftp.bin
geh<EFBFBD>ren dann ebenfalls auf die SD-Card ins system-Verzeichnis.
Wer die make.bat benutzt: Damit sollte ipconfig.spin, ftp.spin und irc.spin
automatisch mit <20>bersetzt werden, admnet.spin m<><6D>te man noch erg<72>nzen.
TriOS-R56-Network-src.tar.bz2 enth<74>lt die zur Entwicklung genutzten kompletten
Sourcen. Hier wurden alle SPIN-Dateien nach UTF-8 gewandelt und auf Linux-
Zeilenumbruch (LF) konvertiert. Au<41>erdem ist ein Build-Script (make.sh) f<>r
Linux enthalten. In diesem k<>nnen #defines f<>r Debugging-Ausgaben und
alternative Locales (z.Z. Englisch) gesetzt werden.
Nutzung
=======
Allgemeines
-----------
Der Netzwerk-Stack in Administra wird erst gestartet, wenn er ben<65>tigt wird.
Auch danach sollte man sich nicht wundern, da<64> der Hive nicht per Ping
angesprochen werden kann: Aus Platzgr<67>nden enth<74>lt der Netzwerk-Stack keinen
ICMP-Code. Dieser k<>nnte auf Wunsch aber recht einfach hinzugef<65>gt werden.
Administra
----------
Voraussetzung ist, da<64> Administra mit dem Netzwerk-Code l<>uft. Das geschieht
entweder durch direktes Flashen von admnet.spin oder durch Eingabe von
"admnet" am Regime-Prompt.
IP-Konfiguration
----------------
Mittels "ipconfig" wird die IP-Konfiguration im NVRAM oder als Datei abgelegt.
Folgende Parameter kennt ipconfig:
/? : Hilfe
/l : Konfiguration anzeigen
/a <a.b.c.d> : IP-Adresse setzen
/m <x.x.x.x> : Netzwerk-Maske setzen
/g <e.f.g.h> : Gateway setzen
/d <i.j.k.l> : DNS-Server setzen
/b <m.n.o.p> : Boot-Server setzen
/i <Id> : Hive-Id setzen
Aus der Hive-Id wird eine eindeutige Mac-Adresse erzeugt.
DNS-Abfragen werden noch nicht unterst<73>tzt, deswegen mu<6D> man den DNS-Server
nicht konfigurieren. Der Boot-Server wird derzeit vom FTP-Client als Default-
Server genutzt (s.u.).
FTP-Client
----------
Der FTP-Client ist aktuell eine sehr einfache Implementierung und dient prim<69>r
zum Testen der Funktion des Netzwerk-Stacks.
Der Download funktioniert nur, wenn der FTP-Server das Kommando "SIZE"
versteht. Obwohl das kein Standard-Kommando ist, wird es von den meisten
FTP-Servern unterst<73>tzt. Au<41>erdem wird nur passives FTP verwendet.
Folgende Parameter kennt der FTP-Client:
/h <a.b.c.d> : FTP-Server-Adresse (Host)
(default: mit ipconfig gesetzter Boot-Server)
/d <verzeichnis>: in entferntes Verzeichnis wechseln
(default: /hive/sdcard/system)
/f <dateiname> : Download <dateiname>
/u <username> : Benutzername am FTP-Server
(default: anonymous)
/p <password> : Pa<50>wort am FTP-Server
(default: anonymous@hive<Hive-Id>)
/s : Datei auf SD-Card speichern
Dabei ist zu beachten, da<64> auf Grund der fehlenden Namensaufl<66>sung die IP-
Adresse und nicht der Host-Name des Servers angegeben wird. Weitere
Einschr<EFBFBD>nkungen ergeben sich durch die maximale Parameter-L<>nge von 64
Zeichen in Regime und maximal 12 Zeichen lange Dateinamen in der RAM-Disk.
Ein Beispiel:
Zum Download von ftp://1.2.3.4/verzeichnis/unterverzeichnis/datei.txt
verwendet man folgende Befehlszeile:
ftp /h 1.2.3.4 /d /verzeichnis/unterverzeichnis /f datei.txt
Dabei erfolgt die Anmeldung wegen der fehlenden Parameter /u und /p als
"anonymous" mit dem Pa<50>wort "anonymous@hivexxx" (xxx: mit ipconfig gesetzte
Hive-Id). Die Datei wird in der RAM-Disk gespeichert (s. Kommando "xdir")
und k<>nnte mittels "xsave" auf SD-Card gespeichert werden.
Mit Nutzung aller Default-Werte gen<65>gt die Eingabe des folgenden Befehls:
ftp /s /f ipconfig.bin
Damit wird die Datei "ipconfig.bin" vom FTP-Server mit der IP-Adresse
des mittels "ipconfig" konfigurierten Boot-Servers aus dem Verzeichnis
"/hive/sdcard/system" geladen und im aktuellen Verzeichnis auf der SD-Card
abgespeichert. Von dort k<>nnte sie direkt gestartet werden.
Getestet wurde mit einer lokalen Installation von "pure-ftpd" und den FTP-
Servern der TU Chemnitz sowie des GnuPG-Projektes.
IRC-Client
----------
siehe IRC.README.txt
Schlu<EFBFBD>bemerkung
===============
Fragen k<>nnen im Hive-Forum (http://hive-project.de/board/) gestellt werden
oder direkt an joergd@bitquell.de
Viel Spa<70> - J<>rg