Difference between revisions of "Installing Ultrix 4.5 on SIMH"

From Computer History Wiki
Jump to: navigation, search
(Running the Emulator)
m (Running the Emulator)
Line 109: Line 109:
 
RQ2: unit is read only
 
RQ2: unit is read only
 
Listening on port 1005
 
Listening on port 1005
WinPcap version 4.1.2 (packet.dll version 4.1.0.2001), based on libpcap version
+
WinPcap version 4.1.2 (packet.dll version 4.1.0.2001), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
1.0 branch 1_0_rel0b (20091008)
 
 
Eth: opened OS device \Device\NPF_{A41A1651-DD4D-4735-A4E0-88353165C2EC}
 
Eth: opened OS device \Device\NPF_{A41A1651-DD4D-4735-A4E0-88353165C2EC}
 
Listening on port 1001
 
Listening on port 1001

Revision as of 22:34, 5 December 2015

This WORK-IN-PROGRESS guide will be a simple guide to installing ULTRIX 4.5 for VAX on SimH.

Requirements

The following is a list of things required for installation

  • A recent version of the SIMH emulator
    • Make sure the binary you're using includes Ethernet support
    • I'm using a self-compiled version (git revision 0e8c0aea)
  • An ISO image of ULTRIX 4.5 for VAX
    • See the "Resources" section for a download link
    • It's probably also possible to install it from tape, although I don't know if any installation tapes for ULTRIX 4.5 exist
  • Optional stuff (might get added to the guide later):
    • Starfish Ultrix Freeware CDs from here

SimH configuration

The machine I'm using to run ULTRIX has the following configuration

  • DEC MicroVAX 3800
  • 64mb memory
  • DELQA network card (XQ0)
  • Two RA90 disk drives (with 1.2gb each) attached to an RQDX3 controller (RQ0 and RQ1)
  • CD ROM drive attached to the same RQDX3 controller as unit 2 (RQ2)
  • TK50 tape attached as unit 0 on the first TQK50 controller (TQ0)
  • DZV11 terminal multiplexer with 16 lines, attached to telnet port 1005 (DZ)
  • LPT line printer attached to text file printer_output.txt

Here's my config file (I called it simh.conf)

;
; SimH 4.0 Configuration file for MicroVAX 3800
;
; Host System      : DEC MicroVAX 3800
; Operating System : DEC Ultrix v4.5
; Memory           : 64mb
; Network config   : XQ: Ethernet, 08:00:2b:04:14:02
; Disks            : RQ0: RA90, 1.2gb
;                    RQ1: RA90, 1.2gb
; CDROMs           : RQ2: iso file
; Tape config      : TQ0: TK50, 94mb
;

load -r ka655x.bin

; NVRAM
attach NVR nvram.bin

; CPU config
set CPU 64m
set CPU conhalt
set CPU idle=all

; configure console to 7-bit only
set TTO 7b
set TTI 7b

; Disk drives
set RQ0 ra90
attach RQ0 rq0-ra90.dsk
set RQ1 ra90
attach RQ1 rq1-ra90.dsk
set RQ2 CDROM
attach -r RQ2 ultrix-vax-os-v4.5.mode1.ufs.iso
; MD5 sum: 19df0753c27f195e9f1d2f139a3b4629 *ultrix-vax-os-v4.5.mode1.ufs.iso
set RQ3 dis

; Tape
set TQ tk50
;attach tq0 filename-to-tape-file
set TQ1 dis
set TQ2 dis
set TQ3 dis

; serial port, simulated by Telnet to port 1005
set DZ LINES=16
set DZ 8B
attach DZ 1005 NoBuffer

; printer
set LPT enable
attach LPT printer_output.txt

; Disable unused peripherals
set CR dis
set RL dis
set TS dis

; Network interface (08-00-2b is the DEC prefix, the 04-14-02 part is arbitrary)
set XQ MAC=08-00-2b-04-14-02
attach XQ0 eth0

; serial console (launch directly after booting CPU)
set console telnet=1001

; experimental
;set QVSS en

; boot the system
;boot CPU

Note that I'm using a telnet console (for easier copy/paste on Windows), which means that directly after running this config file (via do simh.conf from Simh) you will need to connect via telnet to localhost:1001 or the boot will abort. If you are on Linux, or just don't want that, remove the set console telnet=1001 line.

Also note that you might need to attach XQ0 to a different ethernet device. Use "show ether" in SimH to list all available devices on your system and modify the attach XQ0 eth0 line accordingly.

Running the Emulator

Either run vax.exe simh.conf from the Windows command line, or just double-click the VAX.EXE executable and type do simh.conf.

On the first launch it might take some time because SimH has to create the disk images (~2.5 gb total). It should look something like this

MicroVAX 3900 simulator V4.0-0 Beta        git commit id: 0e8c0aea
NVR: buffering file in memory
RQ2: unit is read only
Listening on port 1005
WinPcap version 4.1.2 (packet.dll version 4.1.0.2001), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
Eth: opened OS device \Device\NPF_{A41A1651-DD4D-4735-A4E0-88353165C2EC}
Listening on port 1001
sim>

Type the following to start the emulation (note: you can also uncomment that line from the end of the config file to have the emulation start right away)

sim> boot cpu
Waiting for console Telnet connection

Now would be a good time to connect your telnet session (I use a batch file for this), otherwise the boot process will timeout.

On your console, you should see something like this:

Connected to the MicroVAX 3900 simulator CON-TEL device



KA655-B V5.3, VMB 2.7
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.
>>>

This is the VAX's boot prompt. Normally you just type

>>>boot <device>

where <device> is one of the following

  • MUA<num>: TK tape device number <num> (1 to 4)
  • DUA<num>: RQ disk device number <num> (1 to 4)

You can use show device to see the installed (and detected) devices you can boot from, and show boot to see which device will be the default if you just type boot (or b for short):

>>>show device
UQSSP Disk Controller 0 (772150)
-DUA0 (RA90)
-DUA1 (RA90)
-DUA2 (RRD40)

UQSSP Tape Controller 0 (774500)
-MUA0 (TK50)

Ethernet Adapter 0 (774440)
-XQA0 (08-00-2B-04-14-02)
>>>show boot
MUA0

Since we want to boot from CDROM, which is unit 2, we can use

>>>boot DUA2

Note: You can add flags to boot into single user mode, or to boot in interactive mode (so-called conversational boot, where the system prompts you for a kernel file name to load). For details see the Guide to ULTRIX-32 System Startup and Shutdown, linked to in the References section. To use it, add the /R:<flags> option to the boot command, where flags is 0 (default multi-user), 1 (conversational multi-user), 2 (single-user) or 3 (conversational single-user). For example

>>>boot/r5:3 dua0

Note: You can also boot from ethernet (boot XQA0) but this requires a DEC-specific boot server in your network (the protocol is called MOP for Maintenance Operations Protocol), which is beyond the scope of this document. I did get it to work a few years ago though, but it was a bit difficult to set up.

Bootstrapping ULTRIX

Resources

Some of the resources I used for creating this guide:

  • ULTRIX 4.5 installation ISO [1]
  • ULTRIX-32 startup and shutdown guide [2]
  • CERN guide to installing ULTRIX [3]
  • My old guide for installing ULTRIX [4]