Installing Ultrix 4.5 on MicroVAX 3100

Page content

Ultrix 4.5 on a MicroVAX 3100

I wanted to install Ultrix on my VAX, described here. Here is some log regarding installation.

The installation was already documented by various people, so it is nothing new, and credits go to these people.

Ultrix version used is from 1995, so 28 years old.

The following screenshot shows, after installation, some DEC Windows tools, remote displayed on my Linux machine. You see 2xdtterm, dxpaint, dxpuzzle, dxnotepad and dxclock.

Get Ultrix install media

I describe here an installation using a CDROM, because this is what I have connected to my MicroVAX.

Ultrix 4.5 install media can be found at various places. The file is called ultrix-vax-4.5-mode1.ufs.bz2. Despite it is an ufs file system, just uncompress this file and burn it as “ISO image” onto a CD.

Then start installation by booting from that media. My CDROM drive is named DKB500, so I boot from it.

Installation will go to target disk RZ10, named DK200. This is a 500MB SCSI2SD virtual hard disk drive on a SD Card.

>>> b DKB500

-DKB500
Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995

Loading (a)vmunix ...

Sizes:
text = 945424
data = 1290240
bss  = 757940
Starting at 0x5219

ULTRIX V4.5 (Rev. 47) System #2: Wed Oct 18 12:06:55 EDT 1995
real mem  = 16658432
avail mem = 11443200
Buffer configuration adjusted to run with small system page table
using 240 buffers containing 1665024 bytes of memory
KA41-A/B with an FPU
scsi0 at uba0 csr 0x200c0080 vec 0x1f8, ipl 0x14
rz1 at scsi0 slave 1 (RZxx) [ MAXTOR  7345-SCSI        1761 ]
scsi1 at uba0 csr 0x200c0180 vec 0x1fc, ipl 0x14
rz8 at scsi1 slave 0 (RZxx) [ NEC     DSE2100S         0306 ]
rz9 at scsi1 slave 1 (RZxx) [ rhcomp  RD54              5.2 ]
rz10 at scsi1 slave 2 (RZxx) [ rhcomp  RD54              5.2 ]
rz11 at scsi1 slave 3 (RZxx) [ rhcomp  RD54              5.2 ]
rz12 at scsi1 slave 4 (RZxx) [ rhcomp  RD54              5.2 ]
rz13 at scsi1 slave 5 (RZxx)
ss0 at uba0 csr 0x200a0000 vec 0xc0, ipl 0x14
WARNING: todr too small -- CHECK AND RESET THE DATE!

*** STANDALONE ULTRIX ENVIRONMENT ***

If you select the BASIC Installation option from the list that follows,
the installation software creates file systems on default partitions on
your system disk and loads the mandatory ULTRIX software subsets.

If you require additional installation choices, select the ADVANCED
Installation option.

Select one of the following options:

        1) BASIC Installation
        2) ADVANCED Installation
        3) System management 

Enter your choice: 2

*** SYSTEM DISK SELECTION ***

The 'Guide to Installing ULTRIX' explains the following table
of system disk drives.  Select one of the devices below to contain the
root file system:

SYSTEM DISK TABLE

Selection   Device     ULTRIX     Device       Controller   Controller
Name       Name       Number       Name         Number
---------------------------------------------------------------------- 
    1       RZxx        rz1          1         VS_SCSI        0
    2       RZxx        rz8          0         VS_SCSI        1
    3       RZxx        rz9          1         VS_SCSI        1
    4       RZxx        rz10         2         VS_SCSI        1
    5       RZxx        rz11         3         VS_SCSI        1
    6       RZxx        rz12         4         VS_SCSI        1
    7       RZxx        rz13         5         VS_SCSI        1
---------------------------------------------------------------------- 

Enter your choice: 4

You selected RZxx, device number 10. Make sure this disk drive
is on line and write-enabled (if applicable to your disk drive), then
confirm your choice.

Use RZxx, rz10, for your system disk? (y/n) []: y

The installation procedure now allocates the root file system on
partition 'a' of the system disk, rz10 RZxx.

Making the root file system on rz10 RZxx.

The installation procedure is now restoring the root file system to
partition 'a' of the system disk, rz10 RZxx.

The installation procedure now checks the root file system on partition 'a'
of the system disk, rz10  RZxx.
** /dev/rrz10a
** Last Mounted on /mnt
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
226 files, 4548 used, 9082 free (114 frags, 1121 blocks, 0.8% fragmentation)

*** BOOTSTRAP COMMAND SEQUENCE ***

Enter the following boot sequence at the console mode prompt
after the installation software halts the processor:

        >>> b dkb200


syncing disks... done

?06 HLT INST
PC = 8007F739

So the first part of installation is done, and the next part is started by rebooting, now from the target disk named DKB200.

>>> b dkb200

-DKB200
Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995

Loading (a)vmunix ...

Sizes:
text = 1153664
data = 281088
bss  = 1043548
Starting at 0x5219

