Keywelt-Board.com


  Reply to this topicStart new topicStart Poll

> Suse Linux als Boot-Server für die DBox, so klappt´s bei mir
Worschter
Geschrieben am: Wed Apr 27 23:55:11 GMT 2005
Quote Post


Super Mods
Group Icon

Gruppe: SuperMods
Beiträge: 17939
Mitgliedsnummer.: 18142
Status: OFFLINE
Mitglied seit: 17-May 03



Hallo,

Ich hab mich entschlossen eine Möglichkeit aufzuzeigen, wie man einen Linux Rechner
anstelle Windows und Bootmanager nutzt. Als erstes mal die Installation um ein
YADD ans Rennen zu bekommen und wenn ichs selbst geschafft hab, wie man
Images unter Linux flasht.
Die Anleitung ist etwas oberflächlich gehalten, zum einen weil ich denke,
daß es so leichter verständlich ist und zum anderen, weil mir selbst oft noch das
nötige Hintergrundwissen fehlt.

Ich hab mich dazu entschlossen, da diese Anleitung :
http://www.dietmar-h.net/linux.html
leider nicht mehr ganz up-to date ist wie ich finde und andererseits kaum Hintergrundwissen drin
steckt und man im Falle des Nichtfunktionierens recht hilflos da steht. Also werd ich auch versuchen
das Ganze etwas mit meinem schmalen Wissen zu ergänzen.
Wenn ich da nicht ganz richtig liege, wäre ich für Korrekturen sehr dankbar!

Als erstes mal bisl was zum Verständnis des ganzen Ablaufs (von der Box aus gesehen):

1. IP beim Server erfragen.
2. Bootprogramm beim Server abfragen.
3. Bootprogramm holt Kernel vom Server.
4. Kernel startet und holt restliche Daten vom Server.


1. IP erfragen
--------------------

Direkt nach dem Booten kennt die Box (bzw. deren Netzwerkkarte) nur Ihre Hardware Adresse (MAC-Adresse).
Mit dieser kann sie in der Regel aber erst mal im Netzwerk nichts anfangen.
Das heißt er muss irgendwo ne IP herbekommen. Hier kommt dann der Rechner ins Spiel, bzw. der dort laufende
RARP / BOOTP / DHCP Server. Dieser kennt die MAC Addy der Box und weiß welchen IP die bekommen soll.
Wohlgemerkt für dieses Stadium machen alle drei das gleiche, somit ist nur einer der drei von nöten. Viele Köche
verderben den Brei! Hab ich leidlich feststellen müssen.
Die Box sendet also ne Anfrage im RARP (Reverse Adress Resolution Protokoll) ins Netz.
Dort wartet der Server auf ne Anfrage und schaut in seiner Tabelle nach ob die MAC drinsteht,
wenn der dann ne IP zugeordnet ist, dann schickt der Rechner diese an die Box und
der erste Schritt ist getan, die Box kennt ihre IP.


2. Bootprogramm beim Server abfragen
--------------------------------------------------

Die Box kennt mit ihrem Bootloader ist im Endeffekt nix andres als ein Bios aufm Rechner.
Ohne Betriebssystem kann er so gut wie nix. Er kann aber den Bootvorgang einleiten.
Bezogen auf den Rechner kann man sich das so vorstellen, daß beim Booten erst mal nachgeschaut wird,
ob ne Diskette im Laufwerk steckt, wenn ja, dann wird von der gestartet, wenn nein,
dann wird von der Platte gebootet.
Bei der Box ist es so, daß sie zuerst mal ins Netz schaut ob sie da ein System zum Booten findet, wenn nein dann
wird vom Flash gebootet. Als erstes wird mal ne Art Mini-System geladen, das ppcboot oder u-boot.
Übers Netz geschieht das mittels auf dem Rechner laufenden TFTP (trivial FTP) Server. Das ist ne recht
einfache Art von FTP.


3. Bootprogramm holt Kernel vom Server.
----------------------------------------------------

