[OpenBSD]

OpenBSD/mvme88k


OpenBSD/mvme88k ist ein Versuch, OpenBSD auf die Systeme zu portieren, die auf der 881x0-basierten Motherboards-Familie von Motorola aufbauen.

Eine Mailingliste für die m88k-basierten Portierungen ist unter m88k@openbsd.org erreichbar. Um die OpenBSD/m88k-Mailingliste zu abonnieren, sende eine E-Mail mit dem Inhalt »subscribe m88k« an majordomo@openbsd.org. Bitte lies vorher unsere Mailinglistenrichtlinie.

Der momentane Verantwortliche für die Portierung ist Miod Vallat (miod@openbsd.org), mit Hilfe von Steve Murphree. Andere sind selbstverständlich dazu eingeladen, ebenfalls teilzunehmen.

Inhaltsverzeichnis


Geschichte:

Dem Motorola-88k-Prozessor wird nachgesagt, der beste RISC-Prozessor zu sein, der jemals erdacht wurde. Seine kombinierte Einfachheit und Eleganz machen den mvme88k zu einer aufrichtigen, robusten Plattform.

Nivas Madhur hat die erste mvme88k-Portierung für die MVME187-Karte angefangen, hat aber seitdem den Arbeitgeber gewechselt. Die Portierung wurde durch Dale Rahn in den OpenBSD-Tree gebracht, aber er hatte nicht genügend Zeit, um an ihr zu arbeiten. Steve Murphree, Jr. hat die Portierung für die MVME187 im November 1998 letztendlich abgeschlossen.

Leider hat ein Compilerupdate von gcc 2.8.1 zu egcs, der zur gleichen Zeit stattfand, eine Menge Probleme in der mvme88k-Unterstützung des gcc offengelegt, welche nicht rechtzeitig korrigiert werden konnten, als dass mvme88k ein unterstütztes OpenBSD-2.5-Release hätte werden können.

Das fehlen einer ,in-tree toolchain' hielt weitere Arbeit an dieser Portierung nicht ab und viele Änderungen wurden an der Codebasis durchgeführt, wie zum Beispiel die Überarbeitung von autoconf und dem on-board SCSI-Treiber, die große Erweiterung der VME-Bus-Unterstützung, eine funktionsfähige Installationsroutine, die auf korrekte Weise einen Motorola-VID-Block auf der Platte erstellt und Unterstützung für MVME188 und besserer Unterstützung für MVME197.

Während dem Sommer in 2003 führte letztendlich eine Bemühung, die ,toolchain' zu korrigieren, zu einem funktionionsfähigen gcc-2.95-Compiler und ermöglichte es der Portierung wieder, selbsterzeugend zu sein. Mit der Hife von Mark Kettenis hat die ,toolchain'-Bemühung schlussendlich dazu geführt, dass binutils und gdb seit dem späten Mai 2004 funktionieren.

Im Sommer 2005 wurde mit der Arbeit zur Unterstützung von Multiprozessoren auf MVME188-Boards begonnen und wurde schließlich nach vielen langwierigen Fehlerbereinigungen kurz nach der Veröffentlichung von 4.2 im November 2007 beendet.

Der nächste Schritt war, die 88110-basierten MVME197-Designs einsetzen zu können. Einzelprozessor-Kernel können seit Dezember 2007 zuverlässig betrieben werden.


Momentaner Status:

Zurzeit booten MVME187-, MVME188- und MVME197-Boards sowie ähnliche Designs und unterstützen die meisten on-board Geräte. Es gibt allerdings immer noch ein paar kleine Probleme; je nachdem, wie dein exakter Hardwareaufbau ist, kann die Anzahl dieser variieren. Es wird daran gearbeitet, die übrig gebliebenen Probleme zu lösen und weitere Boards zuverlässig zu unterstützen.


Projekte (in keiner bestimmten Reihenfolge):


Unterstützte Hardware:

Unterstützte Prozessor-Boards

Neben den Komplettsystemen von Motorola (M8120, series 900 etc.), läuft diese Portierung ebenfalls auf dem MVME187-basierten Triton Dolphin System 100.

Unterstützte on-board Geräte

Unterstützte VME-Boards

Nicht unterstütze Prozessor-Boards

Diese Boards werden zurzeit nicht unterstützt. Abgesehen von fehlender Hardware hindert nichts daran, sie eines Tages zu unterstützen.