ULTRIX V4.5 (Rev. 47) System #3: Wed Oct 18 11:49:00 EDT 1995
real mem  = 16658432
avail mem = 11918336
Buffer configuration adjusted to run with small system page table
using 238 buffers containing 1665024 bytes of memory
KA41-A/B with an FPU
scsi0 at uba0 csr 0x200c0080 vec 0x1f8, ipl 0x14
rz1 at scsi0 slave 1 (RZxx) [ MAXTOR  7345-SCSI        1761 ]
scsi1 at uba0 csr 0x200c0180 vec 0x1fc, ipl 0x14
rz8 at scsi1 slave 0 (RZxx) [ NEC     DSE2100S         0306 ]
rz9 at scsi1 slave 1 (RZxx) [ rhcomp  RD54              5.2 ]
rz10 at scsi1 slave 2 (RZxx) [ rhcomp  RD54              5.2 ]
rz11 at scsi1 slave 3 (RZxx) [ rhcomp  RD54              5.2 ]
rz12 at scsi1 slave 4 (RZxx) [ rhcomp  RD54              5.2 ]
rz13 at scsi1 slave 5 (RZxx)
ss0 at uba0 csr 0x200a0000 vec 0xc0, ipl 0x14
sh0 at uba0 csr 0x38000000 vec 0x44, ipl 0x14
ln0 at ibus0 csr 0x200e0000 vec 0x50, ipl 0x14
ln0: DEC LANCE Ethernet Interface, hardware address: 08:00:2b:26:46:99

*** SYSTEM NAME SPECIFICATION ***

Select the name of your system using alphanumeric characters.
The first character must be a letter.   For example, tinker.

Enter your system name:  uvax

You selected uvax as the name of your system.
Is this correct? (y/n) [y]: y

*** DATE AND TIME SPECIFICATION ***

The current date and time should be specified using the following
format:

        yymmddhhmm

Use two digits for year (yy), month (mm), day (dd), hour (hh), and
minute (mm).  Enter the time in 24-hour format.  For example, 02:54
p.m. on Feb 2, 1993 would be entered as:

        9302021454

Enter the date and time: 2310221239

*** TIME ZONE SELECTION ***

Select the time zone for your area, using the options listed in the
table below.  You can also enter the number of hours (-12 to 12) in
time east of Greenwich.

Selection     Time Zone
---------------------------------
      e         Eastern
      c         Central
      m         Mountain
      p         Pacific
      g         Greenwich
---------------------------------

Enter your choice: g

Does your area alternate between Daylight Savings and Standard
time? (y/n) [y]: y


Select your geographic area for Daylight Savings Time, using the
options in the table below.

Selection     Geographic Area
--------------------------------
      u         USA
      a         Australia
      e         Eastern Europe
      c         Central Europe
      w         Western Europe
--------------------------------

Enter your choice [u]: w

The current date and time is Thu Oct 22 12:39:13 WET DST 1970


*** SPECIFY THE SUPERUSER PASSWORD ***
The Guide to Installing ULTRIX instructs you on how to enter
the superuser password.  
Changing password for root
Enter new password:
Password unchanged.
Trying again to set Super User password. . .  
Changing password for root
Enter new password:
Password unchanged.
Trying again to set Super User password. . .  
Changing password for root
Enter new password:
Password must be at least 6 characters long, password unchanged.
Trying again to set Super User password. . .  
Changing password for root
Enter new password:
Verify:


*** FILE SYSTEM DEFAULT OPTION ***

The following table shows the default file system layout on RZxx, rz10:

partition     bottom        top       size    overlap       default
a              0      32767      32768    c,d,e,f,h     root
b          32768     163839     131072    c             swap, dump
g         163840    1023999     860160    c             /usr

If you choose the defaults, the var area will be allocated to /usr/var.

Do you want to choose the default file system layout? (y/n): y

Making the new file system for /usr on /dev/rrz10g RZxx

This distribution media includes subsets for ULTRIX Worksystem
Software (UWS).  A UWS license (on a workstation) or a UWS Server
License (on a timesharing machine or server) is required to install
these subsets.

Do you want to install ULTRIX Worksystem Software? y/n []: n

*** SUPPORTED SOFTWARE INSTALLATION ***
Working....Thu Oct 22 13:01:00 WET DST 1970

*** Enter Subset Selections ***

The following subsets are mandatory and will be installed automatically:
* Base System                           * Kernel Config Files
* TCP/IP Networking Utilities           * Network File System Utilities
* Extended (Berkeley) Mailer

The subsets listed below are optional:
1) Printer Support Environment          2) RAND Mail Handler
3) Sys. Config. Mgmt. Program (SCAMP)   4) Communications Utilities
5) Unix-to-Unix Copy Facility 8         6) Maintenance Operations Protocol
7) Accounting Software                  8) Kerberos Network Authentication
9) Enhanced Security Features          10) Prestoserve Utilities
11) System Exerciser Package            12) Bisynchronous Communications
13) Doc. Preparation for Ref. Pages     14) Doc. Preparation Extensions
15) Adobe Font Metric Files             16) Software Development Utilities
17) Source Code Control System          18) Internationalization Runtime Env.
19) Internationalization Dev. Env.      20) CDA Base System
21) CDA Software Dev Libraries          22) RPC Runtime Environment
23) RPC Development Environment         24) Pascal Development Package
25) VAX C/ULTRIX                        26) Ref. Pages for Sys. Admin. & Users
27) Reference Pages for Programers      28) Programming Examples
29) Ultrix SPDS

