DECstation 5000/200 specific notes

PrevUp

The 2xx series of DECstations are remarkable insofar, as one could stuff on obscene amount (for its time, around 1991/92) of RAM into it. This came at a price, however, since there is no room left for an internal hard disk. One had to attach DECs "Storage Expansion" boxes of the same size as the machine itself. Of course any other external SCSI disk would do as well.
Over time I've acquired to of these boxes, a DECstation and a DECsystem. The latter differs only in that DEC originally sold it w/o gfx card, i.e. as a pure server.
I used both boxes for OS restoration projects.
The station I setup for multi-boot purposes, connected to a DEC StorageWorks system with three disks, loaded with recovered dump tapes of some ancient GSI ULTRIX servers, of vintage 1992/93 The system I setup to boot an ancient Ultrix 3.1D disk image from early 1990s, apparently from Uni Paderborn.

Pixx

DECsystem 5000/200 front view DECsystem 5000/200 inside DECsystem 5000/200 rear view

Memory configuration

Accepts 8 and 32MB modules. Mixing is in principle possible i.e. recognized by the console, but the Maintenance Guide says it's a no-no. ULTRIX might be able to recognize it, provided 32MBs come first and 1x8MB in last socket, but what for?

Bootable CD-ROM

Boots from RRD40.

Restoring an ancient ULTRIX system from backup tapes

Example for GSI's ancient RZDS5A ULTRIX server, works similarly for DSAA dump files on disks rz0,rz2
Ingredients: ULTRIX dump tapes of the /, /usr,/var,/var/adm/ris filesystems, a DEC TLZ07 (DDS-2) tape drive with SCSI ID=6, an RZ29L disk (4.3GB) with SCSI ID=1, a an RRD40 CD-ROM drive with SCSI ID=4, an ULTRIX 4.3 CD.
The general strategy is to restore the root filesystem from tape to disk, reboot from disk and restore the remaining filesystems.
  1. Booting from backup tape did not work, so the original ULTRIX CD was used:
    boot 5/rz4/vmunix
    
    then choose option System Management
  2. make necessary special files
    cd /dev
    MAKEDEV rz1 # disk
    MAKEDEV tz6 # tape, creates /dev/rmt0h
    
  3. start partitioning the disk:
    rzdisk    -g current             /dev/rrz1c  # query disk properties, if needed
    /etc/chpt -a                     /dev/rrz1a  # create partition table
    
    at this point I've found chpt to fail sometimes. Reboot from CD and start a Basic Installation of the root filesystem. Reboot from CD into System Management and resume restoration as follows.
    /etc/chpt -v -pc       0 8380080 /dev/rrz1c  # entire disk, blocks from rzdisk
    /etc/chpt -v -pa       0 1048576 /dev/rrz1c  # /
    /etc/chpt -v -pb 1048576  524288 /dev/rrz1c  # swap
    /etc/chpt -v -pg 1572864 3145728 /dev/rrz1c  # /usr
    /etc/chpt -v -pf 4718592  524288 /dev/rrz1c  # /var
    /etc/chpt -v -pf 5242880 2097152 /dev/rrz1c  # /var/adm/ris
    
  4. restore the root filesystem:
    cd /
    mkfs       /dev/rrz1a 1048576                # superblocks 32, 8256, ..., 1040896
    /etc/fsck  /dev/rrz1a
    /etc/mount /dev/rrz1a /mnt
    cd /mnt
    restore -rvf /dev/rmt0h
    cd /
    /etc/umount /dev/rz1a
    /etc/fsck   /dev/rz1a # 835 files
    sync; sync; /etc/halt
    
  5. Boot from freshly created root partition on disk:
    boot 5/rz1/genvmunix  # boot into single user mode
    
  6. make necessary special files:
    cd /dev
    MAKEDEV rz1 # disk
    MAKEDEV tz6 # tape, might create different special /dev/rmt1h et al.
    
  7. restore the /usr filesystem:
    cd /
    mkfs       /dev/rrz1g 3145728      # super-blocks 32, 8256, 16480, ..., 1056832, ..., 3198048 
    /etc/fsck  /dev/rrz1g
    /etc/mount /dev/rrz1g /usr
    cd /usr
    restore -rvf /dev/rmt1h
    rm restoresymtable
    cd /
    /etc/umount /dev/rz1g
    /etc/fsck   /dev/rz1g # 13270 files
    
  8. restore the /var filesystem:
    cd /
    mkfs       /dev/rrz1f  524288      # superblocks 32, 8256, ..., 74048, ..., 319744, ..., 516608
    /etc/fsck  /dev/rrz1f
    /etc/mount /dev/rrz1f /var
    cd /var
    restore -rvf /dev/rmt1h
    rm restoresymtable
    cd /
    /etc/umount /dev/rz1f
    /etc/fsck   /dev/rz1f # 876 files
    
  9. restore the /var/adm/ris filesystem:
    cd /
    mkfs       /dev/rrz1h 2097152      # superblocks 32, 8256, ..., 74048, ..., 975104, ..., 1630464, ..., 2089472
    /etc/fsck  /dev/rrz1h
    /etc/mount /dev/rrz1f /var
    /etc/mount /dev/rrz1h /var/adm/ris
    cd /var/adm/ris
    restore -rvf /dev/rmt1h
    rm restoresymtable
    cd /
    /etc/umount /dev/rz1h
    /etc/fsck   /dev/rz1h # 612 files
    
  10. mount restored filesystems:
    /etc/mount /dev/rrz1g /usr
    /etc/mount /dev/rrz1h /var/adm/ris
    
    save and adapt essential files /etc/fstab,/etc/hosts,/etc/resolv.conf,/etc/rc.local,/etc/passwd
  11. if a graphics adapter is present and X login should run, adapt the last line of /etc/ttys, i.e. sth like:
    :0 "/usr/bin/login -P /usr/bin/Xprompter -C /usr/bin/dxsession -e" none on secure window="/usr/bin/Xws bc -dpi0 75"
    
  12. rebuild kernel:
    cd /sys/conf/mips
    cp RZDS5A RZDS5A.gsi   # save old configuration file,
    vi RZDS5A              # edit and revise configuration file as needed:
                           # physmem 120
                           # config root on rz1a swap on rz1b size 524288
                           # device px0 at ibus? vector pxintr
    config RZDS5A          # build the system configuration files
    cd /sys/MIPS/RZDS5A    # change to the new configuration directory
    make clean             # cleanup 
    make depend            # dependencies
    make                   # build the new kernel
                           # if unresolved references occur,
                           # check configuration file for unsupported devices
    mv /vmunix /vmunix.gsi # save the old kernel
    cp vmunix /            # install the new kernel
    shutdown -h now
    
    and reboot

