Installing 4.3 BSD RENO on SIMH

From Computer History Wiki
Jump to: navigation, search

This is the procedure that I have used to install 4.3 BSD onto SIMH's MicroVAX II emulator. Please note that this is 4.3 BSD RENO.

  • NOTE that the tape does NOT boot under SIMH. Instead you also need a 4.3 BSD system to build the bootable disk to be used for RENO.


Requirements

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

  • A working perl interpeter to make the tape images.
  • A copy of gzip.
  • A working installation of 4.3 BSD (stock).
  • A compiled binary of vax from SIMH, along with the ka655x.bin again from SIMH.


You will need the following files from any 4 BSD archive from the 4.3BSD-Reno 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..


contrib.tar.gz
miniroot.gz
rootdump.gz
src.tar.gz
srcsys.tar.gz
stand.gz
usr.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 42.tap .

% ./mkdisttap.pl > 43reno.tap
% ls -l 43reno.tap
-rw-r--r--  1 Neozeed  None_ploc  151832520 Feb  6 22:25 43reno.tap

Cross installation notes

For the fun of it I re-installed 4.3 then made a copy of the 4.3 disk & put it in the ra1 position, and used that as a starting place to manually restore reno onto ra1..

Here are my steps for anyone interested:

-inside 4.3-----
newfs /dev/ra1a ra81
mount /dev/ra1a /mnt2
cd /mnt2
mt rew
mt fsf 2
restore r
newfs /dev/ra1g ra81
mount /dev/ra1g /mnt2/usr
cd /mnt2/usr
mt rew
mt fsf 3
tar xpbf 20 /dev/rmt12
----

inject the following into /mnt2/etc/rc after export $PATH