30) All mandatory and all optional subsets
31) Mandatory subsets only
32) Exit without installing subsets

Enter your choice(s): 1 25 26 16

        Working....Thu Oct 22 13:09:02 WET DST 1970

You are installing the following subsets:
Base System                             Kernel Config Files                  
TCP/IP Networking Utilities             Network File System Utilities        
Extended (Berkeley) Mailer              Printer Support Environment          
Software Development Utilities          VAX C/ULTRIX                         
Ref. Pages for Sys. Admin. & Users

Is this correct? (y/n): y

Base System  (ULTBASE450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:10:36 WET DST 1970
Working....Thu Oct 22 13:12:41 WET DST 1970
Working....Thu Oct 22 13:14:45 WET DST 1970
Verifying
Working....Thu Oct 22 13:15:25 WET DST 1970

Kernel Config Files  (ULTBIN450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:17:04 WET DST 1970
Working....Thu Oct 22 13:19:08 WET DST 1970
Verifying
Working....Thu Oct 22 13:20:19 WET DST 1970

TCP/IP Networking Utilities  (ULTINET450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:21:16 WET DST 1970
Verifying
Working....Thu Oct 22 13:22:38 WET DST 1970

Network File System Utilities  (ULTNFS450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:23:03 WET DST 1970
Verifying

Extended (Berkeley) Mailer  (ULTUMAIL450)
Copying from /mnt/VAX/BASE (disk)
Verifying

Printer Support Environment  (ULTPRINT450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:24:31 WET DST 1970
Verifying

Software Development Utilities  (ULTPGMR450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:25:35 WET DST 1970
Verifying
Working....Thu Oct 22 13:26:50 WET DST 1970

VAX C/ULTRIX  (ULTVAXC450)
Copying from /mnt/VAX/BASE (disk)
Working....Thu Oct 22 13:27:14 WET DST 1970
Verifying
setld:
Error installing Ref. Pages for Sys. Admin. & Users  (ULTMAN450):
Subset ULTMAN450 requires the existence of subset ULTDCMT450 to operate
correctly. Please install subset ULTDCMT450 before trying to install
subset ULTMAN450.

The installation software successfully installed the mandatory software
subsets. However, it failed to install other parts of the supported
software subsets. You can continue with the installation and install
the other supported software subsets at a later time using the setld
utility or, you can request that the installation software again try
to install these supported software subsets.

Select one of the following options:

        1) Continue with the installation
        2) Try to re-install supported software subsets

1

so we need to reinstall subsets 16 and 26 later… But lets just continue.

Installing Upgrade subsets
The following subsets will be installed:
* Generic Kernel                       
  Do you wish to continue? (y/n): y

Generic Kernel  (ULTGENVMUNIX451)
Copying from /mnt/VAX/BASE_UPGRADE (disk)
Working....Thu Oct 22 13:32:00 WET DST 1970
Verifying

The installation procedure has successfully installed the Upgrade
subsets

*** CONFIGURATION FILE KERNEL OPTION SELECTION ***

    Selection   Kernel Option 
---------------------------------------------------------------
        1       Local Area Transport (LAT)
        2       Bisynchronous Communication protocol (VAX only)
        3       Computer Interconnect (CI) network
        4       Diagnostic/Utilities Protocol (DUP)
        5       ISO9660 File System Support (CDFS)
        6       Ethernet Packet Filter
        7       Enhanced Security Features
        8       All of the above
        9       None of the above
----------------------------------------------------------------

Enter the selection number for each kernel option you want.
For example, 1 3 :  5

You specified the following kernel options:

        ISO9660 File System Support (CDFS)

Is this correct? (y/n) [n]: y

*** SYSTEM CONFIGURATION PROCEDURE ***

Configuration file complete.

Do you want to edit the configuration file? (y/n) [n]: n

*** PERFORMING SYSTEM CONFIGURATION ***


    working ..... Thu Oct 22 13:33:51 WET DST 1970
    working ..... Thu Oct 22 13:35:52 WET DST 1970
    working ..... Thu Oct 22 13:37:52 WET DST 1970
    working ..... Thu Oct 22 13:39:52 WET DST 1970

*** DEVICE SPECIAL FILE CREATION ***
working ..... Thu Oct 22 13:41:14 WET DST 1970

*** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***

The following files were created during the installation procedure:

/vmunix                         - customized kernel
/genvmunix                      - generic kernel
/usr/adm/install.log            - installation log file
/usr/adm/install.FS.log         - file systems log file
/usr/adm/install.DEV.log        - special device log file


Enter the following boot sequence at the console mode prompt
after the installation software halts the processor:

        >>> b dkb200

syncing disks... done

?06 HLT INST
PC = 80098555

Installation is done.

Lets try first boot with installed system:

>>> b dkb200

-DKB200
Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995

Loading (a)vmunix ...

Sizes:
text = 673068
data = 100864
bss  = 546012
Starting at 0x2c19

ULTRIX V4.5 (Rev. 47) System #1: Thu Oct 22 13:40:44 WET DST 1970
real mem  = 16658432
avail mem = 12685312
using 406 buffers containing 1665024 bytes of memory
KA41-A/B with an FPU
scsi0 at uba0 csr 0x200c0080 vec 0x1f8, ipl 0x14
rz1 at scsi0 slave 1 (RZxx) [ MAXTOR  7345-SCSI        1761 ]
scsi1 at uba0 csr 0x200c0180 vec 0x1fc, ipl 0x14
rz8 at scsi1 slave 0 (RZxx) [ NEC     DSE2100S         0306 ]
rz9 at scsi1 slave 1 (RZxx) [ rhcomp  RD54              5.2 ]
rz10 at scsi1 slave 2 (RZxx) [ rhcomp  RD54              5.2 ]
rz11 at scsi1 slave 3 (RZxx) [ rhcomp  RD54              5.2 ]
rz12 at scsi1 slave 4 (RZxx) [ rhcomp  RD54              5.2 ]
rz13 at scsi1 slave 5 (RZxx)
ss0 at uba0 csr 0x200a0000 vec 0xc0, ipl 0x14
sh0 at uba0 csr 0x38000000 vec 0x44, ipl 0x14
ln0 at ibus0 csr 0x200e0000 vec 0x50, ipl 0x14
ln0: DEC LANCE Ethernet Interface, hardware address: 08:00:2b:26:46:99
WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
Sun Jul  4 13:00:00 WET DST 1976
Automatic reboot in progress...
/dev/rz10a: SUMMARY INFORMATION BAD (SALVAGED)
/dev/rz10a: FILE SYSTEM MODIFIED, VERIFYING
/dev/rz10a: 643 files, 5695 used, 7935 free (207 frags, 966 blocks, 1.5% fragmentation)


VMS/VMB  ULTRIX    ADDR    DEVTYP  NUMBYTES  RM/FX  WP  DEVNAM  REV
 -------  ------  --------  ------  --------  -----  --  ------  ---
ESA0     SE0     08-00-2B-26-46-99

DKA100   RZ1     A/1/0/00  DISK      345 MB   FX        7345-SC1761
...HostID....    A/6       INITR

DKB0     RZ8     B/0/0/00  DISK     2.11 GB   FX        DSE21000306
DKB100   RZ9     B/1/0/00  DISK      524 MB   FX        RD54    5.2
DKB200   RZ10    B/2/0/00  DISK      524 MB   FX        RD54    5.2
DKB300   RZ11    B/3/0/00  DISK     1.93 GB   FX        RD54    5.2
DKB400   RZ12    B/4/0/00  DISK     1.93 GB   FX        RD54    5.2
DKB500   RZ13    B/5/0/00  RODISK    174 MB   RM        CDR400t1.0k
...HostID....    B/6       INITR

[ESA0:]  ?>>>  

Uh that did not work out. I suppose the file system repair which was done interrupts automated boot. So I started the boot again, and now it worked:

>>> b dkb200

-DKB200
Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995

Loading (a)vmunix ...

Sizes:
text = 673068
data = 100864
bss  = 546012
Starting at 0x2c19

ULTRIX V4.5 (Rev. 47) System #1: Thu Oct 22 13:40:44 WET DST 1970
real mem  = 16658432
avail mem = 12685312
using 406 buffers containing 1665024 bytes of memory
KA41-A/B with an FPU
scsi0 at uba0 csr 0x200c0080 vec 0x1f8, ipl 0x14
rz1 at scsi0 slave 1 (RZxx) [ MAXTOR  7345-SCSI        1761 ]
scsi1 at uba0 csr 0x200c0180 vec 0x1fc, ipl 0x14
rz8 at scsi1 slave 0 (RZxx) [ NEC     DSE2100S         0306 ]
rz9 at scsi1 slave 1 (RZxx) [ rhcomp  RD54              5.2 ]
rz10 at scsi1 slave 2 (RZxx) [ rhcomp  RD54              5.2 ]
rz11 at scsi1 slave 3 (RZxx) [ rhcomp  RD54              5.2 ]
rz12 at scsi1 slave 4 (RZxx) [ rhcomp  RD54              5.2 ]
rz13 at scsi1 slave 5 (RZxx)
ss0 at uba0 csr 0x200a0000 vec 0xc0, ipl 0x14
sh0 at uba0 csr 0x38000000 vec 0x44, ipl 0x14
ln0 at ibus0 csr 0x200e0000 vec 0x50, ipl 0x14
ln0: DEC LANCE Ethernet Interface, hardware address: 08:00:2b:26:46:99
Sun Jul  4 13:01:12 WET DST 1976
Automatic reboot in progress...
/dev/rz10a: 643 files, 5695 used, 7935 free (207 frags, 966 blocks, 1.5% fragmentation)
/dev/rrz10g: 2545 files, 33767 used, 324562 free (1002 frags, 40445 blocks, 0.3% fragmentation)
Warning Creating new license database
Warning creating new history file
check quotas: done.
savecore: checking for dump...dump does not exist
local daemons: syslog sendmail.
Removing remnant Opser files
preserving editor files
clearing /tmp
standard daemons: update cron accounting network snmpd printer.
start errlog daemon - elcsd
Sun Jul  4 13:03:15 WET DST 1976


ULTRIX V4.5 (Rev. 47) (uvax)

login: root
Password:

ULTRIX V4.5 (Rev. 47) System #1: Thu Oct 22 13:40:44 WET DST 1970

                Digital Equipment Corporation
                Nashua, New Hampshire


*** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***

The following files were created during the installation procedure:

/vmunix                         - customized kernel
/genvmunix                      - generic kernel
/usr/adm/install.log            - installation log file
/usr/adm/install.FS.log         - file systems log file
/usr/adm/install.DEV.log        - special device log file

# 

Great. Date is wrong, because the Y2K patch was not yet applied to installed Ultrix.

Next step would be to install Y2K patch and some additional software.

Install additional software

Mount CDROM

# mount -r /dev/rz13c /mnt
# ls /mnt
VAX             lost+found      ultrixboot      vmunix
# cd /mnt/VAX/BASE

Not all packages were offered to be installed during installation. So lets restart that part. Start software installation tool

# setld -l .


*** Select the DECwindows User Interface ***

1) DECwindows for OSF/Motif
2) X11/DECwindows (XUI)

Enter your choice [1]: 2

*** Enter Subset Selections ***

The subsets listed below are optional:
 1) RAND Mail Handler                    2) Sys. Config. Mgmt. Program (SCAMP)  
 3) Communications Utilities             4) Unix-to-Unix Copy Facility          
 5) Maintenance Operations Protocol      6) Accounting Software                 
 7) Kerberos Network Authentication      8) Enhanced Security Features          
 9) Prestoserve Utilities               10) System Exerciser Package            
