Installing 4.0 BSD on SIMH
- 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.
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
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
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.