Installing 2.11BSD: Restoring the root file system on RM03

Parent Category: How-to's Category: 2.11BSD Unix on PDP-11/44 Written by Administrator


  • We’re still under SimH,
  • we have an empty root file system on an RM03 disk drive as /dev/xp0a,
  • we have bad sectors marked.

We CANNOT restore the root file system onto the RM03 as we did for the RL02 : This worked by importing a whole filesystem image from tape, which would override our bad sector files in the /BAD directory. Instead, we have to copy file-by-file from the RL02 disk, make symbolic links, generated device nodes etc. This should reproduce the root file system from RL02 on RM03 :

mount /dev/xp0a /mnt
cp .cshrc .hushlogin .kermrc .login .mailrc .profile .rhosts .tiprc /mnt
cp README VERSION boot genunix toyset unix /mnt

tar cf - a | (cd /mnt && tar xBf -)
tar cf - bin | (cd /mnt && tar xBf -)
tar cf - dev | (cd /mnt && tar xBf -)
tar cf - etc | (cd /mnt && tar xBf -)
tar cf - lib | (cd /mnt && tar xBf -)
tar cf - mdec | (cd /mnt && tar xBf -)
tar cf - sbin | (cd /mnt && tar xBf -)
tar cf - tmp | (cd /mnt && tar xBf -)
tar cf - usr | (cd /mnt && tar xBf -)
tar cf - var | (cd /mnt && tar xBf -)

mkdir /mnt/mnt
mkdir /mnt/usr/src
mkdir /mnt/usr/src/sys

ln -s /usr/src/sys /mnt/sys
ln -s /unix /mnt/vmunix

cd /mnt/dev
./MAKEDEV std local hk0 hk1 ra0 ra1 ra2 ra3 mt0 mt1 nmt0 nmt1 xp0 xp1 rl0 rl1 pty0 lp0

MAKEDEV generates a usable set of device nodes, we will use it again after kernel setup.
Write the boot sector:
# dd if=/mdec/rm03uboot of=/dev/rxp0a count=1
1+0 records in
1+0 records out
# sync
# halt

You can now boot from the RM03 drive:

sim> b rp
44Boot from xp(0,0,0) at 0176700
: xp(0,0,0)unix

Boot: bootdev=05000 bootcsr=0176700
2.11 BSD UNIX #115: Sat Apr 22 19:07:25 PDT 2000

This email address is being protected from spambots. You need JavaScript enabled to view it.:/usr/src/sys/GENERIC
phys mem = 3932160
avail mem = 3708224
user mem = 307200
June 9 00:56:24 init: configure system

hk 0 csr 177440 vector 210 attached
ht ? csr 172440 vector 224 skipped:  No CSR.
ra 0 csr 172150 vector 154 vectorset attached
rl 0 csr 174400 vector 160 attached
tm 0 csr 172520 vector 224 attached
tms 0 csr 174500 vector 260 vectorset attached
ts ? csr 172520 vector 224 interrupt vector already in use.
xp 0 csr 176700 vector 254 attached
erase, kill ^U, intr ^C

Do and fsck, but don’t delete /BAD/* files!

# fsck /dev/xp0a

Swap device

As for the RL02, we have to correct /dev/swap. Edit  “/dev/MAKEDEV.local” and change the first line to:

rm -f swap;             ln xp0b swap

Then do

# cd /dev
# ./MAKEDEV local

Getting /usr onto the simulated RM03 disk

Load /usr and the mninimal build environment form tape.
They are tar archives in tape file #6 and #7:

Make sure you executed already these statements:

# cd /dev;rm *mt*; ./MAKEDEV tm0; sync                 
# mkdir /usr/src
# mkdir /usr/src/sys
# df
Filesystem 1K-blocks    Used   Avail Capacity Mounted on
root           60699    3023   57676    5%   /

Now let the tape spin ...

# cd / ; 
# mt rew ; mt fsf 7 ; tar xvpbf 20 /dev/rmt12
# cd /usr
# mt rew ; mt fsf 6 ; tar xvpbf 20 /dev/rmt12
# sync

The disk is  quite full now:

# df
Filesystem 1K-blocks    Used   Avail Capacity Mounted on
root           60699    41488   19211    68%   /

The BSD sources in tape file #8, called "ar dump of /usr/src, excepting include and sys", do not fit onto the rest of this disk.

Transfering the SimH RM03 image to the real thing

We have an SimH image of the RM03 system disk, which must be moved to the physical RM03.

I use PDP11GUI with its "Disk Image Read/Write window". More to come ....