11) Bisynchronous Communications        12) Doc. Preparation for Ref. Pages     
13) Doc. Preparation Extensions         14) Adobe Font Metric Files             
15) Source Code Control System          16) Internationalization Runtime Env.   
17) Internationalization Dev. Env.      18) CDA Base System                     
19) CDA Software Dev Libraries          20) RPC Runtime Environment             
21) RPC Development Environment         22) Pascal Development Package          
23) Ref. Pages for Sys. Admin. & Users  24) Reference Pages for Programers      
25) Programming Examples                26) Ultrix SPDS                         
27) X11/DECwindows Servers              28) X11/DECwindows User Environment     
29) X11/DECwindows 75dpi Fonts          30) X11/DECwindows 100dpi Fonts         
31) VS35XX X11/DECwindows Fonts         32) Additional DECwindows Applications  
33) DECwindows Mail Application         34) Worksystem Development Environment  
35) X11/DECwindows System Management T  36) UWS Runtime Reference Pages         
37) UWS Development Reference Pages     

38) All mandatory and all optional subsets
39) Mandatory subsets only
40) Exit without installing subsets

Enter your choice(s): 27 28 29 30 31 35


        Working....Sun Jul  4 14:41:34 WET DST 1976

You are installing the following subsets:
   X11/DECwindows Servers                  X11/DECwindows User Environment      
   X11/DECwindows 75dpi Fonts              X11/DECwindows 100dpi Fonts          
   VS35XX X11/DECwindows Fonts             X11/DECwindows System Management To  

