Installing 32V on SIMH
This is the procedure that I have used to install UNIX/32V onto SIMH's VAX 11/780 emulator. This is based on the work of Nao. You can also follow along from the guide Setting Up Version 1.0 of UNIX/32V Operating System
Contents
Requirements
You will need the following materials to put together a 32V installation:
- A compiled binary of vax780 from SIMH, along with the vmb.exe again from SIMH.
- A working copy of bzip2
You can download the starunix from nao's site
Or you can download the tape image from sourceforge below:
Preparing for installation
If you downloaded the tape image from sourceforge simply bzip2 -d the file, and we are almost ready to go... This is the 'preferred' way for windows users, as they would have to hunt for a copy of tar.
With the tape file extracted we can proceed to the installation.
Boot 1.
We are going to use the following config file to start the first phase of the installation. Save the following configuration into a file such as 'tboot.ini'. Since we are going to boot directly from the tape.
tboot.ini
set rq dis set lpt dis set rl dis set hk dis set rq dis set rqb dis set rqc dis set rqd dis set ry dis set ts dis set tq dis set dz lines=8 set rp0 rp06 at rp0 rp06.disk set tu0 te16 at tu0 32v.tape D 30000 20009FDE D 30004 D0512001 D 30008 3204A101 D 3000C C113C08F D 30010 A1D40424 D 30014 008FD00C D 30018 C1800000 D 3001C 8F320800 D 30020 10A1FE00 D 30024 00C139D0 D 30028 04c1d004 D 3002C 07e15004 D 30030 0000f750 go 30000 go 0
Booting the emulator
You then simply run the emulator and pass it the config file.
C:\temp\>vax780 tboot.ini VAX780 simulator V3.8-1 RP: creating new file Overwrite last track? [N]
You'll be prompted to 'Overwrite last track'. This is SIMH asking about zeroing out the disk file. I know it's a weird question, but answer 'y' and hit enter. Then you'll get the tape prompt:
HALT instruction, PC: 00030033 (HALT) =
We are going to run the tdcopy program. This program copies in the miniroot image onto the hard disk. Once the program is loaded simply ansewr in the following manner to select the tape drive connected on MBA1, unit 0 to the disk on MBA0 unit 0. Natrually the file number #1 (not 0) because we don't write out the tape boot blocks.
=tdcopy tdcopy : TM03 tape-to-disk copy tape MBA # : 1 tape unit # : 0 tape file offset : 1 tape block offset : 0 disk MBA # : 0 disk unit : 0 disk block offset : 0 no. of input blocks : 480 10240 = tape block size normal termination 480 input blocks read 9600 output blocks written
With the hard disk prepared, we can hit CTRL+E to interrupt the emulator and exit.
= Simulation stopped, PC: 0005017D (MFPR #20,R0) sim> quit Goodbye
Boot 2.
Now we are ready to boot from the hard disk, and finish extracting the files for 32v. Save the following config file as dboot.ini
dboot.ini
set tto 7b set rq dis set lpt dis set rl dis set hk dis set rq dis set rqb dis set rqc dis set rqd dis set ry dis set ts dis set tq dis set dz 7b set dz lines=16 att dz -m 2311 set rp0 rp06 at rp0 rp06.disk set tu0 te16 at tu0 32v.tape D 30000 00009FDE D 30004 D0512001 D 30008 D004A101 D 3000C 0400C113 D 30010 10008F32 D 30014 D40424C1 D 30018 8FD00CA1 D 3001C 80000000 D 30020 320800C1 D 30024 A1FE008F D 30028 28C1D410 D 3002C 14C1D404 D 30030 C139D004 D 30034 c1d00400 D 30038 e1500404 D 3003C 00f75007 go 30000 go 2
Booting the emulator
Ok now we are ready to proceede, just run your vax780 and use the dboot.ini file.
C:\temp\>vax780.exe dboot.init VAX780 simulator V3.8-1 HALT instruction, PC: 00030040 (HALT) file :
Now we are at the bootloader, and we have to tell it what file to boot. Not surprisingly the unix kernel is called, unix. So simply type in unix, and hit enter.
file : unix RESTRICTED RIGHTS USE, DUPLICATION OR DISCLOSURE IS SUBJECT TO RESTRICTION STATED IN YOUR CONTRACT WITH WESTERN ELECTRIC COMPANY INC. real mem = 8323072 Warning: more page-frames than allocated in bit map Only 2048 of 16256 used. (Increase PHYSPAGES) avail mem = 939008 #
Ok, now we are booted up into single user mode! Now we need to format the /usr partition, and restore some files. The mkfs command is run as follows:
# /etc/mkfs /dev/rp0h 322278 isize = 65496 m/n = 3 500 #
With the filesystem formatted, we can go ahead and mount it:
# /etc/mount /dev/rp0h /usr
There is no 'mt' command in 32v, so you have to 'cheat' to advance the tape. We need to advance it to the 3rd file by simply reading the tape and discarding the output to /dev/null
# cp /dev/rmt4 /dev/null # cp /dev/rmt4 /dev/null
With the tape advanced, we can cd to the /usr partition and restore it with tar.
# cd /usr # tar xbf 20 /dev/rmt0
With the OS installed, there is no 'shutdown' command, in the old says we ran sync a few times & pulled the plug....
# sync # sync # sync # sync # Simulation stopped, PC: 80000798 (BLBC 8000B6FC,80000798) sim> q Goodbye
Running Multiuser
From here it's pretty simple to get going.
Boot up with the dboot.ini, and simply hit control + D at the # prompt, and away you go. There is no root passwod.
C:\temp\>vax780.exe dboot.ini VAX780 simulator V3.8-1 HALT instruction, PC: 00030040 (HALT) file : unix RESTRICTED RIGHTS USE, DUPLICATION OR DISCLOSURE IS SUBJECT TO RESTRICTION STATED IN YOUR CONTRACT WITH WESTERN ELECTRIC COMPANY INC. real mem = 8323072 Warning: more page-frames than allocated in bit map Only 2048 of 16256 used. (Increase PHYSPAGES) avail mem = 939008 # entering rc clearing mtab clearing /tmp mounting /usr on rp0h starting update starting cron leaving rc login:
For some additional information, continue with the guide, in the reconfiguration section 32v install guide