Installing 4.0 BSD on SIMH

From Computer History Wiki
Revision as of 15:44, 30 August 2011 by Neozeed (talk | contribs)
Jump to: navigation, search

This is the procedure is copied from Naoki Hamada to install 4.0 BSD onto SIMH's VAX 11/780 emulator.

Requirements

  • You will need a working copy of SIMH's vax780.exe for your platform.
  • A 4.0 BSD install tape. You can download one from sourceforge
  • A copy of bzip2 to decompress the tape image

Preparing for installation

The first step is to decompress the tape image with bzip2. This should be very straightforward:

bzip2 -d 4.0bsd.tap.bz2


You will need to create two ini files, one for the tape boot, and the other for the disk boot.

tboot.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 lines=8
set rp0 rp06
at rp0 rp06.disk
set tu0 te16
at tu0 4.0bsd.tap
D 50000 20009FDE
D 50004 D0512001
D 50008 3204A101
D 5000C C113C08F
D 50010 A1D40424
D 50014 008FD00C
D 50018 C1800000
D 5001C 8F320800
D 50020 10A1FE00
D 50024 00C139D0
D 50028 04c1d004
D 5002C 07e15004
D 50030 0000f750
run 50000
run 0

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 lines=8
set rp0 rp06
at rp0 rp06.disk
set tu0 te16
load -o boot 0
run 2

You will also need to uudecode the following boot program that is injected into SIMH's memory.

Booting from tape

Simply boot up from tape by invoking SIMH's VAX 11/780 with the tape boot ini as follows:


C:\bsd40>vax780.exe tboot.ini

VAX780 simulator V3.8-1
RP: creating new file
Overwrite last track? [N] y

HALT instruction, PC: 00050033 (HALT)
=

This will get you to the bootloader which we can then use to invoke the mkfs/restore commands. There isn't any need to lowlevel format in the emulator.

=mkfs
file sys size: 7942
file system: hp(0,0)
isize = 5072
m/n = 3 500
=

Now to restore the root/boot partition:

=restor
Tape? ht(0,1)
Disk? hp(0,0)
Last chance before scribbling on disk.
End of tape
=

Hit enter when prompted "Last chance before scribbling on disk.".

Now we can invoke the boot program to load up the kernel so we can continue the install.

=boot

Boot
:

Now we can specify the disk & kernel, as follows:

: hp(0,0)vmunix
87844+15464+130300 start 0x530
VM/UNIX (Berkeley Version 4.1) 11/10/80
real mem  = 8323072
avail mem = 7860224
WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
ERASE IS CONTROL-H!!!
#

It is recommended that you run fsck to ensure that the 'a' partition is in good health. Run fsck as follows:

# fsck /dev/rrp0a

/dev/rrp0a
File System:  Volume:

** Checking /dev/rrp0a
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Free List
286 files 1895 blocks 5728 free
#

Now we format the 'g' partition which we will then mount under /usr and restore from tape. Take note that we specify the size as that isn't detected, and that mkfs lives in /etc!

# /etc/mkfs /dev/rrp0g 145673
isize = 65488
m/n = 3 500

Now we mount the partition, advance the tape, and restore.

# /etc/mount /dev/rp0g /usr
# cd /usr
# cp /dev/rmt12 /dev/null
# cp /dev/rmt12 /dev/null
# tar xpb 20
#

This will take about a minute to complete.

Next we'll install a bootblock.

# dd if=/usr/mdec/uboot of=/dev/rrp0a bs=1b count=1
1+0 records in
1+0 records out
#

Then we fix some mount permissions, and shutdown the system.

# cd /
# chmod 755 / /usr
# sync
# sync
# sync
# sync
#
Simulation stopped, PC: 80000963 (MTPR #0,#12)
sim> q
Goodbye

C:\bsd40>

The operating system is now installed.

Booting from disk

This part relies on you having extracted the 4.0 BSD boot program, as there is no console floppy in SIMH. Or I haven't figured out how to create one, so it is injected into memory and executed. Load the simulator as follows and it'll boot up to the login prompt.


C:\bsd40>vax780.exe dboot.ini

VAX780 simulator V3.8-1

Boot
: hp(0,0)vmunix
87844+15464+130300 start 0x530
VM/UNIX (Berkeley Version 4.1) 11/10/80
real mem  = 8323072
avail mem = 7860224
WARNING: clock gained 54 days -- CHECK AND RESET THE DATE!
Automatic reboot in progress...
Fri Aug 27 08:20:12 PDT 1976
/dev/rp0a: 286 files 1896 blocks 5727 free
/dev/rrp0g: 6041 files 33708 blocks 107870 free
Fri Aug 27 08:20:15 PDT 1976
Mounted /usr on /dev/rp0g
preserving editor files
clearing /tmp
starting daemons: update cron accounting network mail.
Fri Aug 27 08:20:16 PDT 1976


Virtual VAX/UNIX (Ernie Co-vax)

login:

Now you can follow the `Taking the system up and down' Section of setup document.