Is this correct? (y/n): y

Configure network

# netstat -i
Name   Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
ln0*   1500  none        none                   0     0        0     0     0
lo0    1536  loop        localhost              1     0        1     0     0

# ifconfig ln0 192.168.178.41 netmask 255.255.255.0 up
# route add default 192.168.178.1 1

Last two lines entered manually need to be added to /etc/rc.local:

# head /etc/rc.local
# @(#)rc.local  9.4     (ULTRIX)        9/21/95
/bin/hostname uvax
#/etc/ifconfig HDWR `/bin/hostname` broadcast NETNUM.0 netmask 255.0

# next two lines new DD
/etc/ifconfig ln0 192.168.178.41 netmask 255.255.255.0 up            <--- new
route add default 192.168.178.1 1                                    <--- new

/etc/ifconfig lo0 localhost
#/etc/bscconfig dup0 bsc 1

Also create a /etc/resolv.conf:

# cat /etc/resolv.conf
domain fritz.box
nameserver 192.168.178.1

For DNS resolving, we need to modify /etc/svc.conf. Either edit it manually or use command svcsetup. We need to change the value for hosts to local,bind (its only local by default).

Then networking should work.

Make telnet work

I did not install all possible packages during installation. So I noticed telnetd was missing. So I added telnetd, which is contained in package ULTCOMM450 .

setld -l . ULTCOMM450

(I also added packages DXVDECW450, DXVX11450, DXVXM450, ULTAFM450, UWSDECW450, containing additional X11/Motif software.)

Also, add “secure” option to all telnet tty lines in /etc/ttys:

ttyp0   none            network secure
ttyp1   none            network secure
ttyp2   none            network secure
ttyp3   none            network secure
ttyp4   none            network secure
ttyp5   none            network secure
ttyp6   none            network secure

After that, it is possible to telnet from external machine:

dennis@dennis-pc:~> telnet 192.168.178.41 
Trying 192.168.178.41...
Connected to 192.168.178.41.
Escape character is '^]'.

ULTRIX V4.5 (Rev. 47) (uvax)

login:

Make X11 clients work

My MicroVAX has no graphics display hardware. But I can start X clients using remote display capability of X11. For ancient machines, there is often not the “ssh -X” option (which forwards X11 protocol through ssh connection). Simplest way is to use socat:

