HOWTO: Aktuelles Debian auf SUN Ultra 10

  • Ich wollte ein aktuelles Linux auf dem Rechner haben, da das aktuelle Solaris nicht mehr auf den alten Maschinen läuft. Ich dachte, ich schreib' die Besonderheiten auf, falls jemand das auch machen will.


    Die Specs sind:

    Ultra 10, 333MHz mit 384MB RAM (Dank an map ) und 2x40 GB IDE Festplatte, LSI SCSI-Controller als PCI-Karte und der Creator 3D Karte im UPA-Slot.


    Da Sparc64 bei Debian nur den "unofficial" Status hat und außerdem die Installations-CD nicht so ohne weiteres bootet, hab' ich erstmal bei Distrowatch nach allen geeigneten Distros gesucht und ein paar auf der Ultra 10 oberflächlich ausprobiert:

    • Gentoo. Die LiveCD läuft auch mit 128MB RAM. Allerdings ist Gentoo eine
      Sourcedistribution und eignet sich daher auf den alten Rechnern nur für Leute, die sowieso mit Strom heizen.
    • OpenBSD. Läuft auch auf Anhieb. Der Treiber für die Creator funktioniert
      allerdings nicht und die smartmontools kamen mit den IDE-Laufwerken nicht so zurecht.
    • NetBSD. Ist bei mir nicht hoch gekommen.
    • FreeBSD. Unterstützt ab der nächsten Version sparc64 nicht mehr.
    • Oracle Linux. Hab' ich nicht ausprobiert.

    Nachdem ich mit den Alternativen nicht glücklich wurde, habe ich mich doch näher mit Debian auseinandergesetzt. Wenn man die Grafik ausschaltet und den Computer über die serielle Schnittstelle anschließt, läuft die Installation doch (wenn man mehr als 128MB RAM hat):

    1. Das Debian sparc64 Installer Iso herunterladen und brennen
    2. Im OBP eingeben:
      setenv auto-boot? false
      setenv input-device ttya
      setenv output-device ttya
      setenv ttya-mode 38400,8,n,1,-
      reset-all
    3. und dann eine Konsole an den seriellen Port A hängen und mit boot cdrom booten

    Dann kommt nach einer Weile der normale Debian Installer und fast alles läuft wie gehabt. Es gibt noch ein paar Besonderheiten, die man beachten sollte:


    Es kann von jeder Disk gebootet werden. Man kann also ohne Probleme ein Betriebssystem pro Festplatte haben. Beim Installieren also einfach eine Platte auswählen. Die erste Partition wird zwingend für's booten benötigt.


    Das Layout auf der Platte ist etwas anders als bei Solaris. Die erste Partition ist die Bootpartition. Diese wird mit ext2 formatiert und startet bei Block 0. Im ersten (512-Byte) Block liegt die Sun Partitionstabelle, im zweiten der GRUB Bootblock und im dritten dann schon der Superblock des Filesystems. Der restliche Teil von GRUB wird dann im Filesystem eingebettet. Das hat ein paar Konsequenzen:


    Die Patitionstabelle sollte man nur mit

    fdisk -w never /dev/sdX

    anfassen. Ansonsten löscht fdisk den ext2-Superblock, was es fairerweise aber auch ankündigt.


    Wenn man GRUB neu installieren will braucht man die Optionen

    grub-install --skip-fs-probe --force /dev/sdX1

    es wird also in die erste Partition installiert. Außerdem sollte dazu die Partition /dev/sdX1 auf /boot gemountet sein. Wenn man da nicht aufpasst, schreibt GRUB in die falsche Partition und das System bootet nicht mehr. Es empfiehlt sich daher, von der Bootpartition ein Image zu machen,

    dd if=/dev/sdX1 | gzip > bootpartition.img.gz

    das man bei Bedarf wieder zurück schreiben kann

    gzip -cd bootpartition.img.gz | dd of=/dev/sdX1

    Dafür ist es praktisch, wenn die Bootpartition nur (wie vom Installer vorgeschlagen) um die 500MB hat.


    Den Treiber für die Creator3D Karte gibt es leider nur als Quellpaket. Ist aber auch nicht weiter schlimm. Von der offiziellen Debian Seite runterladen, die Abhängigkeiten mit apt installieren und mit dpkg-buildpackage -b compilieren. Danach mit dpkg -i installieren und die Creator läuft ohne weitere Konfiguration. Mit openbox und xdm schafft man's mit 384 MB RAM auch ohne eine Swaporgie XWindows zu starten.


    Auf meiner Ultra 1 läuft der Installer zwar, aber bisher bekomme ich GRUB nicht dazu, von der Platte zu booten... mal sehen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S