HB1BBS Packet Radio System
| QTH: Ouwerkerk, The Netherlands  JO11XO 51.37.48N 003.59.01E | CB: 27.235 MHz FM | AXUDP: HB1BBS.NET UDP 93 | APRS.HB1BBS.COM | TELNET: HB1BBS.NET |

VAX/VMS on a Raspberry PI

Installation SIMH Simulator

I have recently search the internet to find a way to install VAX/VMS on a Raspberry Pi. I found some intresting websides on how to do this, so i gave it a try. The instructions i made are necessarily quick and make assumptions that you know what you’re doing. The website from Peter Hicks is a good way to start and make your Raspberry ready to go. For detailed information on how to install VMS see the website of Phillip Wherry

Installation Steps:
     - Installation SIMH Simulator
     - Creating the Vax machine
     - Creating Directory
     - Creating microvax3900.ini
     - Setting up Networking
     - OpenVMS VMS/VAX iso file
     - Booting the Emulator
     - Restore VMS "save set"
     - Install the OpenVMS system
     - VAX/VMS installation procedure
     - VMS Licence Management Utilty
     - VAX/VMS First Startup
     - Configure OpenVMS

When your Raspberry is up and running you need a a simulator called SIMH, maintained by Bob Supnik (who had a pivotal role in the original development of a number of Digital's machines, serving at one time as technical director for the Alpha and VAX groups at DEC). SIMH emulates a wide range of old hardware. The VAX architecture is one of the many represented.

>> sudo apt install make libsdl2-dev libpng-dev libpcap-dev libvdeplug-dev bridge-utils
>> sudo git clone https://github.com/simh/simh.git

 Creating the VAX machine

To create your virtual VAX machine make a choice which VAX architecture you want to use, there are serval machines you can choose from: microvax1, microvax2, microvax3900, rtvax1000, vax, vax730, vax750, vax780, vax8200, vax8600

>> cd simh
Build your Vax machine:
>> sudo make -j4 vax8600
>> sudo make -j4 microvax3900
After building the exe files are in directory:
simh/BIN

Creating Directory

After you have build the executables for your Vax machine create a directory where you will run your emulator from and copy your build executables in this directory. I have created a directory Vax in the pi home directory. make sure the files are exectutable

>> sudo chmod a+x vax8600
>> sudo chmod a+x microvax3900

Creating micorvax3900.ini

Create the file microvax3900 with the following content.
I’ve annotated each line so you can see what it does:

>> sudo editor microvax3900.ini

; Set the memory size to 512 megabytes
  set cpu 512M
; Use a TCP socket for the console
  set console telnet=12344
; Set the CPU idle detection method to VMS to improve 
; performance when OpenVMS isn't doing anything
  set cpu idle=vms
; Set the CPU to a model 8650
; https://en.wikipedia.org/wiki/VAX_8000)
  set cpu model=8650
; Configure an 1.5 gigabyte RA92 disk 
  set rq0 ra92
  set rq1 ra92
  set rq2 ra92
; Attach a disk image to interface RQ0 - SimH will create on boot
  attach RQ0 rq0-ra92.dsk
  attach RQ1 rq1-ra92.dsk
  attach RQ2 rq2-ra92.dsk

; Configure a CD-ROM drive (RRD40) on disk interface RQ3
  set rq3 cdrom
; Attach the installation disk ISO image to interface RQ3
  attach RQ3 -r OpenVMS552.iso
; Disable  the RP Massbus controller
  set rp disable
; Disable the RL11 cartridge disk controller
  set rl disable
; Disable the RK611 cartridge disk controller
  set hk disable
; Disable the RX211 floppy disk controller
  set ry disable
; Disable the ??
  set ru disable
; Disable the TS11 magnetic tape controller
  set ts disable
; Disable the TUK50 magnetic tape controller
  set tq disable
; Disable the DZ11 8-line terminal multiplexer
  set dz disable
; Disable the LP11 line printer
  set lpt disable
; Enable the Ethernet controller
  set xu enable
; Set the MAC address to use for the Ethernet controller
  set xu mac=08-00-2b-00-00-0a
; Attach the Ethernet controller to a TAP interface 'vaxa'
  attach xu tap:tapvax

Setting up Networking

We’re ready to boot our emulator, but we need to set up networking first. It’s not much fun to have a standalone VAX, so we’re going to create a TAP interface and a bridge to allow our VAX to access our network. A TAP interface virtual interface which runs at the Data Link layer (MAC) and allows us to connect the VAX’s Ethernet interface to an interface on our host operating system. Setting the TAP interface is as easy as running this cmdo:

>> sudo ip tuntap add mode tap user pi tapvax
>> sudo ip link set dev tapvax up


If you’re not running under user ‘pi’, change it to your user name.
To access the network, we need to set up a bridge which is like a switch and connects many interfaces together. We’re going to create a bridge called ‘br0’, and add the ‘tapvax’ interface to it, and add the Pi’s ‘eth0’ interface. My preferred way of doing this is to configure Netplan to do it for us. It’s quite straight forward create /etc/netplan/01-network.yaml with the following:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - eth0

After rebooting your Pi, you’ll have an interface named ‘br0’ with a DHCP-assigned IP address, and another interface named ‘eth0’ with no IP address. >> ifconfig Here’s the first issue  each time you reboot, you’ll have to run the TAP interface setup above.

OpenVMS - VMS/VAX ISO file

OpenVMS still being sold and supported. It’s a secure, rock-solid environment. But that means you need a license to run it. There’s good news and bad news here. The good news is that HP operates a ‘Hobbyist Program‘ for people who want to muck about with OpenVMS in a strictly non-commercial manner. The bad news is that the way this programme operates seems to keep changing. You also need to get your hands on a CD image to install the OS. Your best start is the OpenVMS Hobbyist Portal.
You can also try the following sites to download the ISO files: 
internet archiveVAXstation stuff, VaxHaven and WinWorld

Booting the Emulator

Now comes the exciting part, run >> sudo ./microvax3900 which will start and take a moment to create your RQ disks.
At the sim> prompt, enter ‘boot cpu’

sim> boot cpu <ENTER>
Loading boot code from internal ka655x.bin

KA655X-B V5.3, VMB 2.7
 4) English (United Kingdom)
 (1..15): 4
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..08..07..06..05..04..03..
Tests completed.

