[mod.computers.vax] Running UNIX 4.3 BSD on MicroVAX-II

leonid@TAURUS.BITNET.UUCP (02/28/87)

I have installed the Berkeley UNIX 4.3 BSD on a MicroVAX-II and here is
a summary of this configuration for those who would like to try to do
it themselves. If any paricular quesion arises, please feel free to
mail me at: leonid@taurus.BITNET.
 
You can do this without already having Ultrix running on this MicroVAX,
but since you have to buy either VMS or Ultrix with it, I asume you
have an Ultrix running, then you actually don't need RX50 and TK50.  I
did this without having Ultrix on the MicroVAX, in which case you still
need the boot stuff from Ultrix, i.e. boot block (first 8Kbytes of your
first disk) that may be also found under /usr/mdec on Ultrix, and the
/boot program. BSD 4.3 standalone programs (copy, boot, format) do not
support MicroVAX II.
 
In any case you need a DEQNA connected to another VAX running BSD 4.3
through an Ethernet.
 
Asuming you already run Ultrix:
 
Configure a vmunix on yor VAX for the MicroVAX, devices ra[012], qe0,
pseudo-device inet, loop, ether and options INET mus be included.
copy this vmunix (via rcp) to the Microvax as /vmunix.new.
Copy the command rsh to /bin on the Microvax:
# cp /usr/ucb/rsh /bin
Halt your Microvax, and boot it as following:
 
>>>B/3 DUA0
 
The boot program will display:
 
Boot
:
 
Type:
ra(0,0)vmunix.new
 
Now you should get into single-user and get the '#' prompt.
Now you must configure your MicroVAX to work on Ethernet:
# ifconfig lo0 localhost up
# hostname littleone
# ifconfig qe0 littleone up
Substitute the hostname of MicroVAX for "littleone".
 
Now you should be able to access the other VAX "bigvax" through Ethernet:
# rsh bigvax date
You might have to add "littleone" to /.rhosts on bigvax.
Copy the binaries from bigvax to littleone with tar using the following
commands:
# cd DESTDIR ; rsh bigvax '( cd SRCDIR ; tar cf - .)' | tar xvpf -
You shoudl copy bigvax:/etc to /newetc, bigvax:/bin /newbin.
Rename the new binaries to their correct names:
# cp /bin/rsh /newbin
# cd / ; mv /etc /oldetc ; mv /newetc /etc ; mv /newbin /bin
Also rebuild the /dev/directory, run the new fsck on the filesystems
which will correct the directories to be multiple of 512, move your
passwd, group, printcap etc. from /oldetc to /etc and rename /vmunix.new
to /vmunix. Now you can copy the other binaries from bigvax to littleone
using the above tar sequence.
You must also edit your new /etc/rc.local and make sure that "ifconfig lo0..."
comes before "ifconfig qe0 ..."
 
There are some things that you must bot replace, i.e. continue to use the
Ultrix version: /boot, boot-block, /usr/mdec, /etc/disktab.
 
Also there is a problem with 4.3 BSD that you must fix in order to make
your 4.3 work with RX50 floppies: edit the file /sys/vaxuba/uda.c,
*** /sys/vaxuba/uda.c   Thu Jan  1 14:26:32 1987
--- sys/uda.c   Fri Feb 27 19:18:35 1987
***************
*** 78,84 ****
  struct size {
        daddr_t nblocks;
        daddr_t blkoff;
! }  ra25_sizes[8] = {
        15884,  0,              /* A=blk 0 thru 15883 */
        10032,  15884,          /* B=blk 15884 thru 49323 */
        -1,     0,              /* C=blk 0 thru end */
--- 78,93 ----
  struct size {
        daddr_t nblocks;
        daddr_t blkoff;
! }  rx50_sizes[8] = {          /* RX50 Floppy */
!       800,    0,
!       0,      0,
!       -1,     0,
!       0,      0,
!       0,      0,
!       0,      0,
!       0,      0,
!       0,      0,
! },  ra25_sizes[8] = {
        15884,  0,              /* A=blk 0 thru 15883 */
        10032,  15884,          /* B=blk 15884 thru 49323 */
        -1,     0,              /* C=blk 0 thru end */
***************
*** 939,944 ****
--- 948,956 ----
                        switch((int)(mp->mscp_mediaid & 0x7f)){
                        case    25:
                                ra_info[ui->ui_unit].ra_sizes = ra25_sizes;
+                               break;
+                       case    50:
+                               ra_info[ui->ui_unit].ra_sizes = rx50_sizes;
                                break;
                        case    52:
                                ra_info[ui->ui_unit].ra_sizes = rd52_sizes;
 ***********
 
I guess that that's it folks. Everything else is simple ehougth.
 
        Leonid Rosenboim