SUN Ultra1 Vorstellung und SolarisInstall

  • Neulich habe ich ja schonmal was zur Ultra1 geschrieben [zum Thread], und da hat es sich nun also ergeben, daß nun endlich mal das "neue" Solaris auch 'hier' installiert werden wollte. Manchmal haben ja die Geschenke, die andere bekommen, interessante Wirkungen. ;)


    Wie schon im anderen Thread geschrieben, gibt es von dem Gerät nicht nur eine Version. Wichtige Hauptunterschiede sind v.a. die Art der Anbindung der Grafikkarte an das Gesamtsystem und damit einhergehend unterschiedliche Taktfrequenzen von CPU und BusTakt. Bei der Grafik hat das recht deutliche Auswirkungen, da der normale SBus dort mit 25MHz taktet, der UPA Bus aber 83MHz vorzeigen kann. Die beiden anderen wichtigen Unterschiede sind "normales" Fast-SCSI-2 bei den kleineren U1 Maschinen und bei den anderen gibt es da schon Wide-SCSI-2. Und heute wohl fast noch wichtiger, die kleinen U1 haben 10MBit Ethernet, die flotteren bereits 100MBit/s.


    Infos gibt es z.B. bei

    https://en.wikipedia.org/wiki/Ultra_1

    https://en.wikipedia.org/wiki/Ultra_Port_Architecture


    der alten SunStuff Seite bei Archive

    https://web.archive.org/web/20…ystems/sun4/sun4u/ULTRA1/


    und den Restbeständen an Dokumentation zur Ultra1 bei oracle

    https://docs.oracle.com/cd/E19127-01/ultra1.ws/index.html

    inkl. einer gut versteckten Anleitung, wie man ein PROM Upgrade richtig(!) macht

    https://docs.oracle.com/cd/E19…0-10/6jfrcj1q7/index.html

    (wobei man das nur eh' machen sollte, wenn es unbedingt sein muß)


    und natürlich beim schonmal verlinkten 'FEH'

    https://shrubbery.net/~heas/su…ms/4u-Workstation/U1.html

    https://shrubbery.net/~heas/su…s/4u-Workstation/U1E.html


    Die Taktfrequenzen der UltraSPARC CPUs können 143 MHz oder 167 MHz oder 200MHz betragen. Am einfachsten bekommt man heraus, was man selber vor sich hat, indem man auf der OpenBoot Kommandoezeile - Stop+A drücken - eingibt ".speed".



    Die Ultra1 ist zusammen mit der Ultra2 der Startpunkt der UltraSPARC Reihe, die SUN bis zum Firmenende im Jahre 2010 weitergebaut haben. Wichtigste Merkmale zum Vorstellungszeitpunkt waren

    • reiner Rechenspeed wieder auf Augenhöhe mit der Konkurrenz - v.a. HP, SGI, DEC
    • für Multiprocessing ausgelegt, was große Server ermöglicht(e) und damit das Internet-Zeitalter
    • eine eingebaute Unterstützung für Mediendaten - VIS - was eine SIMD Einheit ist, ähnlich wie das spätere AltiVec o.ä., die vielen Daten gleichartig und v.a. gleichzeitig, und daher schnell, abarbeiten kann
    • volle 64 Bit als Basis - wobei das teils anfangs noch manuell freigeschaltet werden muß
    • FPUs mit bekannter Parallelrechenfunktionalität (superskalar)
    • hohe Takte dank neuer Fertigung und große externe CPU Caches (512KB)
    • dank 8 RAM Steckplätzen auch in der kleinsten U1 bis 1 Gigabyte RAM tatsächlich installierbar ; 1024 MByte , 1995 (!)

    und daneben wird etwa Grafik jetzt auch als etwas wirklich Essentielles betrachtet, was man etwa an dem UPA Bus und dem Vorhandensein dezidierter 3D Grafikkarten sieht. Das gab es bei SUN auch vorher schon - teils waren sie da sogar Vorreiter (Stichwort TAAC-1) - aber die Integration ins Gesamtsystem und der Verkauf hat woanders besser geklappt: SGI für Film und Fernsehen und Animation, HewlettPackard (HP) für CAD und CAM.

    Mit den Creator Karten und den expliziten 3D Teilen klappt das jetzt auch hier ordentlich.


    Benchmarks finden sich dazu z.B. hier

    https://www.spec.org/gwpg/past…n96/plb.static/index.html

    wobei damit getestet wird

    https://www.spec.org/gwpg/past…n96/plb.static/files.html

    und hier die Ergebnisse (für PLBwire) zu sehen sind

    https://www.spec.org/gwpg/past…ary.wire_performance.html


    .

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Und so sieht solch ein Wunderwerk dann aus, wenn man es "ins Moos" stellt



       


       



    Recht spartanisch. Auf der rechten Seite finden sich noch CD-Laufwerk und ein (unbestückter) Slot für ein Floppy-Disk-Laufwerk. Es gibt aber noch nichtmal eine StatusLED für die Harddisk(s). Derer sind zwei Stück verbaubar, als 80Pin SCA Platten, direkt in einem Einschubschacht, wie in einem großen Server auch. Diese werden von einem Lüfter gekühlt, der vorne links sitzt und seine Frischluft über die Frontleiste holt, daher sollte man die Front nicht mit Büchern o.ä. "verbauen". Noch wichtiger ist die Lüftung quer durchs Gehäuse über zwei große Netzteil-Lüfter, weshalb man auch die Seiten tunlichst frei und offen halten sollte ( und ja, das Teil heizt wirklich intern ganz gut, daher WICHTIG ).


    Auf der Backside sieht man oben zwei markiert Schrauben. Diese herausgedreht, lassen den Deckel nach oben aufklappen, "wie eine Motorhaube", was man vorsichtig machen sollte, da die Plastikführungen empfindlich sind (hinten) und vorn in der Front kleine Plastiknasen sitzen, die man auch ganz lassen möchte.


    Ansonsten sieht man unten die Anschlüsse für

    Parallel - Keyboard - Ethernet (1x für Adapter, 1x RJ45) - SCSI 50pol HalfPitch - Audio (4x)


    mittig übereinander gibt es zwei serielle Schnittstellen, wobei Serial-A die interessante ist, da man dort alle Boot und Fehlermeldungen mit einem Terminal angezeigt bekommen kann, was auch dann funktioniert, wenn keine GRafik da ist oder das System nicht hochfährt. Wichtig dabei: Es muß vorher RS-232 per Jumper eingestellt werden ! ( siehe FEH oben )


    Links sieht man einen 13W3 Anschluß für Monitore, das sitzt also die Grafikkarte, wobei man von außen aber nicht sagen kann, ob sich dahinter nun ein SBus oder ein UPA Anschluß verbirgt. Und die Beschriftung vom Deckel (Frontsymbol) muß ja nicht unbedingt stimmen.


    Ganz rechts sind zwei Kartenschächte für normale SBus Karten. Hier ohne Karten und auch ohne Abdeckungen, die da noch eigentlich reingehören würden.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Von innen kann man dann sowas sehen

    ( die Bilder werden ab jetzt nicht unbedingt besser, liegt/lag wohl an der Beleuchtung )



    Dabei sieht man hier von hinten in die Maschine. Links das Netzteil, nach vorn CD Laufwerk und Plattenkäfig.



    Die CPU sitzt unter dem kleinen Lüfter links-oben. Da bin ich noch am Grübeln, ob es nötig ist, den Aufbau mal komplett zu Entfernen um evtl. vorhandene Wärmeleitpaste zu tauschen - was man natürlich nicht machen müßte, wenn da niemals welche drauf war. Es sieht so aus, als wären die Metall-Kühlkörper da direkt auf die Chips aufgesetzt - ohne Schutz - weshalb mir das etwas heikel erscheint. Zum Ausbau würde man die Stromversorgungskabel abziehen und das Board nach hinten herauziehen und dann vmtl. von unten die Halteschrauben des Kühlaufbaues lösen.


    Rechts oben sieht man die RAM Reihe. Diese ist in Bänken organisiert - es müssen immer 2 RAM Riegel gleichzeitig bestückt werden ! Bei 8 Plätzen hat man also 4 Bänke, deren jede 256 MB faßt. Vorteil der Sache ist die große Datenbuszugriffsbreite, die sich so ergibt. Hier sind 64 + 64 + 128 MB installiert. Völlig ausreichend !


    Zwischen RAM und hinterem Teil sieht man die beiden SBus Erweiterungssteckplätze. Dort können übereinander zwei Karten sitzen - und dann wirds drinnen wirklich warm.

    Man kann auch schön erkenen, wie das mit der "Querlüftung" gemeint war - links die 2 Lüfter im Netzteil - rechts die offene Wand, die auch außen durchbrochene Plastik hat.


    Desweiteren sieht man den großen PROM Baustein hinten mittig und das Flachbandkabel zu den seriellen Ports. Dazu den großen SCSI Controller Chip. Die gesamte hintere Ecke (Bild rechts) ist fürs Audioteil reserviert.




    Und dann gibt es da noch die Grafikkarte, wobei man auch sehen kann, daß schon aus Platzgründen da keine 3D Grafik wie bei einer Indigo2 von SGI mit 3 (!) Platinen hineinpassen würde.


       

    .

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Wenn man die Geschichte nach Jahren der Nichtbenutzung anschaltet, ist im Normalfall die Batterie im NVRAM Chip leer. Dieser führt bei SUN den eher unangenehmen Namen : TOD - Time Of Day , unter welcher Bezeichnung sich das dann immer mal wieder als Fehler äußert in Bildschirmmeldungen etc.


    Dagegen hilft nur die Batterie zu erneuern. Wie das geht findet sich im Forum und ist strukturell nicht anders als bei den Dallas-Chip - aber die Anschlüsse sind natürlich woanders, da es eben kein Dallas ist. Also VORHER gucken Wie.

    Die elegante Variante ist den Chip einfach nachzukaufen. Kostenpunkt zwischen 10 und 50 EUR bei oft unbekannter Qualität und Funktion.



    Nach ca. 1 Minute bangen Wartens - während denen der POST Test läuft - erscheint dann auch mal irgendwann ein Bild. ( Angenehmer ist übrigens die Geschichte mit dem Terminal (RS-232 Umstellen als Hürde, s.o.) - da bekommt man gleich eine Info und sieht, was gerade getestet wird. )


    Man sieht wie das Gerät so heißt, anhand des Bildchens kann man was zur Grafik sagen, der RAM wird angezeigt und initialisiert und die Netzwerkadresse hat komische Werte - weil das NVRAM "leer" ist, was auch angesagt wird.


    Normalerweise würde gebootet werden, aber da geht grad nicht, weshalb das OK kommt.

    Erzwingen kann man das, wenn man z.B. während des RAM Initialisierens Stop+A drückt bzw. am Terminal ein Break sendet.


    Dort kann man schon verschiedenes eingeben. "Help" ist z.B. ein guter Anfang.


    Oder aber



    ein "devalias"


    Das zeigt einem die vorbelegten Namen für bestimmte Geräte an, die die Maschine erwartet potentiell vorzufinden.

    Da sieht man z.B., daß "disk" und "disk0" auf das gleiche Gerät zeigen.

    Das sind i.P. hilfreiche Abkürzungen, damit man nicht immer den gesamten Zahlenkauderwelsch ausschreiben muß.


    Mit "show-devs" läßt man sich alle bekannte Geräte anzeigen.


    Man kann auch selber solche alias-Namen anlegene, etwa auf Geräte aus dieser Liste hier.

    "help devalias" sagt wie.




    Und ebenfalls ganz wichtig ist "printenv", weil das einem die eingestellten Werte im NVRAM anzeigt. Hier natürlich keine gemerkten, weil das NVRAM ja "leer" ist, weshalb die default Werte kommen.

    Interessant sind dabei z.B. die Einstellungen für ttya und ttyb oder das eingestellte boot-device


       



    und noch ein wichitges Kommando ist "probe-scsi", was den SCSI Strang nach Laufwerken abfragt.

    Wenn man da weiß, welche erkannt worden sind, kann man die auch den alias-Namen zuordnen und benutzen.


    ( die verschärfte Form ist "probe-scsi-all" )




    Mit der Maschine, die nicht Autobootet ( Fehler s.Bild ) und 2 leere Platten hat, muß man dann schon eine passende CD einlegen


    und mit "boot cdrom" ( ! ein alias-Name ) geht es los



    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries


  •    



    man muß einen Hostnamen vergeben


       



    und eine Netzadresse ansagen, hier eine fixe für "hinter dem Router". IPv4 ist da das Alleingültige.


       



    wichtig ist den Namensdienst eizustellen. Der heute übliche Standard ist DNS und daher hier "other"


       

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  •      


       



    irgendwann soll man ansagen, was für ein Gerät das "werden" soll


       


    und wofür bzw. wie man es benutzen möchte



    entscheidet man sich hier z.B. für EndUser wird automatisch der Start der grafischen Oberfläche eingerichtet, schnöde Entwickler landen per default nur in einem Text-Login.


    Danach folgt der spannende Teil der Partitionierung der Platte. SUN hat dazu ziemlich eigene Vorstellungen und es gibt durchaus Programme, die bestimmte Sachen einfach so erwarten, wie vorgegeben. Man sollte also nicht zuviel "basteln" und lieber erstmal die Autoeinstellungen nehmen und diese an seine Bedürfnisse anpassen.


    Es empfiehlt sich z.B. überhaupt nicht die Partition 2 für irgendwas Anderes / Eigenes zu benutzen. Das ist nunmal "per definition" die komlette Platte, auch wennd das für DOS User erstmal komisch sein mag. Der Vorteil ist, daß man so auch die die komplette Platte einfach mal wegsichern kann, z.B. auf ein Streamerband, indem man einfach Partition 2 als "Image" sichert.



       

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  •    


    im Automatikmodus nickt man nämlich erstmal nur die Vorschläge ab, kann selbst noch bißchen was "wünschen" - hier z.B. ein Extra-Partition für den /var Bereich des Dateibaumes und bekommt dann dafür Größenvorschläge


       


    die man aber netterweise selbst nachträglich anpassen kann und etwa die / (root) Partition und /usr größer machen kann. Man muß nur aufpassen, daß am Ende die Gesamtsumme an Megabytes "aufgeht" und das entsprechend in der letzten Partition anpassen.


    ( interessant ist hier die Frage, was passiert, wenn man da eine SCSI2SD dranhängen hat, ob dort dann freier überschüssiger Platz wie bei einer SSD fürs Overprovisioning benutzt wird )


    es ist - mit dem unscheinbaren Symbol links oben - auch möglich das "exakt" einzustellen , zylindergenau


       


       


    ganz zum Schluß wird man nochmal gefragt, ob das jetzt auch OK so ist. Bis dahin ist noch NIX passiert - also letzte, allerletzte Chance sich zu überlegen, evtl. doch mal zu schauen, welche Daten man evtl. vorher noch sichern möchte von den Platten ...

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries



  •    


       


    während des Installierens wird angezeigt, was installiert wird


       



    dauert reichlich 15 Minuten



    aber danach kann man dann wirklich einen Tee trinken gehen, da macht der Installer "irgendwas" und überprüft anscheinend nochmal alle Paket und ermittelt welche Patches installiert werden sollen.


    Einflußnahme - genau keine


         


    das ist eigentlich der längste Teil vom ganzen Install gewesen

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  •      


    und hier nochmal das gesamte Protokoll, was so angezeigt wird/wurde


    danach kommt dann ein REBOOT , wenn man das oben mal so angeklickt hat, was einen - NVRAM immer noch defekt - wieder auf die OpenBoot Commandline führen wird

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries


  • genauso kommt es auch. Booten geht natürlich immer noch nicht, aber nachdem jetzt - hoffentlich - was installiert ist, kann man diesmal von Platte booten, d.h. "boot disk" oder besser/exakter "boot disk0"


       



    Man sieht, daß das Unix lädt, sich meldet, ansagt wie es heißt und welche Version es ist und dann anfängt anzufangen, indem es Netzwerk und Dateibaumteile einrichtet und das "ufs" Filesystem überprüft. Danach findet es dann ein Netzwerkproblem, was so sein muß - es ist tatsächlich kein Kabel angeschlossen.


    Nachdem das dreimal probiert worden ist, soll der "root" sich ein Paßwort geben. Das wird nur für die allererste Anmeldung benutzt und dann sofort automatisch ein neues angefordert.


       



    Man meldet sich also jetzt als "root" an und benutzt das eben gesetzte Paßwort dafür.

    Daß man "root" ist, erkennt man am "#" Symbol am Zeilenanfang. Man kann aber auch mit "who" fragen, wer man eigentlich ist ... ganz ohne (!) philosophische Hintergedanken.


    Mit "cat /etc/passwd" läßt man sich die Paßwortdatei anzeigen - die allerdings, so modern ist das schon, keine Paßwörter an sich enthält.


    Um nun einen anderen Benutzer anzulegen - nämlich einen, der als "einfacher User" die SUN benutzen möchte - muß da ein zusätzlicher Eintrag in die Datei "/etc/passwd". Und das geht am Einfachsten mit dem Kommando "useradd". Hier als "useradd friedrich".


    Mit einem zweiten Blick, schaut man dann noch nach, ob der neue User auch eingetragen worden ist.

    Siehe letzte Zeile.


       

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Geschickter wäre allerdings gewesen, das Kommando zu erweitern, denn "useradd" legt wirklich NUR und AUSSCHLIEßLICH den User als solchen an - macht also den Eintrag in die passwd Datei.


    Dem neuen User fehlt also noch ein Paßwort, ohne das er sich ja nicht anmelden kann und vor allem ist für ihn auch kein Homeverzeichnis angelegt - er hat also nirgendwo auf dem System einen Platz, wo er oder seine von ihm gestarteten Programme Daten hinschreiben könnten. Und das hat so ein paar ärgerliche Nachwirkungen.


    Wer es also gleich "richtig" machen möchte und zudem in einer Netzwerkumgebung auf sein User-Homeverzeichnis auch von außen zugreifen will und außerdem bestimmte Startdateien als Service dahineinkopiert bekommen will, der benutzt besser gleich


    "useradd -d /export/home/friedrich -k /etc/skel friedrich"


    es ist aber prinzipiell auch kein Problem, einen bereits angelegten "User" wieder zu löschen und nochmal neu zu "setzen", mit "userdel username".



    Wichtig ist aber, egal ob mit oder ohne Homeverzeichnis, ein Paßwort zu vergeben. Das macht man als root mit "passwd username", hier also "passwd friedrich"



    Wenn der "root" sich jetzt an dieser Stelle abmeldet und man sich gleich wieder am Login mit dem neuen User anmeldet, dann wird einem das auch mitgeteilt, daß der User kein Homeverzeichnis hat, weshalb ihm "/" als Homevereichnis zugewiesen wird - was allerdings relativ sinnfrei ist, da dort eigentlich nur der Administrator "root" Schreibrechte haben sollte.


    Trotzdem kann auch ohne Homeverzeichnis der neue User schonmal die Oberfläche "antesten", nämlich, wenn der "root" sich noch einmal anmeldet und freundlicherweise den grafischen Login aktiviert. Das macht root mit "/usr/openwin/bin/xdm"


    xdm ein Programm, was die grafische Oberfläche aktiviert, und ein Login-Fenster öffnet, in dem sich der neu angelegte User dann endlich schonmal anmelden kann




    und nach richtiger Paßworteingabe auf den OpenWindows Desktop kommt



       


    Auf diesem gibt es Uhren, Logos, Terminal, Menüs und auch ein Hilfe System zum Einlesen, einen Taschenrechner und kleine Tools, etwa um Bilder anzuzeigen.


         


        


    Alle Dateien, die irgendwas ausführbares sind und direkt mit dem Desktop was zu tun haben, finden sich in dem Ordner /usr/openwin/bin/


    Eines wurde sogar oben als root schonmal gestartet - der 'xdm'. Als normaler User kann man das auch mal mit z.B. xclock oder audiotool oder calctool probieren, indem man einfach am Terminal ( was man über das Mausmenu öffnet ) den Pfad und den Programmnamen eingibt, also z.B. "/usr/openwin/bin/wsinfo"


    Das meiste sind dort aber Sachen, die man entweder als Normaluser gar nicht starten kann oder starten sollte oder aber sie sind viel besser und bequemer über das Mausmenu erreichbar.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    2 Mal editiert, zuletzt von ThoralfAsmussen ()

  • Sehr fleißig!


    Kleine Ergänzungen:

    Bei dem hier vorgestellten System handelt es sich um das Modell 170E (Systemcode A12), was man u.a. auch am "Ultra 1 - Creator"-Badget an der Gehäusevorderseite erkennen kann. Die "E"-Modelle bzw. A12 verfügen gegenüber den "Nicht-E" bzw. A11-Systemen mit SBus neu über einen UPA-Slot für einen Fast Frame Buffer (FFB). Dennoch sind auch die A11-Systeme am UPA angebunden, mindestens CPU und RAM. Ansonsten wie beschrieben Unterschiede bei u.a SCSI, Netzwerk, minimaler Solaris-Version.


    VIS (Visual Instruction Set) ist keine Einheit, sondern eine Instruktionssatz-Erweiterung, welche fester Bestandteil ab dem UltraSPARC-I Prozessor ist. Die Einheit (Unit) auf dem Die, welche die Verarbeitung der jeweiligen Instruktionen vornimmt ist die FPU mit der GRU (Graphics Unit). Für die ISE gab es von Sun auch eine spezielle MediaLib, die gängige technisch-wissenschaftliche C/C++ Routinen mit eingebetteten Assembleranweisungen für Entwickler umfasst.


    Auch nicht ganz unwesentlich, die Wortbreite (Instruktionen + Adressen) ab UltraSPARC-I ist 64-Bit. Mit Einführung der Ultra 1 Systeme wurden jedoch noch kein 64-Bit Kernel und 64-Bit Bibliotheken angeboten. Das kam erst mit Solaris 7 (SunOS 5.7 + ONC + CDE) und erst mit dieser Version konnten die V9-ISA der UltraSPARCs voll ausgenutzt werden. Bis dahin musste man mit dem unter Solaris bekannten v8plusa Binärformat für UltraSPARC-Programme, ein auf 32-Bit beschränkten Instruktionssatz der V9-ISA mit VIS 1.0, vorlieb nehmen. Es besteht auch etwas Ironie in der Tatsache, dass im UltraSPARC-I ein "schwer-gewichteter Bug" vorhanden ist der den 64-Bit Kernel unter bestimmten Voraussetzungen zum Panic verleiten kann. Aus diesem Grund wird per Default ab Solaris 7 der 32-Bit Kernel geladen. Das lässt sich bei Bedarf und unter Akzeptanz des Nutzers ändern.


    Vertiefungslektüre nachstehend gelistet:



    So far