Restoring an ancient ULTRIX system from a disk image

Ingredients: binary image of an rz0 ULTRIX 3.1D disk, configured for a DECstation 5000/200. Filesystem layout:
/usr : 142/240kB
/    :  10/ 20kB
/home:  10/230kB
so a 500MB disk would be enough.
  1. Make a working copy on a real disk (e.g. via dd on a Unix system)
  2. Connect peripherals (monitor,splitter) and the external disk to a DS 5200, try boot:
    boot 5/rz0/vmunix   # single user mode
    # gives output:
    Ultrixboot V3.0 Wed Feb 21 00:57:21 EST 1990
    
    If the boot process seems to hang at starting, it is well probable that the image was not configured for a gfx card, not even a lowly PMAG-A. It barfs for example:
    Module in slot 0 has bad ROM format, can't configure it
    so the boot procedure switches to serial console.
  3. If gfx is not supported in the kernel, remove the gfx card, connect a VTxxx console (at the S3 connector, may need setenv console s ).
  4. Reboot into single user mode
    boot 5/rz0/vmunix      # single user mode
    # or:
    boot 5/rz0/genvmunix   # single user mode generic kernel
    
    and repair "dirty" filesystems via fsck. Reset root password.
  5. Rebooting into multiuser mode most probably will fail due to different networking environment, i.e. it will hang somewhere in or after execution of /etc/rc.local. One may inspect the error log files in the /usr/adm/syserr/ directory (specified in /etc/elcsd.conf/) for further information.
    Enable full access to the system disk:
    mount /dev/rz0g /usr # enable access to usual commands
                         # add other mounts, if applicable
                         # enable use of vi:
    TERM=vt100
    export TERM
    
    Before modifying vital config files, one should save them, like e.g.:
    mv /etc/file /etc/save.file; cp /etc/save.file /etc/file
    
    (this old ULTRIX lacks cp -p).
  6. Remove remote mounts in /etc/fstab
  7. Customize, where applicable, just as for a fresh ULTRIX installation.

Last updated: 6-Oct-2010, M.Kraemer