PPCBOOT oder U-BOOT ermöglicht dann das Laden und Starten des eigentlichen Kernels. Auch dieser wird noch
mittels TFTP vom Rechner geladen und dann gestartet.


4. Kernel startet und holt restliche Daten vom Server.
-----------------------------------------------------------------

Ist der Kernel mal auf der Box und gestartet, wird ein NFS-Client auf der Box gestartet. Ab nun erfolgt
die Datenübertragung im NFS Format (Network File System). Im Endeffekt wird
auf dem Rechner ne NFS Freigabe durch nen NFS Server im Netz zur Verfügung gestellt (exportiert).
Die Freigabe beinhaltet das komplette Abbild eines Betriebssystems. Also
alles was man auf nem normalen Image im / (root) Verzeichnis auch hat. Dies wird vom Kernel
direkt an / (Verzeichnis-Wurzel) eingeblendet. Wenn man so will wird der Box ein Image im Flash
vorgegaukelt. Nur daß halt die Programme nicht im Flash liegen, sondern vom Server geladen werden.




Soviel zu den Grundlagen, nun ins eingemachte wink.gif
Ich baue meine Anleitung auf Suse Linux 9.2 auf, was aber nicht abschrecken sollte,
da in der Hauptsache Server verwendet werden die bei den meisten Distries drin sein sollten.

Wir brauchen also
1. nen Server der die RARP Anfrage der Box beantwortet (der MAC-Addy ne IP zuordnen)
2. nen TFTP Server der das Minisystem (BOOTP oder U-BOOT) und den Kernel überträgt und
3. nen NFS Server der das ROOT Verzeichnis im Netz zur Verfügung stellt (exportiert)

Nun mal nicht gleich wild drauf los installieren, das geht (wie bei mir laugh.gif ) wahrscheinlich in die Hose.
Man starte YAST als Benutzer root (geht eh net anders wink.gif ) und suche in Software:
Software installieren oder löschen.
Für nicht SUSIANER, YAST ist die Systemverwaltung von Suse, wie das bei eurer Distribution aussieht
müsst ihr leider bei dem Herausgeber von ihr erfragen, denn ich weiß es nicht.

zu 1.
------
Bei mir hats als erstes mit dem bootpd (BOOTP-Dämon) geklappt, deswegen dieser.
Mit DHCP und rarpd bin ich nicht zurande gekommen.

zu 2.
------
in.tftpd (TFTP-Dämon)

zu 3.
------
nfs Server


Geht also bei Filter auf suche und gebt ein:

bootp
dort erscheint bei Suse z.B. der bootpd-DD2, den hakt Ihr an.

tftp
dort tftp anhaken (yast2-tftp-server ist nur ein graphisches Konfig Proggy, brauchen wir net, da wir über
die Config Files die Einträge machen, ist aber zur Veranschaulichung und zum
Neustart von in.tftpd dem Dämon net schlecht. Erreicht man später in YAST bei
Netzwerkdienste).


nfs
hier gibt´s 2 Möglichkeiten, den nfs-server, das ist ein Dämon der "standalone" läuft,
nfs-utils, das aktiviert den Kernel-internen nfs Dienst.
Ich hab mich mal für nfs-server entschieden. Was vorteilhafter ist, muss ich erst mal
selbst testen. Für yast2-nfs-server gilt auch, nicht nötig, aber hilfreich.

xinetd
das ist "Extendet Internet Dämon (ehemals inetd)" auch Superserver biggrin.gif genannt.
Der sollte ansich schon installiert sein, wenn nicht, anhaken.

Dann die Abhängigkeiten prüfen (unten) und übernehmen. Jetzt sollte installiert werden.


Die Einstellungen:
---------------------

Vorab die Konfiguration die ich meiner Box:
HOSTNAME=dbox
IP-ADDY=192.168.1.100
MAC-ADDY=00:50:9c:11:22:33
RECHNER-IP=192.168.1.5

Desweiteren liegen die beiden Verzeichnisse
/tftpboot
/yaddroot
direkt im root Verzeichnis ( / )
Im Verzeichnis /yaddroot sind die Dateien
logol-lcd
logo-fb
eingebaut und sie Ucodes sowie die zapit dateien wurden an etsprechender
Stelle im yaddroot Verzeichnis abgelegt.