>>>boot dua3: <ENTER>

This will boot a minimal VMS image from your virtual CD iso file and install the base system. It will ask for the date and time, so enter it, then it’ll search for and configure devices on the system.

(BOOT/R5:0 DUA3
  2..
-DUA3
  1..0..

VAX/VMS Version V5.5-2   Major version id = 1 Minor version id = 0

PLEASE ENTER DATE AND TIME (DD-MMM-YYYY  HH:MM) 

14-MAR-2021 21:51 <ENTER>

Configuring devices . . .
Now configuring HSC, RF, and MSCP-served devices . . .
Configuring devices . . .
Now configuring HSC, RF, and MSCP-served devices . . .

Please check the names of the devices which have been configured, to make sure that ALL remote devices which you intend to use have been configured. If any device does not show up, please take action now to make it available.

Available device  DUA0:                            device type RA92
Available device  DUA1:                            device type RA92
Available device  DUA2:                            device type RA92
Available device  DUA3:                            device type RRD40

Enter "YES" when all needed devices are available:
YES <ENTER>
%BACKUP-I-IDENT, Stand-alone BACKUP V5.5-2; the date is 14-MAR-2021 21:54:23.34


At this point the minimal VMS system is up and running showing the VMS prompt $. The next step is to restore your VMS save_set from your CD-rom

Restore VMS "save set"

At the point, you're running the small "standalone" operating system you can used it for backing up and restoring data. Use the command that follows to restore the VMS "save set" from CD-ROM to the first hard disk.

$ backup dua3:VMS2055.b/save_set dua0: <ENTER>
%BACKUP-I-PROCDONE, operation completed.
Processing finished at 14-MAR-2021 22:15:21.07
If you do not want to perform another standalone BACKUP operation, use the console to halt the system.
If you do want to perform another standalone BACKUP operation,
ensure the standalone application volume is online and ready.
Enter "YES" to continue: 

At this point, VMS has been copied to your virtual hard disk. Since you have no more save sets to restore at this time, stop the simulation by pressing control-E. Then reboot the virtual machine to continue the installation process.

CTRL-E
Simulation stopped, PC: 9E96B2E5 (BBS R1,@#80004EC0,9E96B2DF)

For the next step to install VAX-VMS on your device it is adviceable to reboot your Raspberry-PI

Install the VMS Operating System

At this point, we'll be booting from the DUA0 device in the future, so we'll set up the default boot device. If this isn't done, the system attempts to boot from device XQA0, which isn't the behavior we're after. 

Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.

>>>set boot dua0
>>>boot
(BOOT/R5:0 DUA0
  2..
-DUA0
  1..0..

VAX/VMS Version BI55-2 Major version id = 1 Minor version id = 0

PLEASE ENTER DATE AND TIME (DD-MMM-YYYY  HH:MM)  


After entering the date en time the installation procedure of the VMS operating system is started.

 

VAX/VMS installation procedure

VMS License Management Utility

VAX/VMS V5.5-2 Installation Procedure

     Model: VAXserver 3900 Series
System device: RA92 - _DUA0:
Free Blocks: 2890227
CPU type: 10-01

* Please enter the date and time (DD-MMM-YYYY HH:MM)
14-MAR-2021 22:41 <ENTER>

%STDRV-I-STARTUP, VMS startup begun at 12-MAR-2021 

If this system disk is to be used in a cluster with multiple system disks, then each system disk must have a unique volume label.  Any nodes having system disks with duplicate volume labels will fail to boot into the cluster.

You may indicate a volume label of 1 to 12 characters in length.  If you wish to use the default name of VAXVMSV2055 just press RETURN in response to the next question.
   
* Enter volume label for system disk [VAXVMSV2055]:  <ENTER>
* Enter name of drive holding the VMS distr media: DUA3 <ENTER>
* Is the VMS media ready to be mounted? [N] Y <ENTER>
* Do you want to install the VMS library files? (Y/N) Y <ENTER>
* Do you want to install the VMS optional files? (Y/N) Y <ENTER>
* Do you want to provide DECwindows support? (Y/N) N <ENTER>

The following options will be provided:
         VMS library
         VMS optional
     Space remaining:  2841526 blocks

* Is this correct? (Y/N) Y <ENTER>
* Will this node be a cluster member? (Y/N)  Y <ENTER>
* What is the node's DECnet node name? HB2VAX <ENTER>
* What is the node's DECnet node address? 1.1 <ENTER>
* Will the Ethernet be used for cluster comm (Y/N)? Y <ENTER>
* Enter this cluster's group number: 1 <ENTER>
* Enter this cluster's password:  manager <ENTER>
* Re-enter this cluster's password for verify:  manager <ENTER> 
* Will HB2VAX be a disk server (Y/N)? Y <ENTER>
* Will HB2VAX serve RFxx disks [N]? N <ENTER>
* Enter a value for HB2VAX's ALLOCLASS parameter: 1 <ENTER>
* Does this cluster contain a quorum disk [N]? N <ENTER>
* Enter password for SYSTEM: sys$manager <ENTER>
* Re-enter for verification: sys$manager <ENTER>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEM verified
* Enter password for SYSTEST: 
sys$manager <ENTER>
* Re-enter for verification: sys$manager <ENTER>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEST verified
* Enter password for FIELD: 
sys$manager <ENTER>
* Re-enter for verification: sys$manager <ENTER>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for FIELD verified

* Do you want register any Product Auth Keys? (Y/N):  Y <ENTER>

1. REGISTER a Product Authorization Key
2. AMEND an existing Product Authorization Key
3. CANCEL an existing Product Authorization Key
4. LIST the Product Authorization Keys
5. MODIFY an existing Product Authorization Key
6. DISABLE an existing Product Authorization Key
7. DELETE an existing Product Authorization Key
8. COPY an existing Product Authorization Key
9. MOVE an existing Product Authorization Key
10. ENABLE an existing Product Authorization Key
11. SHOW the licenses loaded on this node
12. SHOW the unit requirements for this node

99. EXIT this procedure

Type '?' at any prompt for a description of the information
requested. Press Ctrl/Z at any prompt to return to this menu.

* Enter one of the above choices [1]: 1 <ENTER>
* Do you have your Product Authorization Key? [YES]: Y <ENTER>

Use the REGISTER option to add a new license to a license
database. A Product Authorization Key (PAK) provides the product
name and information you need to register the license. You must
enter all the information provided by your PAK exactly as it appears. Type '?' at any prompt for a description of the information requested. Press Ctrl/Z to return to the main menu.

Issuer [DEC]: DECUS <ENTER>
Authorization Number [ ]: DECUS-USA-nnnnnn-nnnnnn <ENTER>
Product Name [ ]: VAX-VMS <ENTER>
Producer [DEC]: DEC <ENTER>
Number of Units [1]: 0 <ENTER>
Version [ ]: <ENTER>
Product Release Date [ ]: <date from email license info> <ENTER>
Key Termination Date [ ]: <date from email license info> <ENTER>
Availability Table Code [ ]: <ENTER>
Activity Table Code [ ]: <ENTER>
Key Options [ ]: NO_SHARE <ENTER>
Include Node [ ]: <ENTER>
Product Token [ ]: <ENTER>
Hardware-Id [ ]: NONE <ENTER>
Checksum [ ]: n-cccc-cccc-cccc-cccc <ENTER>

Here is a list of the license information just entered:

* Is that correct? [YES]: 
Y <ENTER>
* Do you want to LOAD license on this system? [YES]: Y <ENTER>
%LICENSE-I-LOADED, DEC VAX-VMS was successfully loaded

* Enter one of the above choices [1] 99 <ENTER>

Then exit the license management tool by using option 99 on the menu. You'll be prompted for information about your time zone next; enter the data requested. Following that, the system will do some autoconfiguration and will then shut down.

The messages tell you that the system will automatically reboot, but this isn't the case. For the next step to startup VAX-VMS on your device it is adviceable to reboot your Raspberry-PI

VAX/VMS First Startup

 Configure VAX/VMS

sim> boot cpu
Loading boot code from internal ka655x.bin

KA655X-B V5.3, VMB 2.7
 4) English (United Kingdom)
 (1..15): 4
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot dua0 
(BOOT/R5:0 DUA0
  2..
-DUA0
  1..0..

%SYSBOOT-W-WS default and quota raised to PHD+MINWSCNT
   VAX/VMS Version V5.5-2   Major version id = 1 Minor version id = 0
 ************************************************************
  VAX/VMS V5.5-2
    You have SUCCESSFULLY installed the VMS operating system.

************************************************************
%STDRV-I-STARTUP, VMS startup begun at 14-MAR-2021
%MSCPLOAD-I-CONFIGSCAN, enabled automatic disk serving
%MSCPLOAD-I-CONFIGSCAN, enabled automatic disk serving
Operator _HB2VAX$OPA0: has been enabled, username SYSTEM

Accounting information:
Buffered I/O count:   1297    Peak working set size:   1171
Direct I/O count:         594     Peak page file size:          5665
Page faults:                  2789   Mounted volumes:           0
Charged CPU time:   0 00:00:16.70   Elapsed time:    0 00:00:26.65

<ENTER>


Congratulations! You're ready to log in for the first time.

Welcome to VAX/VMS V5.5-2  
Username: system
Password:
<password you selected above>

Welcome to VAX/VMS V5.5-2
$

Bask in the glow of the long-lost DCL "$ " prompt for a moment. Some Unix shells may also use the dollar-sign prompt, but it's just really not the same. On with configuration: let's initialize two additional disks. These disks, like the virtual DUA0, are configured as RA92 disks in the microvax3900.ini file that the simulator uses. It's possible, of course, to use other disk types or to use only the system disk if you'd rather.

Add Virtual Disks

$ initialize dua1: DATA1
$ initialize dua2: DATA2
$ mount/system dua1 data1
%MOUNT-I-MOUNTED, DATA1 mounted on _PSWVAX$DUA1:
$ mount/system dua2 data2
%MOUNT-I-MOUNTED, DATA2 mounted on _PSWVAX$DUA2:
$ show device

Since you'll want to do this every time the system boots,
you should put these commands in the sys$manager:systartup_vms.com site-specific startup file.

$ set term/vt100
$ edit/tpu sys$manager:systartup_vms.com


Scroll down within the file until you find a place to insert these MOUNT commands, then edit the file appropriately. Use Control-Z to save and exit.



E-mailen
Map
Info
Instagram