OpenBSD/sparc
OpenBSD/sparc fonctionne sur la plupart des stations de travail Sun
SPARC 32bit, y compris les familles d'architectures sun4, sun4c, sun4e et
sun4m (mais pas les machines UltraSPARC 64bit, qui sont supportées par
OpenBSD/sparc64).
Une liste de diffusion dédiée au port OpenBSD/sparc est disponible à
l'adresse sparc@openbsd.org. Pour
vous inscrire à la liste de diffusion OpenBSD/sparc, envoyez un message
dont le corps contient "subscribe sparc" à majordomo@openbsd.org. Veuillez
lire notre politique des listes de diffusion
avant de vous inscrire.
Table des matières
Historique :
Le port 4.4BSD d'origine a été fait par Chris Torek comme contrat avec
LBL. Le code fut mis à disposition par Chris au milieu de 1993, et Theo
de Raadt l'a mis en forme pour l'arborescence NetBSD. Theo et Markus
Wild travaillèrent à l'amélioration du code d'origine de compatibilité
SunOS de Chris afin d'en faire une émulation très complète et fiable.
Chuck Cranor a porté le code sun4c à l'architecture sun4 de taille de
page 8KB, et Theo a fusionné ce code de telle manière à permettre au
même noyau et aux mêmes programmes de fonctionner aussi bien sur les
machines sun4c que sur les machines sun4 (contrairement aux
environnements noyau séparés de Sun). Cette dernière modification a
aussi nécessité la réécriture du code de configuration des
périphériques. Juste après la sortie de la version 1.0 de NetBSD/sparc,
Peter Galbavy a écrit un pilote ESP de périphérique SCSI en remplacement
du code SCSI spécifique sparc de Chris.
A ce moment, un conflit est apparu entre Theo et les autres personnes
avec qui il avait initié le projet NetBSD, et Theo fut forcé par le
noyau dur de NetBSD de se désaffilier. Après que Theo eût quitté NetBSD,
peu de personnes au sein du groupe NetBSD firent des modifications au
niveau du port : Paul Kranenburg a porté un lecteur de disquettes et a
commencé à écrire le support pour le 4/400. Chuck a passé de nombreuses
et longues heures à travailler sur les pilotes de périphériques ie, xy,
et xd.
Theo a continué à travailler de manière indépendante, et a effectué un
certain nombre d'ajouts : support P4, stratégie de démarrage flexible,
quelques pilotes graphiques avec l'aide de John Stone, et une masse de
correctifs de bogues.
Le portage d'OpenBSD/sparc à sun4m a été commencé par Theo, mais des
problèmes de tendinite au niveau de ses poignets combinés à des
problèmes avec le noyau dur de NetBSD l'ont amené à arrêter ce travail.
Le travail initial sur sun4m fut transmis à Aaron Brown de Harvard, qui
était payé par les fonds de recherche de Margo Seltzer. Ce travail
consista principalement à quelques tentatives pour construire une
structure pmap qui pourrait supporter les 3 types MMU de manière
efficace. David Miller du projet UltraLinux s'est aussi intéressé un peu
à la question.
Theo et Jason Downs ont intégré le code sparc NetBSD dans OpenBSD,
rendant ainsi OpenBSD/sparc utilisable à nouveau. Jason Wright a écrit
quelques nouveaux pilotes Ethernet SBus à partir d'informations de la
part du projet UltraLinux et a intégré quelques bouts à partir des
sources NetBSD pour améliorer la stabilité de cette architecture. Le
temps s'écoulant, Art Grabowski a fixé divers problèmes de stabilité et
de fiabilité, et a ajouté la pile et le tas non-exécutables sur les
machines sun4m. Le code pour le framebuffer et la console a été
complètement remodelé pour OpenBSD 3.2, ce qui a eu pour effet
d'améliorer la vitesse d'affichage avec certains framebuffers et de
supporter plus de cartes.
Et le travail continue...
État actuel :
Actuellement, tout le matériel listé dans la section matériel supporté ci-dessous démarre en
multi-utilisateurs, et supporte assez de périphériques (si ce n'est pas
tous les périphériques) embarqués pour être généralement utilisable. Un
nombre grandissant de cartes SBus fabriquées par des tierces est aussi
supporté.
Le système X-Window fonctionne sur tous les framebuffers supportés, y
compris les configurations multi-écrans. Aucun serveur accéléré n'est
fourni pour le moment, bien que nous y travaillons.
Il est important de noter qu'OpenBSD/sparc est conçu de telle manière à
ce qu'un seul noyau puisse fonctionner sur TOUTES les
machines SPARC SUPPORTEES. Alors que SunOS et Solaris
ont toujours eu des 'architectures noyau' séparées, i.e. sun4, sun4c, sun4e et
sun4m. Le même noyau OpenBSD `GENERIC' fonctionnera sur tous les modèles
supportés.
La plupart des problèmes rencontrés avec OpenBSD/sparc semblent provenir
de la grande variété des processeurs SPARC et des implémentations de la
cache qui ont souvent leurs propres bogues non documentés, plutôt que de
problèmes généraux avec le noyau. Un retour d'expérience sur les modèles
dont le fonctionnement est fiable ou non est apprécié, particulièrement
sur les nouveaux modèles ou les mises à jour.
Projets (sans ordre particulier) :
- Supporter les systèmes multi-processeurs
- Écrire des pilotes pour les périphériques non supportés (audio,
framebuffer...)
- Fournir un serveur X accéléré pour le framebuffer cgsix
- Intégrer les travaux utiles à partir de NetBSD
Matériel supporté :
Machines supportées
- sun4 : les séries VME
- 4/100 : SPARC originale avec VME. Nombreux problèmes matériel.
- 4/200 : Une machine plutôt fiable avec VME uniquement.
- 4/300 : Une machine VME à 25MHz avec de nombreux périphériques
intégrés à la carte principale. Par d'autres de ses
aspects, elle est assez similaire à la SS1+.
- sun4c :
- SS1 : La sun4c à 20MHz d'origine (des limitations matérielles
empêchent les périphériques SBus DMA de fonctionner dans
certains slots).
- SS1+ : La version 25MHz de la machine ci-dessus. (Des
limitations matérielles empêchent les périphériques SBus DMA
de fonctionner dans certains emplacements).
- IPC : SS1+ dans un cube, avec une carte graphique bwtwo
intégrée
- SLC : SS1+ intégrée dans un moniteur N&B
- SS2 : Version 40MHz de la SS1
- IPX : SS2 dans un cube, avec une carte graphique cgsix intégrée
- ELC : La performance SS2 intégrée dans un moniteur N&B
- sun4e:
- SPARCengine 1e : Un 6U VME croisement d'une sun4 et sun4c,
similaire à une Sun 4/300 avec une interface OpenPROM.
- sun4m :
- 600MP : La machine Sun4m d'origine. C'est une machine mbus avec des bus SBus et VME.
- LC : machines à base de MicroSPARC-1 à 50MHz (aka Classic)
- LX : LC avec un peu plus de périphériques
- SS4 : Une version de SS5 à coût réduit, disponible en 70MHz et
110MHz
- SS5 : Machines à base de MicroSPARC-2 disponibles en versions
60, 70, 85, et 110 MHz
- SS5 : Machines SS5 équipées de processeurs TurboSPARC cadencés
à 170 MHz
- SS10 : Machine au format Pizzabox à base de mbus
- SS20 : Machine améliorée au format Pizzabox à base de mbus
- Sun Voyager
Les clones SPARC suivants sont aussi supportés :
- Aries Research Inc, Parrot II (clone SS2)
- Axil 243 et 245 (et probablement d'autres modèles) (clones SS5)
- Axil 320 (clone SS20)
- CPU5V : Carte VME par Force Computer (sun4m)
- DTKstation/Classic+
- Fujitsu S-4/Leia2 (portable MicroSPARC-2)
- Goldstar GWS-40 (clone SS2)
- Opus 5000 (clone SS1)
- Opus 5250 (clone SS1)
- RDI,BrigeLite
- RDI,PowerLite : modèles sun4m, disponibles en 50MHz, 85MHz, et
110MHz
- Solair WS19L (clone SS10)
- SPARCbook 3, 3GS, 3GX, 3TX et 3XP par Tadpole (MicroSPARC-2)
- TWS,SuperCOMPstation-20S (clone SS20)
- Tatung micro COMPstation 5 (clone SS5)
- Tatung micro COMPstation LX (clone LX)
- Transtec SS5/170
Périphériques supportés
La liste suivante de périphériques déclare essentiellement que n'importe
quelle machine "standard" "SPARCstation" ou "SPARCserver" sun4c ou sun4m
fonctionnera probablement; la prudence est de rigueur avec les machines
sun4 et sun4e.
- Modules processeurs Mbus
- SM30 : SuperSPARC 30 ou 36 MHz sans cache secondaire
- SM40 : SuperSPARC 40 MHz sans cache secondaire
- SM41 : SuperSPARC 40 MHz avec un cache secondaire de 1MB
- SM50 : SuperSPARC 50 MHz sans cache secondaire
- SM51 : SuperSPARC 50 MHz avec un cache secondaire de 1MB
- SM51-2 : SuperSPARC 50 MHz avec un cache secondaire de 2MB
- SM61 : SuperSPARC 60 MHz avec un cache secondaire de 1MB
- SM61-2 : SuperSPARC 60 MHz avec un cache secondaire de 2MB
- SM71 : SuperSPARC 75 MHz avec un cache secondaire de 1MB
- SM81 : SuperSPARC 85 MHz avec un cache secondaire de 1MB
- SM81-2 : SuperSPARC 85 MHz avec un cache secondaire de 2MB
- SM100 : Cypress 7C605 dual 40 MHz avec un cache primaire de 64KB
- Ross HyperSPARC RT620/RT625 à 90MHz, avec 256KB de cache
primaire
- Ross HyperSPARC RT620/RT625 à 125MHz, avec 256KB de cache
primaire
- Ross HyperSPARC RT620/RT625 à 150MHz, avec 512KB de cache
primaire
- Ross HyperSPARC RT620/RT625 à 166MHz, avec 512KB de cache
primaire
- Ross HyperSPARC RT620/RT625 à 180MHz, avec 512KB de cache
primaire
- Clavier et souris Sun
- Claviers Type 2, 3, 4, et 5 avec différentes mises en forme
(zskbd)
- Lecteurs de disquettes
- Lecteur de disquette sun4c et sun4m
- Ports série
- Ports série ttya et ttyb intégrés
(zs)
(peuvent être utilisés comme console si nécessaire)
- Ports série ttyc et ttyd 4/300 intégrés
(zs)
- Cartes port série SBus magma, incluant : 4Sp, 8Sp, 12Sp,
16Sp, LC2+1Sp, 2+1Sp, 4+1Sp, 8+2Sp, et 2+1HS Sp.
(magma)
- Interfaces Série/Parallèle SBus (SUNW,spif, 501- 1931)
(spif)
- Support audio
- Support audio intégré pour les systèmes équipés des puces
audio 8-bit (ceci comprend les modèles sun4c, SPARCclassic, et
600MP)
(audioamd)
- Puces audio 16-bit SUNW,CS4231 présentes sur SPARCstation 4/5
(audiocs)
- Framebuffers
- Vidéo SBus et sun4c/sun4m intégrée :
- bwtwo
- noir et blanc
- cgthree
- couleur 8-bit, non-accéléré
Le pilote cgthree
supporte aussi le cgRDI, un framebuffer intégré semblable
au cgthree disponible sur certains portables.
- cgsix
- couleur 8-bit, accéléré (GX, GX+, TGX, TGX+).
Ceci
devrait fonctionner avec les émulations ou clones les plus
fidèles de cgsix SBus.
- cgtwelve
- couleur 24-bit , accéléré (mais le pilote ne supporte pas
l'accélération matérielle)
- cgfourteen
- couleur 8 ou 24-bit, accéléré (mais le pilote ne supporte
pas l'accélération matérielle)
- Fujitsu AG-10e
(agten)
- couleur 24-bit , accéléré (à l'heure actuelle, uniquement
supporté en mode 8-bit non-accéléré)
- Parallax XVideo et PowerVideo
(tvtwo)
- couleur 24-bit, accéléré (mais le pilote ne supporte pas
l'accélération matérielle)
- Famille RasterFlex
(rfx)
- couleur 8/24-bit, accéléré (actuellement supportée mais
uniquement en mode 8-bit non accéléré
- Southland Media Systems MGX et MGXPlus
(mgx)
- couleur 24-bit, accéléré (à
l'heure actuelle, uniquement supporté en mode 8-bit non-
accéléré)
- tcx
- couleur 8 ou 24-bit, accéléré
- Framebuffers SBus
Vigra
VS10, VS11 et VS12 - couleur 8-bit, non-accéléré, VGA et
modes vidéo compatibles Sun sélectionnables
- Weitek Power9000
(pninek)
- disponible sur Tadpole SPARCbook 3 (accéléré couleur
8-bit)
- Weitek Power9100
(pnozz)
- disponible sur Tadpole SPARCbook 3GS, 3GX, 3TX et 3XP
(accéléré couleur 8-bit, 16-bit ou 32-bit)
- ZX
(aka Leo) - couleur 8 ou 24-bit, niveaux de
recouvrement, double-tampon, accélération 3D *
- bwtwo intégré sur 4/200
bwtwo
- P4 video (4/100 et 4/300) :
- bwtwo
-noir et blanc
- cgthree
- couleur 8-bit, non-accéléré
- cgfour
- couleur 8-bit, 1-bit de recouvrement, non-accéléré
- cgsix
- couleur 8-bit, accéléré
- cgeight
- couleur 24-bit, 1-bit de recouvrement, non-accéléré
- VME video (sun4) :
- cgtwo
- couleur 8-bit, non-accéléré
- cgthree
- couleur 8-bit, non-accéléré
- cgsix
- couleur 8-bit, non-accéléré
- Adaptateurs Ethernet
- Ethernet AMD Lance intégré
(le)
- Cartes Ethernet SBus AMD Lance
(le)
- Cartes SBus contenant à la fois AMD Lance
(le)
et SCSI
(esp)
- Ethernet intégré Intel 82586 4/100 et 4/200
(ie)
- Cartes Ethernet VME Intel 82586
(ie)
- Cartes FastEthernet SBus 10/100Mbit contenant un qec+be
(SUNW,501-2450) (alias Sun Fast Ethernet 1.x)
(be)
- SBus Quad 10Mbit qec+qe sur cartes Ethernet Sun Quad (SUNW,501-2062)
(qe)
- Cartes Ethernet SBus 10/100Mbit hme
(hme)
*
- Cartes Ethernet+SCSI SBus 10/100Mbit SunSwift SUNW, fas
(hme)
*
- Cartes Ethernet SBus Quad 10/100Mbit hme et qfe
(Sun Quad Fast Ethernet 2.x)
(hme)
*
- SBus Gigabit Ethernet 1.0/1.1
(ti)
*
- SBus Gigabit Ethernet 2.0
(gem)
*
- Contrôleurs SCSI
- Contrôleurs SCSI intégrés "esp" (sun4c, sun4e, sun4m et 4/300)
(esp)
- Contrôleurs SCSI SBus (Fonctionne aussi avec plusieurs cartes compatibles
d'autres constructeurs)
(esp)
- Cartes SBus contenant AMD Lance et scsi
(esp)
- Cartes SBus SUNW, fast Ethernet+SCSI
(esp)
*
- Contrôleurs SCSI VME "SUN-3"/"si" (DMA par interruption)
(si)
- Contrôleurs intégrés 4/110 "SCSI Weird"/"sw" (DMA par polling)
(sw)
- Contrôleurs SCSI QSP/ISP (i.e. "PTI,ptisp", "ptisp",
"SUNW,isp" et "QLGC,isp")
(isp)
- SMD et autres contrôleurs disque
- Contrôleur disque Xylogics 7053 VME SMD
(xd)
- Contrôleur disque Xylogics 450/451 VME SMD
(xy)
- Cartes PCMCIA (PC Card)
- Adaptateurs PCMCIA :
- Pont SBus PCMCIA
(stp)
- Adaptateur PCMCIA Tadpole
(tslot)
- Adaptateurs Compact Flash/PCMCIA WaveLAN/IEEE, PRISM 2-3, et
Spectrum24 IEEE 802.11b
(wi)
- Adaptateurs Ethernet à base de NE2000
(ne)
- 3Com EtherLink
(ep)
LAN PC Cards
- Divers
- Sous-système d'extension SBus (SUNW, xbox)
(xbox)
- Pont VME/SBus Force FGA5000
(fga)
- Registres de configuration système
(scf)
- Mémoire flash Force
(flash)
- Micro-contrôleurs Tadpole (contrôle du système/ de l'alimentation)
(tctrl)
- Cartes Prestoserve NVRAM SBus (support limité)
(presto)
* Non supportées sur les machines de classe
sun4c et sun4e à cause de limitations au niveau de la PROM.
Support ajouté après 3.5.
Machines non supportées
- sun4: 4/400 (manque le support pour le cache I/O et a des
problèmes ethernet)
- machines sun4d
- SPARC Server 1000
- SPARC Center 2000
Ces machines utilisent un XD-Bus au lieu d'un M-Bus pour leurs
processeurs, non supporté à l'heure actuelle.
- JavaStation-NC (manque le support du bus PCI de cette machine)
- sun4u : machines UltraSPARC 64-bit. La plupart d'entre elles sont
supportées par le port OpenBSD/sparc64.
- Machines Solbourne : ces machines sont assez différentes, et
quelques unes ont des bogues au niveau processeur. Certaines
d'entres elles sont supportées par le port
OpenBSD/solbourne.
- Tadpole SPARCbook 1, LC et 2: ces machines utilisent des composants
non usuels et ne possède pas de PROM compatible SUN.
Périphériques non supportés
Tout d'abord, il y a de NOMBREUX périphériques non supportés. Une
liste exhaustive ne peut pas être dressée.
- Cartes série
- Cartes série VME mti 16-port
- Cartes série VME alm2 16-port
- Cartes série VME mcp 4-port (ou est-ce 8-port)
- Contrôleurs de disque et de bande
- Contrôleurs SCSI VME "sc"
- Contrôleurs IPI VME
- Contrôleur de bande VME "xt"
- Frame buffers
- VME cgfive, couleur 8-bit, 1-bit d'overlay, double buffer,
non-accéléré sans GP/GP2
- VME cgnine, couleur 24-bit, 1-bit d'overlay, double buffer,
non-accéléré sans GP/GP2
- VME GP/GP2 Graphics Processor (pilote un cgfive ou un cgnine)
- SBus cgeight couleur 24-bit, non-accéléré (note : SBus
cgeight est assez différent des cgeight VME/P4)
- SBus GT, couleur 24-bit, couleur 8-bit, plusieurs plans de
recouvrement, double buffer, accélération 3-D (aka Graphics
Tower)
- Audio et ISDN intégrés
Ceci est disponible
sur certains systèmes sun4m (LX, LC, SPARCstation 10/20).
- Processeurs/modules multiples sur systèmes
sun4m
OpenBSD ne démarre actuellement pas sur
certaines machines avec plusieurs processeurs. Si c'est le cas,
vous devez retirer les processeurs supplémentaires.
- SBus SUNW,bpp (port parallèle)
Un pilote
existe dans l'arbre source, mais il ne fonctionne pas. Aucun des
développeurs n'a d'imprimante ou de câble pour y travailler et le
faire marcher mais nous préfererions vraiment avoir un pilote qui
marche.
- Cartes FDDI SBus
- Cartes SBus autres que celles listées ci-dessus...
Documentation portant sur le matériel
:
Avant 2007, il était très difficile voire impossible d'obtenir la
documentation nécessaire relative à ces machines. Des membres de notre
équipe (David Gwynne en particulier) ont joué un rôle clé pour faire
pression et convaincre Sun de chercher les informations dans leurs
archives; informations décrivant le fonctionnement des puces
électroniques à leurs propres ingénieurs. Ces documents peuvent
maintenant être consultés à l'adresse
http://wikis.sun.com/display/FOSSdocs/Home.
Certains documents sont encore manquants sur ce site, nous demandons
donc aux développeurs intéressés de contacter Sun afin d'obtenir de plus
amples informations.
Obtenir et installer OpenBSD/sparc :
La dernière version disponible et supportée d'OpenBSD/sparc est
OpenBSD 5.2.
Voici les
instructions d'installation d'OpenBSD/sparc 5.2.
Des snapshots sont mis à disposition, à
cet endroit
ainsi que sur quelques miroirs. Voici de même les
instructions d'installation OpenBSD/sparc snapshot.
Plusieurs médias d'installation sont fournis, afin de permettre une
installation ou une mise à jour d'OpenBSD/sparc via le CD et grâce aux
images disques de démarrage sur sun4c et sun4m, aux images miniroot pour
les machines sans lecteurs de disquette (comme les machines sun4); vous
pouvez aussi effectuer une installation diskless ou via le réseau.
- Démarrage à partir du CD
Le démarrage à partir du CD fournit un petit système de fichiers
ffs avec un noyau GENERIC avec des pilotes pour tous les
périphériques qu'on peut trouver sur les machines SPARC.
Pour la liste la plus récente des périphériques supportés par
cette image, regardez le fichier de configuration noyau
GENERIC.
Il est possible de démarrer le CD à partir du prompt OpenPROM à
l'aide de la commande
boot cdrom 5.2/sparc/bsd.rd
- Disquette (floppy52.fs)
Le démarrage à partir de la disquette fournit un petit système
de fichiers ffs avec un noyau contenant les pilotes pour les
périphériques les plus communs sur les machines SPARC.
Pour
la liste la plus récente des périphériques supportés par cette
image, regardez le fichier de configuration noyau
RAMDISK
Il est possible de démarrer la disquette à partir du prompt
OpenPROM à l'aide de la commande
boot floppy
- Miniroot (miniroot52.fs)
Le miniroot fournit le même environnement d'installation que le
CD bootable, et il est destiné à faciliter le "bootstrap" s'il y
a déjà un système d'exploitation installé sur la machine. Après
avoir copié le miniroot sur la partition swap primaire à l'aide
de dd, le miniroot peut être démarré à partir du prompt OpenPROM
à l'aide d'une commande telle que
boot disk:b
(La désignation du disque peut être différente, selon la
partition swap choisie).
- Netboot (boot.net, bsd.rd)
En utilisant une configuration "diskless", il est aussi possible
de démarrer le chargeur de démarrage OpenBSD/sparc,
boot.net, à partir du réseau via tftp, et accéder au
miniroot indépendant bsd.rd par NFS. Pour de plus
amples informations concernant la configuration de
l'environnement de démarrage réseau, veuillez consulter la page
de manuel
diskless(8).
www@openbsd.org
$OpenBSD: sparc.html,v 1.92 2012/11/24 07:34:37 ajacoutot Exp $