Die fabelhafte Welt der SUN-Workstations

Heute ist mir beim Surfen mal wieder aufgefallen, wie viele extravagante und ausgefallene UNIX-Workstations es von SUN doch gab. Meiner Meinung nach war SUN ohnehin einer der innovativsten Konzerne überhaupt – wenn man bedenkt, wie viele bahnbrechende Produkte von SUN stammen oder durch SUN perfektioniert wurden. Um mal fünf zu nennen:

  • Java
  • NFS
  • ZFS
  • MySQL
  • OpenOffice

UNIX-Workstations und -Server waren eines der Kerngeschäfte von SUN und auch hier wurden zahlreiche sehr durchdachte und robuste Produkte geschaffen – meine Top-5 besteht aus:

 

SUN JavaStation 1

JavaStation 1

JavaStation 1 (Quelle: http://nathan.chantrell.net/linux/sun-javastation-1-and-linux/)

Die SUN JavaStation 1 war eine vollständige UNIX-Workstation, untergebracht in einem Gehäuse, welches eigentlich für externe CD-Brenner und Bandlaufwerke verwendet wurde. Das Gerät hatte keine Festplatte oder ein CD-ROM/Disketten-Laufwerk und war eher als “diskless” Workstation für Java-Anwendungen konzipiert. Verbaut war eine 110 Mhz MicroSPARC-CPU und maximal 64 MB Arbeitsspeicher. Vorinstalliert wurde ein proprietäres Betriebssystem namens “JavaOS“, eine Art abgespeckte Java-VM – es war aber auch möglich, Linux oder BSD zu installieren. Für 1996 war die JavaStation 1 ein kleines, aber leistungsfähiges Gerät.

 

SUN JavaStation 10

JavaStation 10

JavaStation 10 (Quelle: http://josekblog.blogspot.de/2008/09/sun-adelantados-su-tiempo.html)

Die JavaStation 10 war der größerer Bruder der JavaStation 1 und erinnerte optisch stark an eine Kaffeemaschine, weswegen das Gerät auch den Codenamen “Krups” erhielt. Das Gerät verfügt über eine 100 Mhz MicroSPARC-CPU und ebenfalls bis zu 64 MB Arbeitsspeicher. Es hatte eine stärkere Grafikkarte als die JavaStation 1 und brachte auch eine Soundkarte im Kaffemaschinen-Gehäuse unter.

 

SUN Voyager

SPARCstation Voyager

SPARCstation Voyager (Quelle: http://en.wikipedia.org/wiki/File:SPARCstation-voyager.jpg)

Einen Bildschirm mit integrierter Workstation brachte SUN unter dem Namen “Voyager” heraus. Das Gerät verfügte über einen 12″ Farbbildschirm  oder 14″ Schwarz-Weiss-Bildschirm mit bis zu 1024×768 bzw. 1152×900 Pixel. Verbaut war eine 60 Mhz MicroSPARC-CPU und bis zu 80 MB Arbeitsspeicher. Neben diversen parallelen und seriellen Ports fanden auch eine Soundkarte und ein Zugangskartenleser Platz im Gehäuse.

 

SUN IPX

IPX

IPX (links, Quelle: http://www.digibarn.com/collections/systems/xerox-intran-sun-ipx/index.html)

Die SUN IPX war die kleinste Workstation von SUN – auf der Größe eines handelsüblichen Telefonbuchs fanden eine 40 Mhz CPU und bis zu 64 MB Arbeitsspeicher Platz. Zum Zeitpunkt der Veröffentlichung (1991) war eine solche Leistung bei dieser Größe eine Seltenheit.

 

SUN Ultra 5

Ultra 5

Ultra 5 (Quelle: http://upload.wikimedia.org/wikipedia/commons/9/9b/SUN-Ultra5.jpg)

Die SUN Ultra 5 war die kleinste Workstation der Ultra-Serie von SUN. Im klassischen Pizzabox-Design vereinte sie eine UltraSPARC IIi-CPU mit bis zu 400 Mhz und maximal 512 MB Arbeitsspeicher. Neben einem Disketten- und CD-ROM-Laufwerk fanden auch eine IDE-Festplatte und eine Soundkarte Platz.

 

Es ist wirklich schade, dass diese Produkte eingestellt und nicht mehr weiterentwickelt wurden. SUN war ein wirklich innovativer Hersteller und ich bin mir sicher, dass noch einige innovative Produkte gefolgt wären, sofern die Nachfrage gestimmt hätte.

Offensichtlich sind UNIX-Workstations heutzutage nicht mehr gefragt – andere Hersteller, wie beispielsweise Hewlett-Packard, haben ihr Workstation-Geschäft ebenfalls eingedämmt, bieten keine aktuellen Workstations mehr an und schränken neue Betriebssystem-Versionen auf aktuelle Hardware ein. Schade, dass man diese großartigen Geräte so leise sterben lässt.

 

Bilderquellen

Die oben verwendeten Bilder stammen nicht von mir sondern von den folgenden Seiten – gemäß Creative Commons danke ich den Autoren für die Bereitstellung unter dieser Lizenz:

SUN 280R ohne RSC-Passwort entsperren

Blöd ist es, wenn man eine schöne SUN bekommt aber diese ein Passwort im RSC hat, das keiner kennt.

Genau das ist mir passiert. Nun habe ich mich endlich mal ein paar Tage rangesetzt und es geschafft, diese zu entsperren. Der Trick war relativ simpel – durch einen bestimmten Tastendruck zu einer bestimmten Zeit kann das NVRAM inklusive RSC, Konsolenweiterleitung, etc. umgangen werden. Nun kann man einfach ein Solaris inklusive RSC-Toolkit installieren und das Gerät entsperren.

Wer das Problem kennt und sich für meine Lösung interessiert, findet in meinem Wiki einen interessanten Beitrag. :)

CRUX Linux auf SPARC64

Wer Besitzer einer SUN-Maschine ist, hat mit dem Betriebsystem die Qual der Wahl. Windows kommt nicht in Frage und wäre auch nicht so schnell ohne weiteres zu bewerkstelligen. Kommt also BSD oder Linux in Frage. Erdenkbar wäre das offene Pedant zu Solaris: OpenSolaris. Wer bisher nur mit Linux intensiv gearbeitet hat, steht hier wie “der Ochs vorm Berg” und darf vieles neu lernen, was natürlich keineswegs spaßig ist. NetBSD und FreeBSD lassen sich übrigens gar nicht so leicht installieren, wie man denkt. Für die SPARC64-Architektur gibt es nicht einmal ein fertig Image, so müsste man von Floppy oder aus dem LAN booten und einen minimalistischen Kernel fahren, mit dem man dann den Kernel und die Programme installiert – von einem Medium, was man noch vorher aufwendig einbinden muss. Meines Erachtens nach ist das selbst für BSD/*nix-Veterane zu viel Arbeit. Also wäre eine Linux-Distribution auf der SPARC64-Architekturbasis nicht schlecht. Einige Distributoren geben Images für die Plattform an, darunter Ubuntu, Debian und CRUX. Da ich die Ultra 10 in diesem Beispiel als Server benutzen möchte, kommen also kein Ubuntu und Debian in Frage. Meiner Meinung nach sind diese Server für die Architektur etwas überladen – ferner mag ich apt nicht sonderlich.

Also wäre CRUX erdenkbar. CRUX ist eigentlich eine Distribution, welche speziell für i686 angepasst wurde und extrem minimalistisch ist. Ferner ist sie an BSD angelehnt und benutzt das Ports-System. Zur Vereinfachung gibt es einen Paketmanager, der automatisch per SVN die Quellcodes bezieht, kompiliert und die Anwendungen als Paket installiert: prt-get (an apt-get angelehnt).

Zurück zum Thema, es gibt neben der offiziellen i686-ISO von CRUX auch inoffizielle, leider auch z.T. nicht aktuelle Images für i486, i586 und auch SPARC64. Letzteres kann zur Installation auf der SUN Ultra 10 benutzt werden.

  1. Also, Image herunterladen, auf einen Rohling brennen und in die SUN einlegen.
  2. Nach der Speicherprüfung den automatischen Bootvorgang mit einem Druck auf STOP und A abbrechen.
  3. Sicherheitsmodus der SUN deaktivieren:
    setenv security-filter false
  4. Nun von der CD booten, ich hab hierzu ein IDE-Laufwerk benutzt:
    boot cdrom

    Hinweis: Bei SCSI-Geräten stellt sich das Ganze schwieriger dar. (Tipps siehe Linksammlung)

  5. Nun sollte der SILO-Bootloader von der CD geladen werden und einen Prompt anzeigen, bei welchem wir eingeben:
    boot: crux root=/dev/hdc

    Der Device-String muss natürlich an die Hardwarekonfiguration angepasst werden! Hier handelte es sich um ein IDE-CD Laufwerk, das auf Secondary Master gejumpert war. SCSI-CDs werden mit /dev/scd0 oder /dev/sdX deklariert. Der richtige Device-String ist wichtig, da sonst der Kernel die CRUX-Daten nicht findet und mit einem “kernel panic” abraucht.

  6. Ist CRUX hochgefahren, loggen wir uns mit root ein und widmen uns der Partionierung. Bei SCSI-Festplatten müssen vorher evtl. Treibermodule für den Controller noch geladen werden – die mit den SUN Ultra 10 verkaufen SCSI-Controller werden in der Regel automatisch erkannt und eingebunden.
    # fdisk /dev/hda

    Die Partionierung für die SUN-Kiste unterscheidet sich ein wenig von der für eine “normale” Linux-Kiste. So müssen das SUN disklabel ausgewählt und in der Regel 6 Partitionen erstellt werden:

    hda1 | kleiner als 2 GB (für alte SUNs, wie die Ultra 10) – ext3 /
    hda2 | SWAP ~512MB
    hda3 | “entire hard disk”
    hda4 | min. 2 GB – ext3 /tmp
    hda5 | min. 2 GB – ext3 /usr
    hda6 | Rest der Festplatte – ext3 /home

  7. Danach werden die Partitionen erstellen und gemountet, damit setup die Dateien kopieren kann:
    # mkfs.ext3 /dev/hda1
    # mkfs.ext3 /dev/hda4
    # mkfs.ext3 /dev/hda5
    # mkfs.ext3 /dev/hda6
    # mkswap /dev/hda2
    # swapon /dev/hda2
    # mount /dev/hda1 /mnt
    # mkdir /mnt/usr
    # mkdir /mnt/tmp
    # mkdir /mnt/home
    # mount /dev/hda4 /mnt/tmp
    # mount /dev/hda5 /mnt/usr
    # mount /dev/hda6 /mnt/home
    # setup
  8. Ist die Installation abgeschlossen, wird in das neue Linux “gechrootet”, damit es konfiguriert werden kann – außerdem muss noch der Kernel kompiliert werden:
    # mount --bind /dev /mnt/dev
    # mount --bind /tmp /mnt/tmp
    # mount -t proc proc /mnt/proc
    # mount -t sysfs none /mnt/sys
    # chroot /mnt /bin/bash
  9. Setzen wir zuerst das root-Passwort:
    # passwd
  10. Danach wird der Hostname in der /etc/rc.conf gesetzt:
    # vi /etc/rc.conf
  11. Nun folgt /etc/fstab – ohne diese findet CRUX nachher sonst nichts (Achtung: Das ist nur ein Beispiel!):
    /dev/hda1   /               ext3        noatime              0 1
    /dev/hda2   none            swap        sw                   0 0
    /dev/hda4   /usr            ext3        noatime              0 2
    /dev/hda5   /var            ext3        noatime              0 2
    /dev/hda6   /home           ext3        noatime              0 2
    
    # You must add the rules for openprom
    openprom    /proc/openprom  openpromfs  defaults             0 0
    
    /dev/cdrom  /mnt/cdrom      auto        noauto,user          0
  12. Einen Kernel brauchen wir auch noch:
    # cd /usr/src/linux-2.6-x.xx..
    # make menuconfig
    # make && make image modules_install
    # cp arch/SPARC64/boot/image /cruxSPARC
    # cp System.map /boot
  13. Als letztes folgt noch der SILO-Bootloader, alles andere folgt nach der Installation. In der SILO-Konfigurationsdatei müssen die Partitionsnummern und Kernelnamen angepasst werden.
    # vim /etc/silo.conf
    # cp /etc/silo.conf /boot
    # silo -C /boot/silo.conf
  14. Fertig und reboot:
    # init 6

So einfach gehts! :D

Anbei mal die CPU-Info meiner SPARC:

# cat /proc/cpuinfo
cpu             : TI UltraSparc IIi (Sabre)
fpu             : UltraSparc IIi integrated FPU
promlib         : Version 3 Revision 19
prom            : 3.19.4
type            : sun4u
ncpus probed    : 1
ncpus active    : 1
Cpu0Bogo        : 663.55
Cpu0ClkTck      : 0000000013d92d40
MMU Type        : Spitfire

SUN Ultra 10

Was man nicht alles so geschenkt bekommt – heute war eine SUN Ultra 10 dabei :D