Zuerst muss man wissen, daß Linux in den Einstellungen nicht mit IP Adressen, sondern mit Host-Namen
arbeitet. Das ist ähnlich wie im Internet, www.google.de ist auch nur ein Alias Name für ne IP-Adresse (216.239.39.104).
Im Netz übernimmt die Namensauflösung (Name - IP zuordnung) der Namesserver.
Da im Homenetz ein solcher Server fehlt muß diese Zuordnung in ner Config Datei gemacht werden:

/etc/hosts

Das sieht dann so aus:
QUOTE

192.168.1.100 dbox

Das hängt Ihr einfach unten an die Datei an.


Nun der bootpd. Der greift auf ne Config-Datei Namens
/etc/bootptab
zu, welche bei mir aber noch nicht existiert hat. Somit eine Datei dieses Namens erzeugen und da reinschreiben:

QUOTE
dbox:hd=/:bf=u-boot:ha="00:50:9c:11:22:33":ip=192.168.1.100:sa=192.168.1.5:sm=255.255.255.0


hd: Directory des Bootfiles, das ist auch abhängig von den Einstellungen des tftp Servers, erklär ich noch!
bf: Das Bootfile, ppcboot oder u-boot
ha: MAC-Adresse der Dbox
ip: Die gewünschte IP-Adresse für die Box
sa: Server-Adresse (Rechner IP)
sm: Subnet-Maske


Nun der TFTP Server:

/etc/xinetd.d/tftp
Da kommt rein:

QUOTE

service tftp
{
              disable = no
              socket_type = dgram
              wait = yes
              user = root
              server = /usr/sbin/in.tftpd
              server_args =-c -s /tftpboot/
}


bisl erklärung:
server_args =-c -s /tftpboot/

das -c erlaubt das Erstellen von Dateien

das -s /tftpboot/ setzt das root-Verzeichnis von / nach /tftpboot/
Das war es was ich meinte bei der Datei /etc/bootptab mit erklär ich noch.
würde das hier nicht stehen, so würde die Einstellung hd=/ in der bootptab nicht in
/tftpboot/ nach u-boot suchen sondern in /


Nun fehlt nur noch der NFS Server.

Wie schon mal beschrieben, werden Verzeichnisse durcch den Server ins Netz exportiert.
Die Config Datei für den NFS Server ist die
/etc/exports

Da wir das Verzeichnis /yaddroot exportieren wollen lauttet die Zeile darin so:
QUOTE
/yaddroot        192.168.1.100 (rw,no_root_squash,async)



rw = read/write
no_root_squash = (hab ich noch net wirklich kapiert, aber hat was mit den Zugriffsrechten zu tun)
async weil´s schneller ist als sync und Suse (warum auch immer) sync als default hat.

Zum übernehmen der Datei in der Konsole eingeben:
exportfs -a

das sollte es gewesen sein. biggrin.gif



Als nächstes hab ich nun noch das Problem, daß mein Netzwerk auf 100MBit läuft.
Und beim normalen starten (wie sollte es auch anders sein) kommen die Daten nicht
rechtzeitig bei der Box an.
Somit startet sie aus dem Flash. Ja, da war doch was mit Pfeil nach oben gedrückt
halten bei Start und dann im Bootmanager "boot net".....
Mist, welcher Bootmanager laugh.gif
Im Moment mach ichs also von nem anderen Windows Rechner und dem Bootmanager, solange ich noch kein gescheites Terminal für
Serielle Schnittstelle gefunden hab.
Aber da gibts bestimmt auch noch was. wink.gif



So, nun Happy Testing laugh.gif


Gruß!


Am Schluss noch, da das hier ein FAQ Bereich sein sollte mach ich hier mal zu.
Fragen oder Anregungen könnt Ihr ja zum Beispiel hier:
http://www.keywelt-board.com/index.php?showtopic=48978
oder auch sonst im Board stellen.
Grund: eigentlich will ich das hier noch bisl erweitern wink.gif


