Difference between revisions of "Installing 4.2 BSD on SIMH"

From Computer History Wiki
Jump to: navigation, search
(adding boot process)
(start of 2nd boot)
Line 52: Line 52:
 
==  Boot 1. ==
 
==  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 '1.txt'.
+
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 'install.ini'.  Since we are going to boot directly into the miniroot the rq1 disk will hold the installation target.  Since the 'normal' way to install is to install from tape onto the first disk, we will have to add a device file uppon boot for the second disk, and be sure to point the xtr program to the second disk.
  
 +
=== install.ini ===
 
<pre>
 
<pre>
 
set rq0 ra81
 
set rq0 ra81
Line 79: Line 80:
  
 
<pre>
 
<pre>
C:\4.2BSD\work>vax780 1.txt
+
C:\4.2BSD\work>vax780 install.ini
  
 
VAX780 simulator V3.8-0
 
VAX780 simulator V3.8-0
Line 116: Line 117:
  
 
From here we are now running from the miniroot.  The next steps are as follows:
 
From here we are now running from the miniroot.  The next steps are as follows:
 +
 +
<pre>
 +
# cd /dev
 +
# ./MAKEDEV ra1
 +
# cd /
 +
# disk=ra1 type=ra81 tape=ts xtr
 +
</pre>
 +
 +
This will create a 'device' for the ra1 disk, then run the xtr program to restore the root dump.
 +
 +
<pre>
 +
erase ^?, kill ^U, intr ^C
 +
# cd /dev
 +
# ./MAKEDEV ra1
 +
# cd /
 +
# disk=ra1 type=ra81 tape=ts xtr
 +
Build root file system
 +
Warning: 538 sector(s) in last cylinder unallocated
 +
/dev/rra1a:    15884 sectors in 23 cylinders of 14 tracks, 51 se
 +
        8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
 +