On machine where the client should be displayed (my Linux machine), execute:

socat -d -d TCP-LISTEN:6000,fork UNIX-CONNECT:/tmp/.X11-unix/X0
xhost +

Then, with DISPLAY variable set on client (MicroVAX 3100 machine in my case), the client can be started. DNS resolution is not working, so I use the IP address of my Linux machine (192.168.178.62). Display id is “0.0”:

# Ultrix runs a csh, so I need setenv command
setenv DISPLAY 192.168.178.62:0.0
dtterm &

And, tada, the dtterm window appears on my Linux machine. Whoa, I have seen this kind of window last time around 1995…

A real beauty :-)

Install unsupported software

# cd ../UNSUPPORTED
# ls
DXVUNDEMO450   ULXDOC450      ULXINGRES450   ULXRCS450      ULXUNMAN450
ULXAPL450      ULXEDIT450     ULXLEARN450    ULXSHELLS450   ULXUNMIT450
ULXBASE450     ULXF77450      ULXLISP450     ULXSPMS450     ULXVARIAN450
ULXBIB450      ULXGAMES450    ULXMAN450      ULXTERM450     instctrl
ULXCOURIER450  ULXHYPER450    ULXMOD2450     ULXTOOLS450
ULXCPM450      ULXICON450     ULXNEWS450     ULXUNEXAMP450
ULXDCMT450     ULXINET450     ULXNOTES450    ULXUNFONTS450
# setld -l . 

*** Enter Subset Selections ***

The subsets listed below are optional:
 1) Base Extension                       2) GNU Emacs                           
 3) TCP/IP Networking Util Extension     4) Additional Terminal Drivers         
 5) Document Preparation Software        6) Games and Diversions                
 7) Supplementary Documentation          8) Bibliographic Utilities             
 9) Remote Procedure Call Compiler      10) Aux. Command Line Interpreters      
11) USENET News Interface Software      12) Notesfiles Package                  
13) Revision Control System             14) Misc. User-Contributed Utilities    
15) Computer Aided System Tutor         16) Franz Lisp Development Package      
17) Modula-2 Development Package        18) Raster Plotter Package              
19) APL Development Package             20) CP/M 8in Diskette Utility           
21) Hyperchannel Utilities              22) ICON (Language) Development Packag  
23) University Ingres QUEL DBMS         24) Software Project Management System  
25) Unsupported Fortran Utilities       26) Unsupported On-Line Documentation   
27) Unsupported X11 Components          28) Unsupported DECwindows Examples     
29) Unsupported MIT Fonts               30) Unsupported X11 Reference Pages     
31) Unsupported OSF/Motif Demos         

32) All mandatory and all optional subsets
33) Mandatory subsets only
34) Exit without installing subsets

Enter your choice(s): 1 3 10 27 31

You are installing the following subsets:
   Base Extension                          TCP/IP Networking Util Extension     
   Aux. Command Line Interpreters          Unsupported X11 Components           
   Unsupported OSF/Motif Demos          

Is this correct? (y/n): 
...

Shutdown

# from manual, this should work, but does not for me:
shutdown -h now

# this is ugly, but works
shutdown now
init 0        // seems not to do anything
umount /usr
umount /      // seems not to do anything
sync
halt

PATH for root

Ultrix is an old UNIX, so tools are not always where one would expect them (e.g. there are binaries in /etc). Just as a note:

# echo $PATH
/usr/ucb:/bin:/usr/bin:/etc:/etc/sec:/usr/etc:/usr/etc/sec:/usr/local:/usr/new:/usr/hosts:.

Y2K Patch

Get the file ultrix_base_Y2k_vax.tar. This contains a large set of patches, including the Y2K patch. Extract tar file, and execute patch per patch in directory SCRIPTS. Note that a environment variable must be set and that each patch file is a shell script. There is one file explicitely named YEAR_2000.install which is a link to some of the patch files.

I had not installed mail clients, and during patch application, there are errors regarding this. These are harmless.

# ls
ultrix_base_Y2k_vax.tar
# df    
Filesystem   Total    kbytes   kbytes   %     
node         kbytes   used     free     used  Mounted on
/dev/rz10a     13630    5801    6466    47%   /
/dev/rz10g    358329   95525  226972    30%   /usr
# tar xvf ultrix_base_Y2k_vax.tar^C
# mkdir y2k
# cd y2k
# tar xvf ../ultrix_base_Y2k_vax.tar
x ./ntalkd, 57344 bytes, 112 blocks
x ./Mail, 140288 bytes, 274 blocks
...