--------------------
Gruß! Worschter
Grüße vom New-Tuxwetter-Team des Keywelt-Boards
user posted image
Im Forum Keywelt-Plugins gibt es Infos, Tipps und Hilfe zum Plugin.
Mini ProfilePM
Top
Worschter
Geschrieben am: Sat Sep 3 12:02:45 GMT 2005
Quote Post


Super Mods
Group Icon

Gruppe: SuperMods
Beiträge: 17939
Mitgliedsnummer.: 18142
Status: OFFLINE
Mitglied seit: 17-May 03



So, nun bin ich dank rübe einen Schritt weiter rolleyes.gif

um das COM-Terminal unter Linux zu nutzen, kann man Kermit nutzen.
Unter Suse war das nicht von vornherein installiert. Somit unter Yast -> Software installieren -> suchen
nach kermit suchen lassen und dann z.B.ckermit installieren.

nun die Anleitung von rübe

QUOTE (rübe)
Hm, hat mir keine Ruhe gelassen, musste es gleich probieren...

Ergebnis: funktioniert einwandfrei!

und zwar so: ich hab mir ein Script erstellt, das heisst dbox2.tty (keine Phantasie mehr um diese Uhrzeit, sorry...):
CODE

#!/usr/bin/kermit
set modem type none
set carrier-watch off
set line /dev/ttyS0
set speed 9600
set line /dev/ttyS0
set speed 9600
set terminal bytesize 8
set parity none
set stop-bits 1
set flow none
connect
quit


diese script ausfuehrbar machen:
chmod +x dbox2.tty

und als root ausfuehren:
./dbox2.tty

nochmal ENTER gedrueckt, und schon sieht man den prompt der guten alten dbox2  biggrin.gif

So weit so gut, aber wie kommt man da wieder RAUS???

1.) Druecke GLEICHZEITIG: Strg und AltGr und \
2.) Tasten wieder loslassen
3.) Druecke c (klein Caesar)


und schon ist man wieder zurueck auf der commandline...

Tip am Rande:
will man den bootlog mitlesen, evtl. am dbox-rompt etwas eingeben und das alles GLEICHZEITIG noch in eine Datei am PC mitloggen, dann geht das einfach und komfortabel so:
./dbox2.tty | tee boot.log

schoenen Abend noch,

rübe  biggrin.gif


klappt eindandfrei biggrin.gif. Wernn man nicht als root angemeldet ist, dann muss man
sich mittels SU als SuperUser anmelden mit dem root Passwort.
Geht aber auch automatisiert beschreibung in diesem Thread:
http://www.keywelt-board.com/index.php?showtopic=48978&st=0&#entry396390

danke nochmals an rübe rolleyes.gif


--------------------
Gruß! Worschter
Grüße vom New-Tuxwetter-Team des Keywelt-Boards
user posted image
Im Forum Keywelt-Plugins gibt es Infos, Tipps und Hilfe zum Plugin.
Mini ProfilePM
Top
Worschter
Geschrieben am: Sun Sep 11 11:32:24 GMT 2005
Quote Post


Super Mods
Group Icon

Gruppe: SuperMods
Beiträge: 17939
Mitgliedsnummer.: 18142
Status: OFFLINE
Mitglied seit: 17-May 03



Dank Puhvogel rolleyes.gif
geht es auch in Sachen Flashe weiter smile.gif
Erst mal nur der Link, wenn ich dazu komme mach ich auch an der Faq weiter.

http://www.keywelt-board.com/index.php?showtopic=54339&view=findpost&p=394798


--------------------
Gruß! Worschter
Grüße vom New-Tuxwetter-Team des Keywelt-Boards
user posted image
Im Forum Keywelt-Plugins gibt es Infos, Tipps und Hilfe zum Plugin.
Mini ProfilePM
Top
Thema wird von 1 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
1 Mitglieder: OPPZeroCool

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0560 ]   [ 14 queries used ]   [ GZIP aktiviert ]