Versuch die Installationdisketten von PRO/VENIX wiederherzustellen

  • Liebe Leute,


    ich habe kürzlich eine Kopie von Images der Installationsdisketten der letzten Version des Betriebssystems Venix für den DEC Professional 380 erhalten. Es handelt sich dabei im die Version PRO/VENIX 2.0:


    Diese Version unterscheidet sich erheblich von der im Netz überall verfügbaren Version VENIX/PRO 2.0 die sich bei der Installation mit PRO Version 1.1 meldet:


    Zu Beispiel ist in dieser neueren PRO/VENIX 2.0 Version ein Kernel-Konfigurator enthalten mit dessen hilfe man zusätzliche Hardware wie eine 4-Fach Serielle Schnittstelle einbinden kann. Die Version ist praktisch gleich mit der Version, die es auch für die ersten Intel x86 PCs gegeben hat.


    Leider wurde offenbar beim Erstellen der Diskettenimages fälschlich die "System Area Diskette #1" mit dem Inhalt der "User Area Diskette #2" überschrieben. Dadurch ist das System leider unvollständig und kann auch nicht installiet werden:

    Um die Installationsmedien zu rekonstruieren würde ich entweder eine Kopie der fehlenden Diskette benötigen, oder irgend jemanden, der zufällig einen DEC Professional 380 besitzt, auf dem PRO/VENIX 2.0 installiert ist und der mir eine Kopie der Dateien im "/usr" Verzeichniss anfertigen kann. Damit solle ich in der Lage sein, die fehlende Installationsdiskette zu rekonstruieren.


    Es wäre toll wenn jemand hier helfen könnte, ich werde natürlich das Ergebnis hier dann zur Verfügung stellen. So wie ich verstanden habe, ist auch ein Kernel für den DEC Professional 350 in den Disketten enthalten.


    Danke im Voraus an alle und liebe Grüße aus Österreich.


    // Peter

  • PRO/VENIX release 2.0 basiert auf System V und nicht, wie im Netz behauptet wird auf System III. ich habe nun verschiedene Header Files in /usr/include/sys mit denen von System V für PDP11 verglichen. Die Header sind, bis auf die Hardware spezifischen Teile für DEC Pro, praktisch identisch und haben auch Version 1.1. Auch das Vorhandensein von verschiedene Datein wie /etc/gettydefs, die es bei System III noch nicht gegeben hat, sind ein Indokator dafür.


    Ich werde daher versuchen, die fehlenden Dateien im Verzeichnis /usr mit den Binaries von System V für PDP11 zu ergenzen.


    Ich werde berichten ob das funktioniert ...


    // Peter

  • Ja, das sind alles die bekannten Versionen.


    Es fehlt bei der beschädigten Version lediglich ein Teil vom /bin Verzeichnis. Ich bin gerade dabei aus dem Rest (inklusive der XFER Diskette) alles was ins /bin gehört zusamme zu suchen. Auch das /bin vom SystemV für PDP11 hab ich bereits entpackt. Ich habe allerdings noch keine Ahnung ob die SystemV Binaries auf dem Pro380 in der Venturcom Umgebung laufen. Damals hat ja praktisch jede Firma ihre eigene Suppe gekocht ;)

    Die größte Chance besteht, wenn jemand zufällig einen Pro380 hat auf dem Venix installiert ist und man dort mit Hilfe von "tar" den Inhalt vom /bin herunter kopiert.


    Man erkennt die Version, wenn sie läuft (und das noch keiner geändert hat) an der /etc/motd:


    Code
                           Welcome to PRO/VENIX V2.0
    
                              *** important ***
    
                    Read the PRO/VENIX V2.0 Release Notes for
            information on reloading diskettes from PRO/VENIX V1 systems.
    
           [ this login message comes to you from file /etc/motd ]


    ich hab auch schon hier jemanden gefunden, der offenbar die richtige Version aof seinem Pro380 hat:


    https://forum.vcfed.org/index.…for-my-dec-pro-380.66139/


    Allerdings weiss ich noch nicht, ob er Zeit und Lust hat die gesuchetn Fiels von seiner Platte zu holen. Vielleicht findet sich ja noch jemand.


    // Peter

  • Schritt1 erfolgreich abgeschlossen !!


    Es ist mir gelungen, eine installierbare Version des PRO/VENIX 2.0 Systems zu erzeugen. Dabei habe ich so gut es ging, alle verfügbaren Binaries des Originalsystems verwendet. Da war einiges auf der XFER Diskette aber auch auf der zusätzlichen Diskette für den Pro350 zu finden. Zum Beispiel ist die vi Version jetzt die für den Pro350, der nur einen F11 Prozessor hat, das speilt aber für die Funktion keine Rolle. Die restlichen, fehlenden Binaries habe ich zunächst mit Versionen vom System V für den PDP11 ergänzt. Damit konnte ich ein lauffähiges System auf meinem Pro380 installieren:



    Folgende Binaries stammen vom System V für PDP11:

    Davon funktionieren natürlich nicht alle, wie sie sollen, insbesondere diejenigen, die direkt auf die Hardware zugreifen müssen, wie z.B. "df" oder "stty".


    Glücklicher Weise funktioniert aber das "cc" Binary ;)


    Damit habe ich einen funktionierenden C-Compiler und kann jetzt beginnen zu versuchen, aus dem Quellcode von System V und ggf. auch System III, Venix Versionen für den Pro380 zu bauen.


    Nachdem sich PRO/VENIX 2.0 unter "xhomer" nicht installieren lässt (da gibt es ein Problem mit dem Harddisk Treiber), muss ich auf meinem "echten" Pro380 arbeiten. Ich konnte dort bereits eine funktionierende "kermit" Version umwandeln und damit sollte der Rest auch möglich sein.


    Als erstes werde ich versuchen die Programme ar, as und cc neu zu übersetzen und dann, nach und nach den Rest.


    Sobald ich eine Version habe, bei der alle Binaries funktionieren, werde ich es euch berichten ;)


    // Peter


    PS: Sollte inzwischen doch noch jemand originale PRO/VENIX 2.0 Binaries für den Pro380 auftreiben, sind die natürlich willkommen !!

  • Danke, das ist auch die bekannte Version, die es überall gibt.

    Ursprünglich stammt das alles von Warren Toomeys minnie.tuhs.org.


    Dort gab es früher auch die offenbar einzige, allerdings unvollständige Version von PRO/VENIX V2.0. Dort hatte ich auch zunächst gefragt, ob doch noch jemand eine vollständige Version hat - das war aber wohl naiv von mir, denn ansonsten gäbe es ja vrmutlich schon längst ein Version im Netz ;)


    Es gibt jemanden, der PRO/VENIX 2.0 auf einem Pro380 lauffähig istalliert hat:


    https://www.floodgap.com/iv/3637


    Der hat aber bislang leider nicht auf meine Anfrage reagiert, ob er mir die Files aus dem /usr Verzeichnis schicken könnte. Und weil ich nun einmal das Venix System gerne auf meinem Pro380 haben wollte (es ist immerhin ein richtiges SystemV), habe ich mich dazu entschlossen, die fehlenden Teile selbst zu rekonstruieren. Zum Glück gibt es inzwischen auch den Quellcode von SystemV im Netz und die Version für den PDP11 eignet sich natürlich ganz gut um ein paar Binaries für den Pro380 zu übersetzen. Die Venix Version für den Pro380 ist ein SystemV Release 2 und die originale PDP11 Version ist ein SystemV Release 1. Bei den fehlenden Binaries spielt das aber keine Rolle. CC und AS von der PDP11 liefen sofort binär auf dem Pro380 und damit war der Rest auch relativ schnell machbar.


    Es gibt auch den Quellcode von SystemV Release 2 im Netz, allerdings als Port für den NS32000. Das spielt vermutlich für die benötigten Binaries auch keine Rolle und ich hab schlussendlich auch den den Quellcode von "stty" von dort genommen. den Rest habe ich allerdings aus dem Quellcode für PDP11 SystemV Release 1 übersetzt, da hier die Umgebung direkt zu dem Pro380 passt.


    Mehr dazu später ...


    // Peter

  • ... vorweg das Ergebnis für alle, die es auch gerne einmal ausprobieren möchten:


    provnx20.7z


    Der Benchmark lässt sich durchaus sehen:

    Code
    PRO380 - PRO/VENIX V2.0:
    ========================
    pk$ dryr
    Dhrystone(1.1) time for 50000 passes = 86
    This machine benchmarks at 581 dhrystones/second
    pk$ drynr
    Dhrystone(1.1) time for 50000 passes = 95
    This machine benchmarks at 526 dhrystones/second
    pk$

    // Peter

  • ... Fortsetzung!


    Das "neue" PRO/VENIX V2.0 hat sich für mich als das beste Betriebssystem für den DEC Professional 380 herausgestellt. Es ist ein vollständiges UNIX System V und lässt eigentlich nichts zu wünschen übrig. Ich habe inzwischen auch die "man" Pages vom System V 2.0 auf meinen Pro380 übertragen (die waren ja offiziell nie Bestandteil von Venix).

    Jetzt habe ich begonnen, mich damit zu beschäftigen, meine 4-Fach RS232 Karte auf meinem Pro380 zu laufen zu bringen. Dazu muss man den Venix Kernel neu konfigurieren, denn im Stand-Kernel ist der Treiber dafür, leider nicht enthalten. Er ist aber im Lieferumfang von PRO/VENIX 2.0 dabei.


    Leider fehlt bei den vorliegenden Kernel-Komponenten, die Datei "uts.c", weshalb sich der Kernel mit dem Treiber für die 4-Fach RS232 Karte nicht erzeugen lässt. Bei UNIX Sytem V gibt es im Quellcode eine Datei "utsname.c" in der diverse Parameter gesetzt werden, die man dann mit "uname -a" abfragen kann. Bei Venix sind das in meinem Fall:

    Code
    SUPER: uname -a
    VENIX pro380pk SysVr2.0 85061411 PRO380 DEC00100

    Um einen Kernel konfigurieren zu können muss also diese Datei "uts.c" irgendwie rekonstruiert werden. Es reicht aber nicht, ganz einfach die Datei "utsname.c" aus dem System V Quellcode in "uts.c" umzubenennen. Einerseits gibt es das Element Seriennummer bei "utsname.c" überhaupt nicht und andererseits sind im Venix Kernel auch gar nicht alle Parameter gespeichert, die man mit "uname -a" abfragen kann.

    Somit habe ich ich mich auf die Suche begeben, wo der Rest gespeichert sein könnte, den man mit "uname -a" abfragen kann und natürlich auch, wo das System die Anzahl der "User" festlegt. Ich bin dabei unter "/dev/w0.venix" fündig geworden:



    Noch ist das Puzzle nicht gelöst, aber zumindest ergibt das Ganze schon einen gewissen Sinn ;)


    // Peter

  • Bingo! Die rekonstruierte Version von uts.c lässt den Venix Kernel bauen:

    Ob er sich auch booten lässt wird sich zeigen ;)


    // Peter

  • Nach einigen kleineren Anpassungen in der rekonstruierten uts.c Datei konnte zunächst der Originalkernel exakt reproduziert werden:

    Code
    pk$ ls -l /venix*
    -rw-r--r--   1 bin      bin       100336 Jun 19  1985 /venix
    -r--r--r--   1 root     sys       100336 Apr 30 12:56 /venix.test
    pk$ uname -a
    VENIX pro380pk SysVr2.0 22000001 PRO380 DEC00100
    pk$

    Lediglich die Versionsnummer ist eine andere, damit man die Teile auseinander halten kann ;)


    Inzwischen ist auch klar, dass man weder die Seriennummer, noch die Anzahl der User über uts.c ändern kann. Das wäre ja auch zu einfach gewesen und geht dann wohl nur über die "spezielle" Venix Partition auf der Festplatte. Bevor ich aber beginne hier herumzubasteln, werde ich versuchen den "slu" treiber für meine 4-Fach serielle Karte einzubinden. Prüfen tut diese Venix Version die Anzahl der erlaubten User übrigens über die Anzahl der aktiven "getty" Prozesse. Wenn man mehr als zwei davon aktiviert, kommt auf der Console sofot: "too many users" ;)


    // Peter

  • Habe mal spaßhalber auf archive.org nach venix gesucht und das hier gefunden. Ist zwar keine 2.0 Version sondern eine 3.2.4.

    Vielleicht trotzdem interessant.


    https://archive.org/details/venix-386


    und auch hier


    https://archive.org/search.php?query=Venix

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Zubnächst einmal der fehlende Teil, damit sich der Venix Kernel bauen lässt:

    Wie man sieht, ist sowohl "NODE" als auch "SER" hier nur mit "Leerzeichen" befüllt. VERS wird im originalen Makefile mit Datum+Stunde befüllt. Das habe ich im Makefile zunächst deaktiviert.


    // Peter

  • Hier alles, was geändert bzw. ergänzt werden musste damit man den PRO/VENIX 2.0 Kernel erzeugen kann:


    usr_sys.zip


    1.) Das "tar" Archiv muss zunächst auf den Pro, das funktioniert am einfachsten mit "kermit". Um auf Nummer sicher zu gehen, vorher mit "uuencode" in ASCII umwandeln und dann auf dem Pro wieder mit "uudecode" zurück. An sich macht PRO/VENIX, 8-Bit auf den seriellen Schnittstellen, wer allerdings an Unix gewöhnt ist, vertraut hier eher auf "uuencode" ;)


    2.) Dann muss man das "tar" Archiv als Benutzer "root" im Verzeichnis "/" mit "tar xvf usr_sys.tar" entpacken.


    3.) Danach kann man den Venix Kerrnel wie folgt erzeugen:

    Anpassen kann man die Parameter in der jeweiligen Datei "params.xxx". In meinem Fall habe ich den Kernel in der Datei params.p380 auf 50hz eingestellt.


    // Peter

  • Falls jemand inzwichen auch PRO/VENIX 2.0 installiert hat, wäre es toll, wenn jemand mein kleines Progamm aus dem Anhang dort umwandeln und testen könnte!


    Wenn das nämlich generell funktioniert, werde ich ein keines Tool erstellen mit dem man diese Parameter ändern kann:

    Code
    # cc -DVENIX -O test2.c -o test2
    # ./test2
    Hostname: pro380pk
    SerialNo: DEC00100
    MaxUsers: 2

    // Peter

  • Habe gelesen, für die DEC Pro 300er Serie gab's auch ein CP/M Option board/card. Die wurde auch mal bei Ebay angeboten, das ist aber irgendwie der einzige Treffer den ich dazu gefunden habe... habe ich nur nicht vehement danach gesucht oder ist das wirklich so "rar" ?

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Die DEC Professional Computer waren der Versuch von Digital, mit PDP11 basierten PCs dem IBM PC Konkurrenz zu machen. Das hat, wie wir heute wissen nicht wirklich funktioniert ;)

    Trotzdem sind die DEC Professional Comuter ein sehr nettes Stück Computergeschichte und quasi der PDP11 für den Schreibtisch.

    Als Unixer kommt man da praktisch kaum dran vorbei, denn immerhin ist der PDP11 ja quasi die Heimat von Unix.

    Man findet immer wieder auch Geräte bei E-Bay:

    https://www.ebay.de/itm/154912…ksid=p2060353.m1438.l2649
    https://www.ebay.de/itm/144452…0353.m1438.l2649%E2%80%8B

    Aber ja stimmt, wirklich viele sind davon nicht mehr vorhanden.

  • Inzwischen gibt es neue Erkentnisse zum PRO/VENIX 2.0 Kernel


    Der Teufel versetckt sich im "tty.o" Treiber ;)

    An sich ein guter Platz, für diesen Zweck!


    Hier noch ein Bild meiner aktuellen "hybriden" Venix Entwickungsumgebung:



    // Peter

  • Moin,


    passt vielleicht nicht ganz hier her, aber vielleicht ja doch.


    Gab es ein 16 Bit PC Unix (Venix, PC/IX, xenix oder esix (286) welches zumindest rudimentäres TCP/IP installierbar hat (telnet) und eine Netzwerkkarte (NE1000 oder 3C501) unterstützen und vielleicht gar in "bunt" (Textmodus 80x24 bei 4 oder mehr Vordergrundfarben) und damit auf einem XT mit CGA Karte laufen kann?


    Würde mir das gerne als Terminal in meiner Garage basteln aus Altteilen.


    vg

  • Vielleicht hast Du mit Minix 2.0x Erfolg.

    Hinweise dazu findest Du auf https://minix1.woodhull.com/index1.html .

    Netzwerkprogramme auf https://web.archive.org/web/20…inix1.hampshire.edu/inet/ ...

    Die "alte" Minix 2.0 Hauptseite findest Du hier: https://web.archive.org/web/20….cs.vu.nl/~ast/minix.html

    Ansonsten ist Minix 3 eigentlich aktuell ( http://www.minix3.org/ ) aber ob Du mit der 3er Version und einem IBM PC/XT oder ähnlich noch Erfolg hast bezweifle ich. EDIT: Sehe gerade nur noch die Minix 2.02 ist lauffähig auf einem 640KB IBM PC/XT. Die 3er Minix Version benötigt zwangsweise 386 und höher.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.