# pwd
/usr/var/tmp/patches/y2k/SCRIPTS
# ls
ULTV45-001-1.install    ULTV45-009-1.install    ULTV45-019-1.install
ULTV45-002-1.install    ULTV45-012-1.install    ULTV45-020-3.install
ULTV45-003-1.install    ULTV45-013-1.install    ULTV45-021-1.install
ULTV45-004-1.install    ULTV45-014-1.install    ULTV45-022-1.install
ULTV45-005-1.install    ULTV45-015-1.install    YEAR_2000.install
ULTV45-006-1.install    ULTV45-016-1.install
ULTV45-008-2.install    ULTV45-017-1.install
# /etc/shutdown now
Shutdown at 11:10 (in 0 minutes) [pid 167]
# 
System shutdown time has arrived
erase ^?, kill ^U, intr ^C
# 
# ps -aux
USER       PID %CPU %MEM   SZ  RSS TT STAT   TIME COMMAND
root       174 33.0  2.0  362  233 co R      0:00 ps -aux
root       170  0.1  0.3   29   26 co S      0:00 - (sh)
root         1  0.0  2.0  254  234 ?  I      0:00 init
root         0  0.0  0.1    0    0 ?  D      0:20  swapper
root         2  0.0  0.3 3232    0 ?  D      0:00  pagedaemon
# cd /usr/var/tmp/patches/y2k/SCRIPTS
# ls
ULTV45-001-1.install    ULTV45-009-1.install    ULTV45-019-1.install
ULTV45-002-1.install    ULTV45-012-1.install    ULTV45-020-3.install
ULTV45-003-1.install    ULTV45-013-1.install    ULTV45-021-1.install
ULTV45-004-1.install    ULTV45-014-1.install    ULTV45-022-1.install
ULTV45-005-1.install    ULTV45-015-1.install    YEAR_2000.install
ULTV45-006-1.install    ULTV45-016-1.install
ULTV45-008-2.install    ULTV45-017-1.install

# PATCHES=/usr/var/tmp/patches/y2k
export PATCHES
ULTV45-001-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-001-1
# ULTV45-002-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-002-1
# ULTV45-003-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-003-1
# ls
ULTV45-001-1.APPLIED    ULTV45-006-1.install    ULTV45-017-1.install
ULTV45-001-1.install    ULTV45-008-2.install    ULTV45-019-1.install
ULTV45-002-1.APPLIED    ULTV45-009-1.install    ULTV45-020-3.install
ULTV45-002-1.install    ULTV45-012-1.install    ULTV45-021-1.install
ULTV45-003-1.APPLIED    ULTV45-013-1.install    ULTV45-022-1.install
ULTV45-003-1.install    ULTV45-014-1.install    YEAR_2000.install
ULTV45-004-1.install    ULTV45-015-1.install
ULTV45-005-1.install    ULTV45-016-1.install
# ULTV45-004-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-004-1
override protection 755 for /usr/bin/ksh? y
# ls -l  /usr/bin/ksh 
-rwxr-xr-x  1 root       180224 Nov  3  1995 /usr/bin/ksh
# ULTV45-005-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-005-1
# ULTV45-006-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-006-1
# ULTV45-008-2.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-008-2
# ULTV45-009-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-009-1
# ULTV45-012-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-012-1
# ULTV45-013-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-013-1
# ULTV45-014-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-014-1
# ULTV45-015-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-015-1
# ULTV45-016-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-016-1
# ULTV45-017-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-017-1
# ULTV45-019-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-019-1
# ULTV45-020-3.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-020-3
cp: /usr/bin/mh/anno: No such file or directory
chmod: can't access /usr/bin/mh/anno: No such file or directory
chown: can't access /usr/bin/mh/anno: No such file or directory
...
chown: can't access /usr/lib/mh/spost: No such file or directory
ar: filename inet_nsap_addr.o truncated to inet_nsap_addr.
ranlib: warning: /usr/lib/libc.a(res_auth.o): no symbol table
ar: filename inet_nsap_addr.o truncated to inet_nsap_addr.
ar: filename inet_nsap_addr.o truncated to inet_nsap_addr.
ar: filename inet_nsap_addr.o truncated to inet_nsap_addr.
ranlib: warning: /usr/lib/libcg.a(res_auth.o): no symbol table
# ULTV45-021-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-021-1
# ULTV45-022-1.install
--------------------------------------------------------------------
Applying   Patch id:    ULTV45-022-1
#

After reboot, the system prints out correct (2023) dates. Nice.

Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995

Loading (a)vmunix ...

Sizes:
text = 673068
data = 100864
bss  = 546012
Starting at 0x2c19

ULTRIX V4.5 (Rev. 47) System #1: Sat Oct 23 16:54:52 WET DST 1993
real mem  = 16658432
avail mem = 12685312
using 406 buffers containing 1665024 bytes of memory
KA41-A/B with an FPU
scsi0 at uba0 csr 0x200c0080 vec 0x1f8, ipl 0x14
scsi1 at uba0 csr 0x200c0180 vec 0x1fc, ipl 0x14
rz9 at scsi1 slave 1 (RZxx) [ rhcomp  RD54              5.2 ]
rz10 at scsi1 slave 2 (RZxx) [ rhcomp  RD54              5.2 ]
rz11 at scsi1 slave 3 (RZxx) [ rhcomp  RD54              5.2 ]
rz12 at scsi1 slave 4 (RZxx) [ rhcomp  RD54              5.2 ]
ss0 at uba0 csr 0x200a0000 vec 0xc0, ipl 0x14
sh0 at uba0 csr 0x38000000 vec 0x44, ipl 0x14
ln0 at ibus0 csr 0x200e0000 vec 0x50, ipl 0x14
ln0: DEC LANCE Ethernet Interface, hardware address: 08:00:2b:26:46:99 
Tue Oct 24 11:41:00 WET DST 2023                                            <------------- correct date!
Automatic reboot in progress...
/dev/rz10a: 656 files, 6109 used, 7521 free (209 frags, 914 blocks, 1.5% fragmentation)
/dev/rrz10g: 5946 files, 117778 used, 240551 free (3279 frags, 29659 blocks, 0.9% fragmentation)
check quotas: done.
savecore: checking for dump...dump does not exist
local daemons: syslog sendmail.
Removing remnant Opser files
preserving editor files
clearing /tmp
standard daemons: update cron accounting network snmpd printer.
start errlog daemon - elcsd
Tue Oct 24 11:43:08 WET DST 2023

