Administration und Konfiguration
Tips & Tricks
Die faui4vm2 war früher der MEMSY-Server für NIS und stellte die Kernbauumgebung zur Verfügung. Auf ihr wurde die meiste Software entwickelt und getestet, bevor sie auf das MEMSY System übertragen wurde. Heute dient sie lediglich als Plattenbaurechner verwendet.
Die faui4vm2 hat zwei Netzwerkinterfaces, von denen aber immer nur eines aktiviert ist:
Was ist zu tun, um das jeweils nicht-aktive Interface in Betrieb zu nehmen?
/usr/etc/tpid.conf
stehen zwei vorbereitete
Einträge, einer für 374_2eth und einer für m385_01. Der jeweils nicht benötigte
muß auskommentiert werden.
/+shared/etc/hosts
muß (temporär), wenn nicht
schon vorhanden für die neue Adresse ein Eintrag gemacht werden.
/usr/etc/nettab
),
dann muß die /usr/net/nls/tcpip/addr
korrigiert
werden. Dazu existieren in /usr/net/nls/tcpip
drei Dateien (addr.fddi,
addr.ether und addr.both), auf die entsprechend addr gelinkt wird.
/usr/etc/init.d.conf
ändern: für FDDI ist der Gateway
die faui42 (131.188.41.1) und für's Ethernet die sushi.gate (131.188.40.53).
Wo? Prinzipiell kann die Kernbauumgebung auf jedem mot88-Rechner installiert werden, der genug Plattenplatz (64 MB für die Umgebung + xxx MB wenn ein Kern gebaut ist) vorhanden ist und NFS-Zugriff auf die Quellen (/src/SYS_V_88/) besteht.
Momentan ist eine Kernbauumgebung auf der faui4vm2 in /kernelbuild
installiert. Diese Kernbauumgebung ist für den MEMSOS Quellbaum erzeugt worden. Egal wo das
Startverzeichnis tatsächlich liegt, muß es immer /kernelbuild
sein.
Wie? Um eine Kernbauumgebung zu erzeugen, muß lediglich das Script
/local/memsos/etc/make_kbuild
mit entsprechenden Parametern
aufgerufen werden. make_kbuild -h
gibt Auskunft über die
möglichen Parameter und deren Wirkung.
Was? Die Kernbauumgebung besteht aus verschiedenen Teilen, da sich mit ihr
nicht nur ein Kern, sondern auch ein Bootloader, alle Bibliotheken und Programme des Systems
bauen lassen. Unter /kernelbuild
findest man daher eine genaue Kopie der
Verzeichnisstruktur von /
und /usr
. In diese werden die
neu-compilierten Bibliotheken und Programme kopiert. Unter /usr/src
wird eine
Kopie des Quellbaumes (/src/SYS_V_88/src/{MEMSOS,FAU}/usr/src
und Symlinks auf
die Dateien angelegt. Während des Kernbauens liegen hier die Kern-Bibliotheken, o-Module,
der fertige Kern (/kernelbuild/usr/src/uts/mot/cf/m88k/unix
) und auch ein
Logfile des make-Laufs (/kernelbuild/usr/src/uts/mot/sysgen/make.log
).
Kerne sind einfach zu bauen, indem man /local/memsos/etc/mk_memsos
aufruft.
Bibliotheken und Programme sind auch nicht viel schwieriger:
/local/memsos/etc/mk_cmd <command>
aufrufen.
Jeder Knoten hat zwei Identitäten: MEMSOS und FAU.
Booten geht mit dem 188BUG Kommando bo.
MVME328, SCSI id 0, Slice 0: bo 6 0 MVME328, SCSI id 1, Slice 0: bo 6 10 MVME327, SCSI id 0, Slice 0: bo 2 0 MVME328, SCSI id 0, Slice 0: bo 2 10
Zum Booten von einem anderen Slice benötigt man die Option s. MEMSOS booten geht dann so:
MVME328, SCSI id 0, Slice 4: bo 6 0 ;ms4
Die Option m ist notwendig, damit der Bootloader die Adressen der Kommunikationsspeicher im Adreßdecoder einträgt. Erst dann kann der MEMSOS-Kern darauf zugreifen. Die Usage des bootloaders:
VME Disk IPL Version 10.4/FAU v1.9 08-08-1995/MEMSOS v1.10 09-12-1994 VME Disk IPL: usage '[][;[?][h][l][S][s ]]' ? print this help message h halt after loading OS l list directory and halt immediately S print slice table and halt immediately a pass a - Option to autoconfig-loader b boot from CM (default: unix.mcl) m do MEMSOS configuration setup c do MEMSOS configuration setup from SRAM, update NVRAM v verbose mode s use slice instead of rootfs-offset in VID block
MEMSOS: Die Root (/) liegt auf Slice 4, die /usr auf Slice 5. Der Kern liegt in /stand/ und heißt unix.memsos oder unix.mdebug (/stand/unix als Hardlink!). Die fstab heißt fstab.memsos, sollte aber schon richtig gelinkt sein. Der MEMSOS-Kern läuft nur, wenn er mit der Option m gebootet wurde! Vom Slice 4 läßt sich auch ein FAU-Kern booten. Unter /normal_root(/usr) ist das FAU-fs erreichbar.
FAU: Der FAU-Kern ist der gleiche wie der MEMSOS-Kern, ohne MEMSOS-Erweiterungen. Die Root (/) liegt auf Slice 0, die /usr auf Slice 2. Der Kern heißt /stand/unix.fau (/stand/unix als Hardlink!). Unter /memsos_root(/usr) ist das MEMSOS-fs erreichbar.
Device Addr Vers Revision Serial# Blocks Size Vendor Description ------- ---- ---- -------- ------- ------- ---- ------------------- Disk 000 0001 M303... ....... 1015812 0512 FUJITSU M2624S-512Wichtig an dieser Ausgabe ist lediglich die Adresse (hier: 000). Die Platte ist dann als m328_000s<slice> ansprechbar. Sollte hier nicht 0 stehen, dann muß das beim Aufruf des mkmemsy-Skript berücksichtigt werden!
Die Platte kann natürlich auch am MVME327 Controller angeschlossen werden, sofern das zweite Plattengehäuse angeschlossen ist. Das ist ohne umjumpern möglich, da die Bootplatte auf ID 1 gejumpert ist.
Hier die Usage zum Script /proj/MEMSOS/admin/etc/mkmemsy:
Der Standardaufruf (bei Anschluß an den 328er) wird wahrscheinlich lauten:
mkmemsy -fbsm -c 1 -i 0 <nodename>
...und bei Anschluß an den 327er:
mkmemsy -fbsm -c 1 -i 0 -D m327_00 <nodename>
Das Script kann auch dazu benutzte werden, Partitionen der Bootplatte neu zu bauen. Dies kann man genau dann einsetzten, wenn der beide Identitäten (MEMSOS oder FAU) ziemlich kaputt ist:
mkmemsy -c 1 -mi {1|2} <nodename>
Alle MEMSOS Kerne benötigen wichtige Informationen über den Knoten, auf dem sie laufen. Dazu gehört insbesondere die Knoten-ID (ohne diese bootet der MEMSOS-Kern überhaupt nicht!) und Anzahl und Zuordnung der Kommunikationsspeicher mit den jeweiligen physikalischen Adressen.
Die Konfiguration aller Knoten ist in der Datei /local/memsos/etc/memsy.conf
abgelegt. Hier ein Ausschnitt: der Knoten m52
m52 Sued m51 0xB5112 0x83000000 0x400000 0 0 0 m52 West m53 0xB5321 0x81000000 0x400000 0 1 0 m52 Diag m54 0xB5411 0x80000000 0x400000 0 2 0 m52 Priv_0 m52 0xB5222 0x82000000 0x400000 0 0 0 #m52 Priv_0 m52 0xB5222 0x8.000000 0x400000 0 0 0 m52 Priv_1 m52 0xB5222 0xA03E0000 0x20000 0 0 0 m52 Priv_2 m52 0xB5222 0xA13E0000 0x20000 0 0 0 m52 Priv_3 m52 0xB5222 0xA23E0000 0x20000 0 0 0 m52 Priv_4 m52 0xB5222 0xA33E0000 0x20000 0 0 0 m52 Down-NW m32 0xA3243 0xA0000000 0x3E0000 1 1 1 m52 Down-NO m31 0xA3144 0xA3000000 0x3E0000 4 0 1 m52 Down-SW m34 0xA3433 0xA1000000 0x3E0000 2 3 1 m52 Down-SO m33 0xA3334 0xA2000000 0x3E0000 3 2 1
(Die auskommentierte Zeile ist lediglich ein Platzhalter für den zweiten physikalischen (aber nicht verwendeten) Weg zum eigenen KS.)
Auslesen und modifizieren des NVRAMs / der Konfiguration geschieht mittels
/local/memsos/bin/mconf
.
Das Programm benötigt nur einen Parameter: 0 = auslesen, <nid> = update.
Wobei <nid> die reine Knoten-Id ist (11, 12, 13, ...).
Jeder User kann sich die eingestellte Konfiguration des NVRAMs ansehen. Ein Update ist nur mit root-Rechten möglich.
Das Programm ist für den Update oder das Verändern einzelner Werte etwas unhandlich,
da es die zu schreibende Konfiguration auf stdin
erwartet. Daher gibt es
ein Mini-Shellscript: /local/memsos/etc/mconfigure
.
Aufruf: mconfigure [<nid>] [<conffile>]
Ist kein Parameter angegeben, wird als <nid> als 0 angenommen. Wird keine besondere
Konfigurationsdatei angegeben, wird /local/memsos/etc/memsy.conf
benutzt.
Soll die Konfiguration nur geändert (kein Update) werden, kann man entweder die Default-Datei editieren, oder eine Kopie davon. Beispiel: Allen Knoten der A-Ebene soll der Uplink auskonfiguriert werden, weil die B-Ebene nicht mehr vorhanden ist. Dazu muß lediglich in der Konfigurationsdatei bei jedem Knoten der A-Ebene die Zeile der Form
mXX Up m5x 0xB5xxx 0x8xxx0000 0x20000 0 5 0
auskommentiert oder entfernt werden und per mconfigure die Konfiguration neu geschrieben werden.