super-block backups (for fsck -b#) at:
 +
32, 11520,
 +
Check the file system
 +
** /dev/rra1a
 +
** Last Mounted on
 +
** Phase 1 - Check Blocks and Sizes
 +
** Phase 2 - Check Pathnames
 +
** Phase 3 - Check Connectivity
 +
** Phase 4 - Check Reference Counts
 +
** Phase 5 - Check Cyl groups
 +
2 files, 9 used, 7420 free (20 frags, 925 blocks)
 +
Rewind tape
 +
Restore the dump image of the root
 +
Warning: ./lost+found: File exists
 +
** /dev/rra1a
 +
** Last Mounted on /a
 +
** Phase 1 - Check Blocks and Sizes
 +
** Phase 2 - Check Pathnames
 +
** Phase 3 - Check Connectivity
 +
** Phase 4 - Check Reference Counts
 +
** Phase 5 - Check Cyl groups
 +
313 files, 3568 used, 3861 free (21 frags, 480 blocks)
 +
Root filesystem extracted
 +
 +
If this is a 780, update floppy
 +
If this is a 730, update the cassette
 +
#
 +
</pre>
 +
 +
After this stage, I just sync the disk a few times, then halt the emulator (CONTROL+E) and exit out.  Now we are ready for stage two.
 +
 +
<pre>
 +
If this is a 730, update the cassette
 +
# sync
 +
# sync
 +
# sync
 +
 +
Simulation stopped, PC: 80001620 (FFS #0,#20,8003ED44,R0)
 +
sim> q
 +
Goodbye
 +
 +
C:\4.2BSD\work>
 +
</pre>
 +
 +
 +
==  Boot 2. ==
 +
 +
Now that the install disk is prepared, we need to use a different config file to reflect us going back to a single disk/tape configuration.  The new configuration is as follows:
 +
 +
=== boot.ini ===
 +
<pre>
 +
set rq0 ra81
 +
att rq0 rq.dsk
 +
set rq1 dis
 +
set rq2 dis
 +
set rq3 dis
 +
set rp dis
 +
set lpt dis
 +
set rl dis
 +
set tq dis
 +
set tu dis
 +
att ts 42.tap
 +
set tti 7b
 +
set tto 7b
 +
load -o boot42 0
 +
d r10 9
 +
d r11 0
 +
run 2
 +
</pre>

Revision as of 19:04, 6 February 2009

This is the procedure that I have used to install 4.2 BSD onto SIMH's vax 11/780 emulator.

Requirements

You will need the following materials to put together a 4.2 BSD installation:

  • A working perl interpeter to make the tape images.
  • A copy of gzip.
  • A method of extracting the boot file from either the binaries (tar/gzip) or uudecode to extract it from here.
  • A compiled binary of vax780 from SIMH, along with the vmb.exe again from SIMH.


You will need the following files from any 4 BSD archive from the 4.2 directory. I have used the files from archive.huihoo.org. You can use whatever method you like to download them, wget, a web browser etc..

ingres.tar.gz
miniroot.gz
new.tar.gz
rootdump.gz
src.tar.gz
srcsys.tar.gz
stand.gz
usr.tar.gz
vfont.tar.gz

With the files downloaded you will need to uncompress them all and then create the tape file.

The following command will decompress the tape files.

gzip -d *.gz

The tape needs to be created with the mkdisttap.pl program. Simply run the program and redirect it into a file called 42.tap .

% ./mkdisttap.pl > 42.tap
% ls -l 42.tap
-rw-r--r--  1 Neozeed  +SYSTEM  69943640 Feb  6 12:39 42.tap

Next you will need the boot program. I have uploaded a copy onto this wiki in uuencoded format. To decode it, simply access the article, and copy the contents of the quoted text (the begin/end part INCLUDING the begin & end segments) and save it to a text file. Then you will need to run the uudecode file as follows:

% ls -l boot42.uue
-rw-r--r--  1 Neozeed  None_ploc  9117 Feb  6 12:09 boot42.uue
% uudecode boot42.uue
% ls -l boot42
-rw-------  1 Neozeed  None_ploc  6600 Feb  6 12:28 boot42
% file boot42
boot42: data

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 'install.ini'. Since we are going to boot directly into the miniroot the rq1 disk will hold the installation target. Since the 'normal' way to install is to install from tape onto the first disk, we will have to add a device file uppon boot for the second disk, and be sure to point the xtr program to the second disk.

install.ini

set rq0 ra81
at rq0 miniroot
set rq1 ra81
at rq1 rq.dsk
set rq1 dis
set rq2 dis
set rq3 dis
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis
att ts 42.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2

You then simply run the emulator and pass it the config file.

C:\4.2BSD\work>vax780 install.ini

VAX780 simulator V3.8-0
RQ: creating new file
1.txt> set rq1 dis
Command not allowed
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem  = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
WARNING: clock gained 94 days -- CHECK AND RESET THE DATE!
WARNING: should run interleaved swap with >= 2Mb
erase ^?, kill ^U, intr ^C
#

From here we are now running from the miniroot. The next steps are as follows:

# cd /dev
# ./MAKEDEV ra1
# cd /
# disk=ra1 type=ra81 tape=ts xtr

This will create a 'device' for the ra1 disk, then run the xtr program to restore the root dump.

erase ^?, kill ^U, intr ^C
# cd /dev
# ./MAKEDEV ra1
# cd /
# disk=ra1 type=ra81 tape=ts xtr
Build root file system
Warning: 538 sector(s) in last cylinder unallocated
/dev/rra1a:     15884 sectors in 23 cylinders of 14 tracks, 51 se
        8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
super-block backups (for fsck -b#) at:
 32, 11520,
Check the file system
** /dev/rra1a
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2 files, 9 used, 7420 free (20 frags, 925 blocks)
Rewind tape
Restore the dump image of the root
Warning: ./lost+found: File exists
** /dev/rra1a
** Last Mounted on /a
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
313 files, 3568 used, 3861 free (21 frags, 480 blocks)
Root filesystem extracted

If this is a 780, update floppy
If this is a 730, update the cassette
#

After this stage, I just sync the disk a few times, then halt the emulator (CONTROL+E) and exit out. Now we are ready for stage two.

If this is a 730, update the cassette
# sync
# sync
# sync

Simulation stopped, PC: 80001620 (FFS #0,#20,8003ED44,R0)
sim> q
Goodbye

C:\4.2BSD\work>


Boot 2.

Now that the install disk is prepared, we need to use a different config file to reflect us going back to a single disk/tape configuration. The new configuration is as follows:

boot.ini

set rq0 ra81
att rq0 rq.dsk
set rq1 dis
set rq2 dis
set rq3 dis
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis
att ts 42.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2