ULTRIX V4.5 (Rev. 47) (uvax)

login: 

Installing tools from Freeware ISO

There is a ISO with Freeware (GNU tools) from 2002/2006. This adds some important tools and improved versions to Ultrix. See https://ftp.zx.net.nz/pub/archive/ultrix-freeware/readme.html.

For Ultrix, binaries can be found on ISO in /starfish.osfn.org/ultrix and some more in /bin-vax-ultrix4.5/*. Extract selected binaries. All files are organized as bzip2-ed tar files, so you need to extract bzip2 first (maybe on another machine) and to add it to path to extract everything else.

And these are the tools I did extract. There are more, but as start this looks ok.

root@uvax:/usr/gnu-tools/vax/bin> ls
addftinfo               grep                    pr
addr2line               grodvi                  printenv
afmtodit                groff                   printf
ar                      grog                    ptx
as                      grops                   pwd
awk                     grotty                  ranlib
basename                groups                  readelf
bash                    gsoelim                 reset
bashbug                 gtbl                    rm
bc                      gtroff                  rmdir
bunzip2                 gunzip                  rsync
bzcat                   gzexe                   screen
bzcmp                   gzip                    screen-3.9.11
bzdiff                  head                    sdiff
bzegrep                 hostid                  seq
bzfgrep                 hostname                sha1sum
bzgrep                  hpftodit                shred
bzip2                   iconv                   size
bzip2recover            id                      sleep
bzless                  igawk                   sort
bzmore                  infocmp                 split
c++                     infotocap               strings
c++filt                 install                 strip
captoinfo               join                    stty
cat                     ld                      sum
chgrp                   less                    sync
chmod                   lessecho                tac
chown                   lesskey                 tack
chroot                  lkbib                   tail
cksum                   ln                      tar
clear                   locate                  tee
cmp                     logname                 test
comm                    ls                      tfmtodit
cp                      make                    tic
cpio                    md5sum                  time
cpp                     mkdir                   toe
csplit                  mkfifo                  touch
cut                     mknod                   tput
date                    mmroff                  tr
dc                      msgattrib               true
dd                      msgcat                  tset
df                      msgcmp                  tsort
diff                    msgcomm                 tty
diff3                   msgconv                 uname
dir                     msgen                   unexpand
dircolors               msgexec                 uniq
dirname                 msgfilter               updatedb
du                      msgfmt                  users
echo                    msggrep                 vax-dec-ultrix4.3-c++
egrep                   msginit                 vax-dec-ultrix4.3-g++
env                     msgmerge                vax-dec-ultrix4.3-gcc
expand                  msgunfmt                vdir
expr                    msguniq                 wc
factor                  mt                      wget
false                   mv                      which
fgrep                   ncftp                   who
find                    ncftpbatch              whoami
fmt                     ncftpbookmarks          xargs
fold                    ncftpget                xgettext
g++                     ncftpls                 yes
g77                     ncftpput                zcat
gawk                    ngettext                zcmp
gawk-3.1.1              nice                    zdiff
gcc                     nl                      zegrep
gccbug                  nm                      zfgrep
gcov                    nohup                   zforce
gdb                     objcopy                 zgrep
geqn                    objdump                 zip
gettext                 od                      zipcloak
ggrn                    paste                   zipnote
glookbib                pathchk                 zipsplit
gneqn                   pfbtops                 zless
gnroff                  pgawk                   zmore
gpic                    pgawk-3.1.1             znew
gprof                   pinky
grefer                  post-grohtml

Cleaning up root

I have created a /root home directory for root, moved all dot files from / to there and changed home directory for root in /etc/passwd. Because I am using bash as my shell, I added a .bashrc with following lines:

test -s ~/.alias && . ~/.alias || true

export PS1="\[\]\u@\h:\w> "
export PATH=/usr/gnu-tools/vax/bin:$PATH
export TERM=vt100

And a basic .alias file:

alias a=alias
alias ll='ls -l'
alias h='history 100'
alias more=less

All freeware/gnu tools were extracted to /usr/gnu-tools, which is the default for the freeware tool distribution, so I added this at head of PATH.

Further reading

  • List of all files contained in Ultrix BASE installation packages (/VAX/BASE on CDROM) - tarlist-BASE.txt
  • List of all files contained in Ultrix UNSUPPORTED packages (/VAX/UNSUPPORTED on CDROM) - tarlist-UNSUPPORTED.txt. There is also a /VAX/BASE_UPGRADE directory, may have to check that too…

Cool links for Ultrix on VAX or SIMH:

Ultrix Documentation

Ultrix Freeware