Difference between revisions of "Installing 4.3 BSD on SIMH"

From Computer History Wiki
Jump to: navigation, search
(Requirements)
m (update mirror location)
 
(22 intermediate revisions by 2 users not shown)
Line 11: Line 11:
  
  
You will need the following files from any 4 BSD archive from the 4.2 directory. I have used the files from [http://unix-archive.huihoo.org/4BSD/Distributions/4.2BSD/ archive.huihoo.org]. You can use whatever method you like to download them, wget, a web browser etc..<br><br>
+
You will need the following files from any 4 BSD archive from the 4.3BSD directory. You can use the files from the [[The Unix Heritage Society|TUHS]] archive,  [https://www.tuhs.org/Archive/Distributions/UCB/4.3BSD/ here]. You can use whatever method you like to download them, wget, a web browser etc..<br><br>
  
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/ingres.tar.gz ingres.tar.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/ingres.tar.gz ingres.tar.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/miniroot.gz miniroot.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/miniroot.gz miniroot.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/new.tar.gz new.tar.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/new.tar.gz new.tar.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/rootdump.gz rootdump.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/rootdump.gz rootdump.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/src.tar.gz src.tar.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/src.tar.gz src.tar.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/srcsys.tar.gz srcsys.tar.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/srcsys.tar.gz srcsys.tar.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/stand.gz stand.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/stand.gz stand.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/usr.tar.gz usr.tar.gz]<br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/usr.tar.gz usr.tar.gz]<br>
[http://unix-archive.huihoo.org/4BSD/Distributions/4.3BSD/vfont.tar.gz vfont.tar.gz]<br><br>
+
[http://ftp.icm.edu.pl/packages/UnixArchive/Distributions/UCB/4.3BSD/vfont.tar.gz vfont.tar.gz]<br><br>
  
 
== Preparing for installation ==
 
== Preparing for installation ==
Line 33: Line 33:
 
</pre>
 
</pre>
  
The tape needs to be created with the [[mkdisttap.pl]] program.  Simply run the program and redirect it into a file called 42.tap .
+
The tape needs to be created with the [[mkdisttap.pl]] program.  Simply run the program and redirect it into a file called 43.tap .
  
 
<pre>
 
<pre>
Line 41: Line 41:
 
</pre>
 
</pre>
  
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:
+
Next you will need the boot program.  The boot program from [[4.2 BSD]] works with [[4.3 BSD]]. I have uploaded a copy onto this wiki in uuencoded format.  To decode it, simply access the [[boot42|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:
  
 
<pre>
 
<pre>
Line 63: Line 63:
 
set rq1 ra81
 
set rq1 ra81
 
at rq1 rq.dsk
 
at rq1 rq.dsk
set rq1 dis
 
 
set rq2 dis
 
set rq2 dis
 
set rq3 dis
 
set rq3 dis
Line 71: Line 70:
 
set tq dis
 
set tq dis
 
set tu dis
 
set tu dis
att ts 42.tap
+
att ts 43.tap
 
set tti 7b
 
set tti 7b
 
set tto 7b
 
set tto 7b
Line 85: Line 84:
  
 
<pre>
 
<pre>
C:\4.2BSD\work>vax780 install.ini
+
C:\4.3BSD\work>vax780.exe install.ini
  
 
VAX780 simulator V3.8-0
 
VAX780 simulator V3.8-0
 
RQ: creating new file
 
RQ: creating new file
1.txt> set rq1 dis
+
install.ini> set rq1 dis
 
Command not allowed
 
Command not allowed
 
loading ra(0,0)boot
 
loading ra(0,0)boot
 
Boot
 
Boot
 
: ra(0,0)vmunix
 
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
+
279844+80872+100324 start 0x12f8
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
+
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
real mem  = 8384512
+
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
avail mem = 7073792
+
real mem  = 8388608
using 102 buffers containing 835584 bytes of memory
+
SYSPTSIZE limits number of buffers to 140
 +
avail mem = 7187456
 +
using 140 buffers containing 524288 bytes of memory
 
mcr0 at tr1
 
mcr0 at tr1
 
mcr1 at tr2
 
mcr1 at tr2
Line 105: Line 106:
 
rk0 at hk0 slave 0
 
rk0 at hk0 slave 0
 
rk1 at hk0 slave 1
 
rk1 at hk0 slave 1
 +
rk2 at hk0 slave 2
 +
rk3 at hk0 slave 3
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
ra0 at uda0 slave 0
 
ra0 at uda0 slave 0
Line 114: Line 117:
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
+
Changing root device to ra0a
WARNING: clock gained 94 days -- CHECK AND RESET THE DATE!
+
WARNING: clock lost 121 days -- CHECK AND RESET THE DATE!
WARNING: should run interleaved swap with >= 2Mb
 
 
erase ^?, kill ^U, intr ^C
 
erase ^?, kill ^U, intr ^C
 
#
 
#
Line 132: Line 134:
 
</pre>
 
</pre>
  
This will create a 'device' for the ra1 disk, then run the xtr program to restore the root dump.
+
This will create a 'device' for the ra1 disk, then run the xtr program to restore the root dump.  Take note that the chgrp & chmod commands are not found, however the install will proceed as normal.
  
 
<pre>
 
<pre>
Line 138: Line 140:
 
# cd /dev
 
# cd /dev
 
# ./MAKEDEV ra1
 
# ./MAKEDEV ra1
 +
./MAKEDEV: chgrp: not found
 +
./MAKEDEV: chmod: not found
 
# cd /
 
# cd /
 
# disk=ra1 type=ra81 tape=ts xtr
 
# disk=ra1 type=ra81 tape=ts xtr
 
Build root file system
 
Build root file system
 
Warning: 538 sector(s) in last cylinder unallocated
 
Warning: 538 sector(s) in last cylinder unallocated
/dev/rra1a:    15884 sectors in 23 cylinders of 14 tracks, 51 se
+
/dev/rra1a:    15884 sectors in 23 cylinders of 14 tracks, 51 sectors
 
         8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
 
         8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
 
super-block backups (for fsck -b#) at:
 
super-block backups (for fsck -b#) at:
Line 154: Line 158:
 
** Phase 4 - Check Reference Counts
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
** Phase 5 - Check Cyl groups
2 files, 9 used, 7420 free (20 frags, 925 blocks)
+
2 files, 9 used, 7420 free (20 frags, 925 blocks, 0.3% fragmentation)
 
Rewind tape
 
Rewind tape
 
Restore the dump image of the root
 
Restore the dump image of the root
Line 165: Line 169:
 
** Phase 4 - Check Reference Counts
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
** Phase 5 - Check Cyl groups
313 files, 3568 used, 3861 free (21 frags, 480 blocks)
+
317 files, 4199 used, 3230 free (6 frags, 403 blocks, 0.1% fragmentation)
 
Root filesystem extracted
 
Root filesystem extracted
  
If this is a 780, update floppy
+
If this is an 8650 or 8600, update the console rl02
 +
If this is a 780 or 785, update the floppy
 
If this is a 730, update the cassette
 
If this is a 730, update the cassette
 
#
 
#
Line 181: Line 186:
 
# sync
 
# sync
  
Simulation stopped, PC: 80001620 (FFS #0,#20,8003ED44,R0)
+
Simulation stopped, PC: 800018AE (BRB 800018A3)
 
sim> q
 
sim> q
 
Goodbye
 
Goodbye
  
C:\4.2BSD\work>
+
C:\4.3BSD\work>
 
</pre>
 
</pre>
 
  
 
==  Boot 2. ==
 
==  Boot 2. ==
Line 205: Line 209:
 
set tq dis
 
set tq dis
 
set tu dis
 
set tu dis
att ts 42.tap
+
att ts 43.tap
 
set tti 7b
 
set tti 7b
 
set tto 7b
 
set tto 7b
Line 219: Line 223:
  
 
<pre>
 
<pre>
C:\4.2BSD\work>vax780.exe boot.ini
+
C:\4.3BSD\work>vax780.exe boot.ini
  
 
VAX780 simulator V3.8-0
 
VAX780 simulator V3.8-0
TS: creating new file
 
 
loading ra(0,0)boot
 
loading ra(0,0)boot
 
Boot
 
Boot
 
: ra(0,0)vmunix
 
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
+
279844+80872+100324 start 0x12f8
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
+
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
real mem  = 8384512
+
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
avail mem = 7073792
+
real mem  = 8388608
using 102 buffers containing 835584 bytes of memory
+
SYSPTSIZE limits number of buffers to 140
 +
avail mem = 7187456
 +
using 140 buffers containing 524288 bytes of memory
 
mcr0 at tr1
 
mcr0 at tr1
 
mcr1 at tr2
 
mcr1 at tr2
Line 237: Line 242:
 
rk0 at hk0 slave 0
 
rk0 at hk0 slave 0
 
rk1 at hk0 slave 1
 
rk1 at hk0 slave 1
 +
rk2 at hk0 slave 2
 +
rk3 at hk0 slave 3
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
ra0 at uda0 slave 0
 
ra0 at uda0 slave 0
ra1 at uda0 slave 1
 
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
ts0 at zs0 slave 0
 
ts0 at zs0 slave 0
Line 246: Line 252:
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
+
Changing root device to ra0a
WARNING: should run interleaved swap with >= 2Mb
 
 
Automatic reboot in progress...
 
Automatic reboot in progress...
Mon Feb  6 05:05:49 PST 1984
+
Thu Feb  6 07:35:07 PST 1986
 
Can't open checklist file: /etc/fstab
 
Can't open checklist file: /etc/fstab
 
Automatic reboot failed... help!
 
Automatic reboot failed... help!
Line 264: Line 269:
 
# name=ra0h;type=ra81
 
# name=ra0h;type=ra81
 
# cd /dev
 
# cd /dev
# ./MAKEDEV ts0;sync
+
# sh ./MAKEDEV ts0;sync
 
# cd /
 
# cd /
 
# newfs $name $type
 
# newfs $name $type
Line 275: Line 280:
 
# name=ra0h;type=ra81
 
# name=ra0h;type=ra81
 
# cd /dev
 
# cd /dev
# ./MAKEDEV ts0;sync
+
# sh ./MAKEDEV ts0;sync
 
# cd /
 
# cd /
 
# newfs $name $type
 
# newfs $name $type
Warning: 28 sector(s) in last cylinder unallocated
+
Warning: 680 sector(s) in last cylinder unallocated
/dev/rra0h:    759668 sectors in 1064 cylinders of 14 tracks, 51 sectors
+
/dev/rra0h:    291346 sectors in 409 cylinders of 14 tracks, 51 sectors
         389.0Mb in 67 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
+
         149.2Mb in 26 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
 
super-block backups (for fsck -b#) at:
 
super-block backups (for fsck -b#) at:
  32, 11512, 22992, 34472, 45952, 57432, 68912, 80392, 91872, 103352,
+
  32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
  114832, 126312, 137792, 149272, 160752, 172232, 182816, 194296, 205776, 217256,
+
  114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
  228736, 240216, 251696, 263176, 274656, 286136, 297616, 309096, 320576, 332056,
+
  228768, 240256, 251744, 263232, 274720, 286208,
343536, 355016, 365600, 377080, 388560, 400040, 411520, 423000, 434480, 445960,
 
457440, 468920, 480400, 491880, 503360, 514840, 526320, 537800, 548384, 559864,
 
571344, 582824, 594304, 605784, 617264, 628744, 640224, 651704, 663184, 674664,
 
686144, 697624, 709104, 720584, 731168, 742648, 754128,
 
 
#
 
#
 
</pre>
 
</pre>
Line 318: Line 319:
  
 
<pre>
 
<pre>
 +
# mount /dev/$name /usr
 +
# cd /usr
 +
# mkdir sys
 +
# cd sys
 +
# mt rew
 +
# mt fsf 3
 +
# tar xpbf 20 /dev/rmt12
 +
# cd ..
 +
# mt fsf
 +
# tar xpbf 20 /dev/rmt12
 +
# cd /
 
# chmod 755 / /usr /usr/sys
 
# chmod 755 / /usr /usr/sys
 
# rm -rf sys
 
# rm -rf sys
Line 330: Line 342:
 
** Phase 4 - Check Reference Counts
 
** Phase 4 - Check Reference Counts
 
** Phase 5 - Check Cyl groups
 
** Phase 5 - Check Cyl groups
3735 files, 25550 used, 336310 free (166 frags, 84036 blocks)
+
4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation)
 
#
 
#
 
</pre>
 
</pre>
Line 349: Line 361:
  
 
<pre>
 
<pre>
# cd /etc
 
 
# cp fstab.ra81 fstab
 
# cp fstab.ra81 fstab
 
# newfs ra0g ra81
 
# newfs ra0g ra81
Warning: 30 sector(s) in last cylinder unallocated
+
/dev/rra0g:    515508 sectors in 722 cylinders of 14 tracks, 51 sectors
/dev/rra0g:    82080 sectors in 115 cylinders of 14 tracks, 51 sectors
+
         263.9Mb in 46 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
         42.0Mb in 8 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
 
 
super-block backups (for fsck -b#) at:
 
super-block backups (for fsck -b#) at:
  32, 11512, 22992, 34472, 45952, 57432, 68912, 80392,
+
  32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 +
114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 +
 
 +
228768, 240256, 251744, 263232, 274720, 286208, 297696, 309184, 320672, 332160,
 +
 
 +
343648, 355136, 365600, 377088, 388576, 400064, 411552, 423040, 434528, 446016,
 +
 
 +
457504, 468992, 480480, 491968, 503456, 514944,
 
# sync
 
# sync
 
# reboot
 
# reboot
 
syncing disks... done
 
syncing disks... done
  
Reboot requested, PC: 80021716 (ADDL2 #8,SP)
+
Reboot requested, PC: 8002B03A (MOVL 8004F628,R0)
 
sim> q
 
sim> q
 
Goodbye
 
Goodbye
Line 372: Line 389:
  
 
<pre>
 
<pre>
C:\4.2BSD\work>vax780.exe boot.ini
+
C:\4.3BSD\work>vax780.exe boot.ini
  
 
VAX780 simulator V3.8-0
 
VAX780 simulator V3.8-0
Line 378: Line 395:
 
Boot
 
Boot
 
: ra(0,0)vmunix
 
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
+
279844+80872+100324 start 0x12f8
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
+
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
real mem  = 8384512
+
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
avail mem = 7073792
+
real mem  = 8388608
using 102 buffers containing 835584 bytes of memory
+
SYSPTSIZE limits number of buffers to 140
 +
avail mem = 7187456
 +
using 140 buffers containing 524288 bytes of memory
 
mcr0 at tr1
 
mcr0 at tr1
 
mcr1 at tr2
 
mcr1 at tr2
Line 389: Line 408:
 
rk0 at hk0 slave 0
 
rk0 at hk0 slave 0
 
rk1 at hk0 slave 1
 
rk1 at hk0 slave 1
 +
rk2 at hk0 slave 2
 +
rk3 at hk0 slave 3
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
uda0 at uba0 csr 172150 vec 774, ipl 15
 
ra0 at uda0 slave 0
 
ra0 at uda0 slave 0
ra1 at uda0 slave 1
 
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
zs0 at uba0 csr 172520 vec 224, ipl 15
 
ts0 at zs0 slave 0
 
ts0 at zs0 slave 0
Line 398: Line 418:
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz2 at uba0 csr 160120 vec 320, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
 
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
+
Changing root device to ra0a
WARNING: should run interleaved swap with >= 2Mb
 
 
Automatic reboot in progress...
 
Automatic reboot in progress...
Mon Feb  6 05:21:02 PST 1984
+
Thu Feb  6 07:43:43 PST 1986
/dev/ra0a: 326 files, 3569 used, 3860 free (20 frags, 480 blocks)
+
/dev/ra0a: 330 files, 4200 used, 3229 free (5 frags, 403 blocks, 0.1% fragmentat
/dev/rra0h: 3735 files, 25550 used, 336310 free (166 frags, 84036 blocks)
+
ion)
/dev/rra0g: 2 files, 9 used, 77750 free (14 frags, 9717 blocks)
+
/dev/rra0h: 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% f
Mon Feb  6 05:21:15 PST 1984
+
ragmentation)
check quotas: done.
+
/dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmenta
local daemons: routed telnetd ftpd talkd syslog sendmail.
+
tion)
 +
Thu Feb  6 07:43:50 PST 1986
 +
checking quotas: done.
 +
starting system logger
 +
checking for core dump... /a/crash: No such file or directory
 +
 
 +
Feb  6 07:43:51 myname savecore: /a/crash: No such file or directory
 +
starting local daemons:Feb  6 07:43:51 myname named[53]: /etc/named.boot: No suc
 +
h file or directory
 +
named sendmail.
 
preserving editor files
 
preserving editor files
 
clearing /tmp
 
clearing /tmp
standard daemons: update cron accounting mail    Mon Feb 6 05:21:17 PST 1984
+
standard daemons: update cron accounting.
 
+
starting network daemons: rwhod inetd printer.
  printer.
+
Thu Feb 6 07:43:52 PST 1986
starting network: rshd rexecd rlogind rwhod.
+
Feb  6 07:43:54 myname getty: /dev/tty03: No such file or directory
Mon Feb  6 05:21:18 PST 1984
+
Feb  6 07:43:54 myname getty: /dev/tty02: No such file or directory
 +
Feb  6 07:43:54 myname getty: /dev/tty05: No such file or directory
 +
Feb  6 07:43:54 myname getty: /dev/tty04: No such file or directory
 +
Feb  6 07:43:54 myname getty: /dev/tty07: No such file or directory
 +
Feb 6 07:43:54 myname getty: /dev/tty06: No such file or directory
 +
Feb  6 07:43:54 myname getty: /dev/tty00: No such file or directory
 +
Feb  6 07:43:54 myname getty: /dev/tty01: No such file or directory
  
  
4.2 BSD UNIX (myname)
+
4.3 BSD UNIX (myname.my.domain) (console)
  
 
login:
 
login:
Line 426: Line 460:
  
 
<pre>
 
<pre>
4.2 BSD UNIX (myname)
 
 
 
login: root
 
login: root
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
+
Feb  6 07:43:56 myname login: ROOT LOGIN console
 +
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
  
 
Would you like to play a game?
 
Would you like to play a game?
  
You have mail.
 
 
Don't login as root, use su
 
Don't login as root, use su
 
myname#
 
myname#
Line 442: Line 474:
 
=== Enabling remote users ===
 
=== Enabling remote users ===
  
You can add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..
+
Inside of BSD 4.3 you will have to create the dz device files.  Simply logon as root, and run the following commands:
 +
 
 +
<pre>
 +
cd /dev
 +
sh ./MAKEDEV dz0
 +
</pre>
 +
 
 +
Next, shutdown the OS, and add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..).  This will allow for 8 users to connect on tcp port 8888.
  
 
<pre>
 
<pre>
Line 453: Line 492:
  
  
 +
== Idle ==
 +
 +
On SIMH 3.8-0 I've noticed that if you set the cpu idle to 32v, 4.3 BSD can idle on the 11/780 emualtor...  Simply add the following line to your boot.ini
 +
 +
<pre>
 +
set cpu idle=32v
 +
</pre>
  
[[Category:Tutorials]]
+
[[Category:SIMH Tutorials]]

Latest revision as of 05:15, 1 September 2018

This is the procedure that I have used to install 4.3 BSD onto SIMH's vax 11/780 emulator. Please note that this is the STOCK 4.3 BSD, not RENO, TAHOE or any other variant.

Requirements

You will need the following materials to put together a 4.3 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.3BSD directory. You can use the files from the TUHS archive, here. 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

Preparing for installation

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 43.tap .

% ./mkdisttap.pl > 43.tap
% ls -l 43.tap
-rw-r--r--  1 Neozeed  None_ploc  111442472 Feb  6 15:18 43.tap

Next you will need the boot program. The boot program from 4.2 BSD works with 4.3 BSD. 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 rq2 dis
set rq3 dis
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis
att ts 43.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2

Booting the emulator

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

C:\4.3BSD\work>vax780.exe install.ini

VAX780 simulator V3.8-0
RQ: creating new file
install.ini> set rq1 dis
Command not allowed
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 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
rk2 at hk0 slave 2
rk3 at hk0 slave 3
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
Changing root device to ra0a
WARNING: clock lost 121 days -- CHECK AND RESET THE DATE!
erase ^?, kill ^U, intr ^C
#

Restoring the rootdump

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. Take note that the chgrp & chmod commands are not found, however the install will proceed as normal.

erase ^?, kill ^U, intr ^C
# cd /dev
# ./MAKEDEV ra1
./MAKEDEV: chgrp: not found
./MAKEDEV: chmod: not found
# 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 sectors
        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, 0.3% fragmentation)
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
317 files, 4199 used, 3230 free (6 frags, 403 blocks, 0.1% fragmentation)
Root filesystem extracted

If this is an 8650 or 8600, update the console rl02
If this is a 780 or 785, update the 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: 800018AE (BRB 800018A3)
sim> q
Goodbye

C:\4.3BSD\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 43.tap
set tti 7b
set tto 7b
load -o boot42 0
d r10 9
d r11 0
run 2

Booting the emulator

Now boot up the emulator with the boot.ini

C:\4.3BSD\work>vax780.exe boot.ini

VAX780 simulator V3.8-0
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 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
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
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
Changing root device to ra0a
Automatic reboot in progress...
Thu Feb  6 07:35:07 PST 1986
Can't open checklist file: /etc/fstab
Automatic reboot failed... help!
erase ^?, kill ^U, intr ^C
#

Preparing the disk

Now we have to prep the machine for both the tape, and the type of disk. Type in the following commands.

# disk=ra
# name=ra0h;type=ra81
# cd /dev
# sh ./MAKEDEV ts0;sync
# cd /
# newfs $name $type

The output will be like this:

# disk=ra
# name=ra0h;type=ra81
# cd /dev
# sh ./MAKEDEV ts0;sync
# cd /
# newfs $name $type
Warning: 680 sector(s) in last cylinder unallocated
/dev/rra0h:     291346 sectors in 409 cylinders of 14 tracks, 51 sectors
        149.2Mb in 26 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,
 228768, 240256, 251744, 263232, 274720, 286208,
#

Restoring the usr slice

The disk's /usr slice will not have been formatted. We can not go ahead and mount it, and restore the /usr files. Then we unmount the slice, and run fsck to make sure everything is ok.

# mount /dev/$name /usr
# cd /usr
# mkdir sys
# cd sys
# mt rew
# mt fsf 3
# tar xpbf 20 /dev/rmt12
# cd ..
# mt fsf
# tar xpbf 20 /dev/rmt12
# cd /
# chmod 755 / /usr /usr/sys
# rm -rf sys
# ln -s /usr/sys sys
# umount /dev/$name
# fsck /dev/r$name

Likewise, the output should be similar to this:

# mount /dev/$name /usr
# cd /usr
# mkdir sys
# cd sys
# mt rew
# mt fsf 3
# tar xpbf 20 /dev/rmt12
# cd ..
# mt fsf
# tar xpbf 20 /dev/rmt12
# cd /
# chmod 755 / /usr /usr/sys
# rm -rf sys
# ln -s /usr/sys sys
# umount /dev/$name
# fsck /dev/r$name
** /dev/rra0h
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% fragmentation)
#

Configuring the fstab

Now we just need to create the fstab, format the 'home' slice, and then we can reboot the emulator into multiuser mode. Enter in the following commands:

# cd /etc
# cp fstab.ra81 fstab
# newfs ra0g ra81
# sync
# reboot

And the expected output is as follows:

# cp fstab.ra81 fstab
# newfs ra0g ra81
/dev/rra0g:     515508 sectors in 722 cylinders of 14 tracks, 51 sectors
        263.9Mb in 46 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 11520, 23008, 34496, 45984, 57472, 68960, 80448, 91936, 103424,
 114912, 126400, 137888, 149376, 160864, 172352, 182816, 194304, 205792, 217280,

 228768, 240256, 251744, 263232, 274720, 286208, 297696, 309184, 320672, 332160,

 343648, 355136, 365600, 377088, 388576, 400064, 411552, 423040, 434528, 446016,

 457504, 468992, 480480, 491968, 503456, 514944,
# sync
# reboot
syncing disks... done

Reboot requested, PC: 8002B03A (MOVL 8004F628,R0)
sim> q
Goodbye

First Multiuser Boot

Now we can just re-run the last command, and we should boot multiuser! By default there is no root password. Also the system will run fsck uppon boot, so depending on your host computer this could take a while.


C:\4.3BSD\work>vax780.exe boot.ini

VAX780 simulator V3.8-0
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
279844+80872+100324 start 0x12f8
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986
    karels@monet.Berkeley.EDU:/usr/src/sys/GENERIC
real mem  = 8388608
SYSPTSIZE limits number of buffers to 140
avail mem = 7187456
using 140 buffers containing 524288 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
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
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
Changing root device to ra0a
Automatic reboot in progress...
Thu Feb  6 07:43:43 PST 1986
/dev/ra0a: 330 files, 4200 used, 3229 free (5 frags, 403 blocks, 0.1% fragmentat
ion)
/dev/rra0h: 4645 files, 35630 used, 102954 free (162 frags, 12849 blocks, 0.1% f
ragmentation)
/dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmenta
tion)
Thu Feb  6 07:43:50 PST 1986
checking quotas: done.
starting system logger
checking for core dump... /a/crash: No such file or directory

Feb  6 07:43:51 myname savecore: /a/crash: No such file or directory
starting local daemons:Feb  6 07:43:51 myname named[53]: /etc/named.boot: No suc
h file or directory
 named sendmail.
preserving editor files
clearing /tmp
standard daemons: update cron accounting.
starting network daemons: rwhod inetd printer.
Thu Feb  6 07:43:52 PST 1986
Feb  6 07:43:54 myname getty: /dev/tty03: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty02: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty05: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty04: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty07: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty06: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty00: No such file or directory
Feb  6 07:43:54 myname getty: /dev/tty01: No such file or directory


4.3 BSD UNIX (myname.my.domain) (console)

login:


Now we can simply logon as root.

login: root
Feb  6 07:43:56 myname login: ROOT LOGIN console
4.3 BSD UNIX #1: Fri Jun  6 19:55:29 PDT 1986

Would you like to play a game?

Don't login as root, use su
myname#

From here you can explore the system. All of the man pages are installed, and there is enough of a base system to get going. Sadly there are bugs in how 4.2 BSD and how SIMH interact with the networking, and it is not reliable. As sad as it is to be an 'island' you can however setup the dz serial interface to allow more than one user.

Enabling remote users

Inside of BSD 4.3 you will have to create the dz device files. Simply logon as root, and run the following commands:

cd /dev
sh ./MAKEDEV dz0

Next, shutdown the OS, and add the following lines into the boot.ini (just make sure they are above the boot command or it'll not work correctly..). This will allow for 8 users to connect on tcp port 8888.

set dz lines=8
att dz 8888
set dz 7b

I would also recommend to windows users, either putty, or syncterm. The default telnet client sucks.


Idle

On SIMH 3.8-0 I've noticed that if you set the cpu idle to 32v, 4.3 BSD can idle on the 11/780 emualtor... Simply add the following line to your boot.ini

set cpu idle=32v