[OpenBSD]

OpenBSD/mvme88k


OpenBSD/mvme88k ist ein Versuch, OpenBSD auf die Systeme zu portieren, die auf der 88xxx-basierten VME Motherboard-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, aber dann 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 Hilfe 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; Mehrprozessor-Unterstützung wurde im März 2009 abgeschlossen, hörte aber nicht auf, obskure Fehler zu produzieren, die schließlich auf einen Prozessor-Platinenfehler zurückgeführt werden konnten, welcher wiederum seit April 2010 als »abgehakt« betrachtet werden kann.


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 gibt es allerdings keinen Hinderungsgrund, sie eines Tages zu unterstützen.


OpenBSD/mvme88k beziehen und installieren:

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

Schnappschüsse werden von Zeit zu Zeit hier zur Verfügung gestellt, sowie auf ein paar Spiegelservern. Hier sind ebenfalls die OpenBSD/mvme88k Schnappschuss-Installationsanweisungen verfügbar.


Hardware Details:

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 MVME197DB-Systems.

[ using 205464 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-2010 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.7-current (GENERIC.MP) #308: Thu Apr 15 21:09:19 GMT 2010
    miod@arzon.gentiane.org:/usr/src/sys/arch/mvme88k/compile/GENERIC.MP
real mem = 134217728 (128MB)
avail mem = 125927424 (120MB)
mainbus0 at root: Motorola MVME197, 50MHz
cpu0: M88110 version 0xf, 8K I/D caches
cpu0: external M88410 cache controller
cpu1: M88110 version 0xf, 8K I/D caches
cpu1: 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
scsibus0 at osiop0: 8 targets, initiator 7
osiop0: target 0 now using 8 bit 10 MHz 8 REQ/ACK offset xfers
sd0 at scsibus0 targ 0 lun 0: <SAMSUNG, WN34324U (gm030), 0105> SCSI2 0/direct fixed
sd0: 4120MB, 512 bytes/sec, 8438976 sec total
osiop0: target 1 now using 8 bit 10 MHz 8 REQ/ACK offset xfers
sd1 at scsibus0 targ 1 lun 0: <QUANTUM, FIREBALL_TM3200S, 300X> SCSI2 0/direct fixed
sd1: 3067MB, 512 bytes/sec, 6281856 sec total
vme0 at pcctwo0 offset 0x40000
vme0: using BUG parameters
vme0: 1phys 0x08000000-0xefff0000 to VME 0x08000000-0xefff0000
vme0: vme to cpu irq level 1:1
vmes0 at vme0
vmel0 at vme0
ie0 at pcctwo0 offset 0x46000 ipl 3: address 08:00:3e:23:ed:e8
vscsi0 at root
scsibus1 at vscsi0: 256 targets
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/rsd0f: file system is clean; not checking
/dev/rsd1a: file system is clean; not checking
/dev/rsd0d: file system is clean; not checking
/dev/rsd0h: file system is clean; not checking
/dev/rsd0e: 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 ntpd.
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.
Thu Apr 15 21:12:51 GMT 2010

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

login: 

Unterstützte Plattformen
www@openbsd.org
$OpenBSD: mvme88k.html,v 1.51 2011/12/28 13:38:29 ajacoutot Exp $