---8<---8<---8<---8<---8<
mount -uw /dev/ra0a /
echo 'here we go'
sh
---8<---8<---8<---8<---8<
cp /mnt2/usr/mdec/* /mnt2/mdec

time to create /mnt2/etc/fstab

---8<---8<---8<---8<---8<
cat > /mnt2/etc/fstab
/dev/ra0a	/	ufs	rw	1 1
/dev/ra0g	/usr	ufs	rw	1 2
---8<---8<---8<---8<---8<

touch /mnt2/var/spool/uucp/ERRORS
touch /mnt2/etc/sendmail.cf
touch /mnt2/etc/named.boot
touch /mnt2/etc/exports

comment out the following lines in /mnt2/etc/netstart

---8<---8<---8<---8<---8<
#ifconfig imp0 inet $hostname
#ifconfig ace0 inet $hostname netmask my-netmask
#ifconfig ex0 inet $hostname netmask my-netmask
#ifconfig en0 inet $hostname netmask my-netmask
---8<---8<---8<---8<---8<
umount /dev/ra1g
umount /dev/ra1a
halt

Now boot into 4.3RENO

mount /dev/ra0g /usr
cd /dev
./MAKEDEV ts0
./MAKEDEV dz0
./MAKEDEV pty0


Now we can finally remove the lines we injected into /etc/rc & reboot.

Since we are still in the 11/780 mode, you will want to lay down a disklabel that the MicroVAX II can understand.

disklabel -rw ra0 ra81 “Reno” /usr/mdec/rdboot /usr/mdec/bootra

You should get something like this:

---8<---8<---8<---8<---8<

VAX780 simulator V3.5-2
Listening on port 2311 (socket 7)
Modem control activated
loading ra(0,0)boot

Boot
: /vmunix
ra0: unlabeled
441420+129124+180204 start 0x239c
4.3 BSD Reno UNIX #4: Sat Jul 28 13:24:08 PDT 1990
    trent at kerberos.berkeley.edu:/nbsd/usr/src/sys/GENERIC.allvax
real mem = 8388608
SYSPTSIZE limits number of buffers to 104
avail mem = 6887424
using 104 buffers containing 524288 bytes of memory
VAX 11/780, serial# 1234(0), hardware ECO level 7(112)
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
uda0: version 3 model 6
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: no disk label: ra81, size = 891072 sectors
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
/dev/rra0a: 355 files, 3094 used, 4335 free (15 frags, 540 blocks, 0.2%
fragmentation)
/dev/rra0g: 3705 files, 42280 used, 202945 free (489 frags, 25307 blocks,0.2% fragmentation)
starting network
add host myname.my.domain: gateway localhost
starting system logger, time daemon.
checking quotas: done.
Feb  3 00:16:59 myname timed[31]: No network usable
preserving editor files
clearing /tmp
turning on accounting
accton: No such file or directory
standard daemons: update cron.
starting network daemons: routed namedFeb  3 00:17:08 myname named[64]:
/etc/named.boot: No such file or directory
 inetd printer portmap mountdFeb  3 00:17:09 myname mountd:[77]: Can't open
/etc/exports
 nfsd nfsiod sendmailcannot open /etc/sendmail.cf: No such file or directory
.
starting local daemons:.
Mon Feb  3 00:17:12 GMT 1986
Feb  3 00:17:14 myname getty: /dev/tty07: Unknown error: -2146915672
Feb  3 00:17:14 myname getty: /dev/tty06: Unknown error: 1024
Feb  3 00:17:14 myname getty: /dev/tty02: Unknown error: 1024
Feb  3 00:17:14 myname getty: /dev/tty00: Unknown error: 1024
Feb  3 00:17:14 myname getty: /dev/tty01: Unknown error: 1024


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

login: Feb  3 00:17:14 myname getty: /dev/tty05: Unknown error: 1024
Feb  3 00:17:14 myname getty: /dev/tty03: Unknown error: 1024
Feb  3 00:17:14 myname getty: /dev/tty04: Unknown error: 1024
root
Feb  3 00:17:21 myname login: ROOT LOGIN ON console
Feb  3 00:17:21 myname login: ROOT LOGIN ON console
Warning: no Kerberos tickets issued.
4.3 BSD Reno UNIX #4: Sat Jul 28 13:24:08 PDT 1990

Would you like to play a game?

TERM = (unknown)
---8<---8<---8<---8<---8<

Unfortunately the dz0 doesn't seem to work...

And for completeness here is the config file I used to go between 4.3 & 4.3 RENO

;4.3BSD RENO
;Note you can find the install instructions in the usr.tar
;/usr/doc/smm/01.setup/2.t
;
;*NOTE that 4.3BSD RENO has only been tested with the VAX 11/780
;emulator simh v3-5.2
;Setup the RQ controller with a single ra81 disk. AFAIK 4.3 doesn't support
;anything larger.

;Use this set to stage the RENO install with 2 disks
;set rq0 ra81
;att rq0 43/ra81.dsk
;set rq1 ra81
;att rq1 43RENO/ra81.dsk

;Use this set to boot into RENO
set rq0 ra81
att rq0 43RENO/ra81.dsk
set rq1 dis

set rq2 dis
set rq3 dis
;Too many devices confuse BSD so disable them.  Also not that the hp works
;in standalone, but causes BSD to hang..
set rp dis
set lpt dis
set rl dis
set tq dis
set tu dis

;Install tape, the FORMAT document describes 3 tapes for 4.3BSD RENO
at ts 43RENO/reno.tap
;Install tapes, the FORMAT document describes 3 tapes for 4.3BSD
;at ts 43/43-1.tap
;at ts 43/43-2.tap
;at ts 43/43-3.tap

;Once Installed you can disable the tape drive, or just leave it
;alone.. Its up to you.
;set ts dis
;
;Set the console to 7bit for 'normal' operations.
set tti 7b
set tto 7b
;Setup the dz tty's with 8 lines. You can telnet to the localhost on
;port 2311 and 'login'.  Usefull until the networking gets sorted out.
set dz 7b
set dz lines=8
at -m dz0 2311
;
;
;Ethernet support... currently broken :|
;set xu ena
;
;Until I can figure out how to boot off of tape, I extract the following
;standalone programs and 'inject' them into core and run them directly
;sure its cheating, but it works.. for now.
;*note that these standalone programs are from 43 not RENO.
;
;Uncomment the one line to run the 'copy' program
;load -o copy43 0

;Uncomment the next 3 lines to run the interactive boot program
;load -o boot43 0
;d r10 9
;d r11 0

;Uncomment the next 3 lines to run the bootra (less prompting the user!)
program.
load -o bootra43 0
d r10 9
d r11 0

;Run the emulator!
run 2

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.