OpenBSD/mvme88k beziehen und installieren:

Das neueste unterstützte OpenBSD/mvme88k-Release ist OpenBSD 4.6. Hier sind die OpenBSD/mvme88k-4.6-Installationsanweisungen.

Snapshots werden von Zeit zu Zeit hier zur Verfügung gestellt, sowie auf ein paar ,mirrors'. Hier sind ebenfalls die OpenBSD/mvme88k-Snapshot-Installationsanweisungen verfügbar.


Hardwaredetails:

Da VME-Hardware bei den typischen Verkäufern recht ungewöhnlich ist und Motorola-881x0-basierte Hardware noch seltener ist, existiert diese Sektion, um die häufig anzutreffende Kuriosität über die mvme88k-Hardware zufrieden zu stellen.

Eine umfangreiche Referenz über den m88k-Prozessor und die unterschiedlichen Designs, die auf diesem basieren, wurde von Paul Weissmann auf badabada gesammelt.

Bilder des Motorola-900-modular-Gehäuses, mit einem 33-MHz-MVME187-CPU-Board, 32 MB RAM, 4 MVME332XT seriellen Boards und einem Archive-250-MB-QIC-Bandlaufwerk.

Dies ist eine Bootaufzeichnung eines MVME197-Systems.

[ using 179870 bytes of bsd a.out symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2007 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.2-current (GENERIC) #178: Tue Dec 25 20:55:33 GMT 2007
    miod@ramade.gentiane.org:/usr/src/sys/arch/mvme88k/compile/GENERIC
real mem = 402653184 (384MB)
avail mem = 384249856 (366MB)
mainbus0 at root: Motorola MVME197, 50MHz
cpu0: M88110 version 0xf, 8K I/D caches
cpu0: external M88410 cache controller
bussw0 at mainbus0 addr 0xfff00000: rev 4
pcctwo0 at bussw0 offset 0x0: rev 0
nvram0 at pcctwo0 offset 0xc0000: MK48T08
cl0 at pcctwo0 offset 0x45000 ipl 3: console
osiop0 at pcctwo0 offset 0x47000 ipl 2: NCR53C710 rev 2, 50MHz, SCSI ID 7
scsibus0 at osiop0: 8 targets
vme0 at pcctwo0 offset 0x40000: system controller
vme0: using BUG parameters
vme0: 1phys 0x18000000-0xefff0000 to VME 0x18000000-0xefff0000
vme0: vme to cpu irq level 1:1
vmes0 at vme0
le0 at vmes0 addr 0xffff1200 ipl 3 vec 0x80: address 00:00:77:83:ac:56
le0: 128 receive buffers, 32 transmit buffers
vs0 at vmes0 addr 0xffff9000 ipl 2 vec 0x81 vec 0x82: SCSI ID 7/7
scsibus1 at vs0: 8 targets
sd0 at scsibus1 targ 0 lun 0: <COMPAQPC, DCAS-32160, S6CA> SCSI2 0/direct fixed
sd0: 2006MB, 8188 cyl, 3 head, 167 sec, 512 bytes/sec, 4110000 sec total
scsibus2 at vs0: 8 targets
vmel0 at vme0
ie0 at pcctwo0 offset 0x46000 ipl 3: address 08:00:3e:23:ed:e8
softraid0 at root
boot device: sd0
root on sd0a swap on sd0b dump on sd0b
Automatic boot in progress: starting file system checks.
/dev/rsd0a: file system is clean; not checking
/dev/rsd0d: file system is clean; not checking
/dev/rsd0e: file system is clean; not checking
/dev/rsd0h: file system is clean; not checking
/dev/rsd0f: file system is clean; not checking
/dev/rsd0g: file system is clean; not checking
setting tty flags
ddb.console: 0 -> 1
kern.splassert: 1 -> 2
starting network
starting system logger
starting initial daemons: portmap ypbind rdate timed.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files
starting network daemons: sendmail inetd sshd.
starting local daemons:.
standard daemons: cron.
Tue Dec 25 20:58:47 GMT 2007

OpenBSD/mvme88k (ramade.gentiane.org) (console)

login:

Unterstütze Plattformen
www@openbsd.org
$OpenBSD: mvme88k.html,v 1.48 2009/11/16 12:38:12 ajacoutot Exp $