Installing System V Release 3 on the 3B2/400

I encourage you to go through the process of installing UNIX System V Release 3 from scratch. It gives you an excellent opportunity to customize your environment to suit your particular needs.

This page describes how to do a full installation of System V Release 3.2 using floppy diskette images available from the AT&T 3B2 Software Archive.

Using or Preparing a Hard Disk Image

The process begins by creating or downloading one or two blank hard disk images.

You have a lot of freedom here. You can use up to two hard disks in one system, so if you want to max things out, you can attach a 161 MB (HD161) hard disk image on idisk0 and a second on idisk1. Or, if you want a more realistic 3B2/400, like the kind you might have had in 1986, you can choose one or two 72MB (HD72) drives. This was a very common installation. And if you want to go minimalist, you could choose a single 30MB (HD30) drive. This was the budget configuration of the 3B2/310.

For our example installation, we’ll create one 161 MB (HD161) hard disk image. The process is very similar for any of the other configurations.

You have two choices: You can either format a new hard disk image yourself, or you can download a pre-formatted blank hard disk image.

The hard disk formatting process is quite frankly tedious and annoying. If you want to just skip the entire step of formatting a blank hard disk image, you can always download a pre-formatted, blank image here, and use it instead of creating a new image:

Follow the directions in the step “Create the Simulator Config File” below, but then you can completely skip the following two sections and jump directly to “Base UNIX Installation”.

Create the Simulator Configuration File

The first step is to create a SIMH configuration file. Options are discussed in more detail on the main 3B2/400 Simulator page. For our example config, we’ll define a machine with the following attributes:

Below is the configuration that we’ll use. Comments begin with a hash mark (#), and most of the file should be self explanatory.

The SIMH commands are actually case-insensitive, it doesn’t matter whether you say ‘attach nvram’ or ‘ATTACH NVRAM’. If you’re running on Linux or macOS, though, be careful, because the file names that you use for disk images and so on ARE case sensitive!

Create a new file named boot.ini and paste in these contents.

# Set the RAM to 4MB
set cpu 4M
# Enable host CPU idle support
set cpu idle

# Save NVRAM state to a file named 'nvram.bin'
attach nvram nvram.bin
# Save Time-of-Day clock state to a file named 'tod.bin'
attach tod tod.bin

# Configure the first hard disk on the internal hard disk controller
# to be type 'HD161'
set idisk0 hd161

# Attach a file named 'hd161.img' to the internal hard disk controller
# at address 0
attach idisk0 hd161.img

# Enable the Cartridge Tape Controller
set CTC enabled

# Allow Telnet connections to the CONTTY serial port on port 9100
attach contty 9100

# Enable support for one or more PORTS serial MUX cards
set ports enabled

# Tell the system there are two PORTS cards installed (each card
# supplies 4 serial lines, so a multiple of 4 isrequired here)
set ports lines=8

# Allow Telnet connections to the PORTS serial MUX cards on port 9000
attach ports 9000

Now start the simulator with the command:

$ 3b2 boot.ini⏎

When you start the simulator, if it does not exist already, the hard disk image hd161.img will be created automatically, along with the NRAM file nvram.bin and the Time-of-Day clock file tod.bin.

Once you start the simulator, you should see the following output:

Launching 3B2 simulator...

AT&T 3B2 Model 400 simulator V4.0-0 Current        git commit id: b437bfc2
/home/you/3b2/boot.ini-4> att nvram nvram.bin
NVRAM: creating new file
NVRAM: buffering file in memory
/home/you/3b2/boot.ini-5> att tod tod.bin
TOD: creating new file
TOD: buffering file in memory
/home/you/3b2/boot.ini-8> att idisk0 hd161.img
IDISK0: creating new file
/home/you/3b2/boot.ini-12> attach contty 9000
Listening on port 9000
/home/you/3b2/boot.ini-16> attach ports 9100
Listening on port 9100
sim>

The last line (sim>) is the interactive simulator prompt.

If you’ve used a pre-formatted blank hard disk image, please skip ahead to the section “Base Install”. Otherwise, follow the directions below to format the hard disk image you’ve just created.

Boot from the Maintenance Utilities Diskette

To get the process rolling, boot from the 3B2 Maintenance Utilities 4.0 floppy disk image. You can download the image here:

At the sim> prompt, attach this to the internal floppy controller with the command:

sim> attach ifloppy 3B2_Maintenance_Utilities_4-0.img⏎
sim> c⏎

Now, boot the 3B2’s CPU by typing:

sim> boot⏎

If all goes well, you should see the following messages.

sim> boot⏎

FW ERROR 1-01: NVRAM SANITY FAILURE
               DEFAULT VALUES ASSUMED
               IF REPEATED, CHECK THE BATTERY

FW ERROR 1-02: DISK SANITY FAILURE
               EXECUTION HALTED

SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE

Don’t worry about the error messages, they’re normal! The NVRAM Sanity Failure message is simply warning that the internal NVRAM state was corrupt, and has been rebuilt. You should never see this message again as long as you don’t delete the nvram.bin file. The Disk Sanity Failure message is warning that the hard disk hasn’t been formatted yet. The next step is to do just that.

Format The Hard Disk

The 3B2 is waiting for you to enter a password at this point. The default password for all 3B2s is mcp. It won’t be echoed back to the screen while you type it. Just press the Enter or Return key after you’ve typed it, and you should see this new prompt:

Enter name of program to execute [  ]:

Now you can boot the hard disk formatting program, idtools. At the prompt, type idtools and press Enter. You’ll be prompted again to confirm what device you want to boot from:

Enter name of program to execute [  ]: idtools⏎
        Possible load devices are:

Option Number    Slot     Name
---------------------------------------
       0          0     FD5
       1          1
       2          2
       3          3

Enter Load Device Option Number [0 (FD5)]:⏎

Just press enter to boot from device 0, the floppy disk (called FD5).

You should see the following printed on your screen.

            *******************************************************
            *                                                     *
            * This is an updated version of the DEVTOOLS program  *
            *           The changes made are as follows:          *
            *                                                     *
            * The edit mode of the defect table builder now works *
            *                                                     *
            * The formhard command can now format a single track, *
            *   or from a starting track to the end of the disk   *
            *                                                     *
            *   A seperate verify command was added (no format)   *
            *                                                     *
            *          The duf command has been removed           *
            *                                                     *
            *   THIS PROGRAM ONLY WORKS FOR DISKS CONNECTED TO    *
            *           3B2/300-310-400 SYSTEM BOARDS!            *
            *                                                     *
            *      IT WILL NOT WORK ON XDC OR SCSI DISKS!!!       *
            *                                                     *
            *******************************************************


Hit Return to Continue!!⏎

Press Return to get to the Integral Disk Tools menu.

                              INTEGRAL DISK TOOLS

       AT&T 3B2/PC Computer Installation and Systems Support Engineering

                                    07/24/89



---------------------   IDTOOLS   ---------------------

   Floppy diskette formatter - type formflop
         Hard disk formatter - type formhard
            Hard disk verify - type verify
Disk to disk copy high speed - type ddhs
 Disk to disk copy by sector - type dd
          Disk <--> mem copy - type d-m
        Defect table builder - type defect
          Write sanity track - type fixdisk
        Change boot defaults - type chgboot
                        Quit - type q

Command?

At the Command? prompt, type formhard to select the hard disk formatter.

Now you’ll be asked which disk (0 or 1) you want to format. We only defined and attched one disk, so just select the default, 0, and press Return.

You’ll see a series of errors, these are compeltely normal. The formatter is just probing the disk to see if it’s already formatted, but of course it’s not:

Format which disk [0 or 1] (0) ? 0⏎
Disk 0 insane phys info: 00000000

GETPHYS: Could not read phys info on disk 0
Disk 0 insane phys info: 00000000

GETPHYS: Could not read phys info on disk 0

FORMHARD: Could not read physical info on disk 0

Assuming default values for physical info

A list of current config and defect table values will be printed.
To keep the current value, enter <return>, to change, type the new value.

Current config table values:
           Drive Id:    2 - ?

The formatter is now waiting for you to define the geometry of the hard disk. These values will depend on which disk size you’ve chosen! This is a table of possible values, depending on disk type:

TypeDescriptionDrive IDCylindersTracks/CylSec/TrackBytes/Sec
HD30CDC Wren 94155-363697518512
HD72CDC Wren II 94156-865925918512
HD72CFujitsu M2243AS87541118512
HD135Maxtor XT-21901110241518512
HD161Maxtor XT-21901112241518512

The HD135 type is really only useful with UNIX System V Release 2.0.5. In UNIX versions before 3.0, there was a software limit that prevented accessing cylinders beyond 1024, so HD135 is really nothing more than an HD161 that has been formatted for 1024 cylinders. Nevertheless, the simulator supports it.

Enter each value from the table when prompted. We defined an HD161 disk, so use those values by responding to each prompt:

Current config table values:
           Drive Id:    2 - ? 11⏎
   Number cylinders:  306 - ? 1224⏎
    Number tracks/cyl:  4 - ? 15⏎
 Number sectors/track: 18 - ? 18⏎
Number bytes/sector:  512 - ? 512⏎

`When you’ve pressed Return on the last line, the formatter will spit out a summary.

The following items finish describing the disk.
They correspond to the sizing information just entered.

     Logical start of disk: 270
Backup defect map location: 1
    Backup defect map size: 1536
       Defect map location: 4
           Defect map size: 1536
        Error log location: 269
            Error log size: 512
Number of relocation areas: 1
     Relocation area start: 7
      Relocation area size: 262

defect map unreadable
back-up defect table read ok

The back-up defect table is placed on KS-spec disks by the disk
manufacturer.  If this disk is a KS-spec disk, the table should be present
and left untouched by devtools.  If the table is not present (Whether
destroyed on a KS-spec disk or the disk is pre-KS) the back-up defect table
can be modified as defects are newly entered or edited below.

Modify back-up defect table? [yes or no] (no)⏎

Now comes the process of mapping bad sectors, which we will just skip. Real MFM hard drives came from the factory with a table of known defective sectors that had to be entered every time the hard disk was reformatted. Since we’re using a simulator, of course there are no defective sectors to map.

At the prompt, just press Return. You’ll get a new prompt:

If the back-up defect table is on this disk, you may choose to
force the defect map to agree with it by having devtools automatically
regenerate the defect map from the back-up table.  This will remove any
NEW defects that the formatter or bad block handling found, but will put
the defect map in the initial state.

Re-create defect map? [yes or no] (no)⏎

Again, just press Return.

Now, the formatter will annoy you by printing out the completely empty bad block table. You’ll have to press Return or Enter each time it prompts you, e.g.:

WARNING: Manual reconstructing of defect map REQUIRED

Current defects are:

            BACKUP          |       MAPPED
      cyl head  byte length |   bad        good
----------------------------|--------------------
  0:    0    0     0      0 | map empty
  1:    0    0     0      0 | map empty
  2:    0    0     0      0 | map empty
  3:    0    0     0      0 | map empty
  4:    0    0     0      0 | map empty
  5:    0    0     0      0 | map empty
  6:    0    0     0      0 | map empty
  7:    0    0     0      0 | map empty
  8:    0    0     0      0 | map empty
  9:    0    0     0      0 | map empty
 10:    0    0     0      0 | map empty
 11:    0    0     0      0 | map empty
 12:    0    0     0      0 | map empty
 13:    0    0     0      0 | map empty
 14:    0    0     0      0 | map empty
 15:    0    0     0      0 | map empty

enter any key to continue

You’ll have to press enter 11 times to get through the whole table of 192 entries!

Now we get to tell the formatter that there are no bad blocks. You’ll see the following prompt:

Enter type of defect byte count, [bc or bc/48] (bc) ? ⏎

Just accept the default and move on to the next prompt:

Enter defective sectors one per line, as cylinder head bytecount length.
Defect length defaults to 1 if not entered!
End with 'q', restart with 'new'
bad sector = ?

Just type q to end. The formatter will print out the bad block table one more time, all 192 lines of it, so you’ll have to press Enter eleven more times.

The final step is to confirm that you want to keep this empty defect map. Just press Enter at the following prompt:

Next relocation sector is 7 of 262


Type 'new' to enter ALL defects,
     'edit' to modify current defects,
      <cr> to keep current list:

At long last, you can actually format the hard disk now. You should see the following message and prompt:

Next relocation sector is 7 of 262


                         Format entire disk - type 1
                        Format single track - type 2
          Format from selected track to end - type 3

Select type of format [1, 2, or 3] (1) ? ⏎

Just press Enter to select the default, type 1, Format entire disk.

You get one last confirmation;

Format type 1 selected - Continue [y or n] (n) ?

Be sure to type y here to confirm, and then press Enter. Formatting will begin immediately, with progress printed to the screen. When you get the message

Writing format information.
Writing sanity pattern
Disk 0 is correctly formatted
DONE

the hard disk has been formatted correctly. You’ll be sent back to the main command prompt. Just type q to quit, and finally, halt the simulator by typing Control-E to get back to the sim> prompt.

Install the Base UNIX Operating System

Now that we have a hard disk image ready to use, it’s time to install the base UNIX Operating System.

The kernel and basic utilities for UNIX System V Release 3.2 come on a set of six floppy diskettes labelled Essential Utilities. These can be downloaded here:

It is VITALLY important that the first diskette image NOT be write protected!

All the other diskette images can be mounted write protected, but the first image is special. The 3B2 needs to be able to read and write to it.

Boot or Reboot the 3B2

You should be at the sim> prompt in the running 3B2 simulator.

The first thing to do is attach the Essential Utilities - Disk 1 disk image to the internal floppy drive, and then boot the 3B2. Type:

sim> attach ifloppy Essential_Utilities_1.img⏎
sim> boot⏎

There’s nothing on the hard disk yet, so you should see the following messages.

SELF-CHECK

SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE

You can now type the firmware password mcp and press enter. At the next prompt, type unix and press enter.

Enter name of program to execute [  ]: unix
        Possible load devices are:

Option Number    Slot     Name
---------------------------------------
       0          0     FD5
       1          0
       2          1
       3          2
       4          3

Enter Load Device Option Number [1 ()]: 0⏎

The default is to boot from the hard disk, which doesn’t have anything installed on it yet, so at the prompt, be sure to type 0 and press Enter to boot from the floppy disk.

Stepping Through the Essential Utilities Install

The 3B2 should boot the UNIX kernel off the internal floppy drive, and you’ll see the following messages scroll by.

Don’t worry about the “Bad sanity word in VTOC” messages you’ll see. They are completely normal, because the disk does not yet have a high-level format on it.

Enter Load Device Option Number [1 ()]: 0⏎

UNIX(R) System V Release 3.2 AT&T 3B2 Version 2
Node unix
Total real memory  = 4194304
Available memory   = 3741696

***********************************************************************

Copyright (c) 1984, 1986, 1987, 1988  AT&T - All Rights Reserved

THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T INC.
The copyright notice above does not evidence any actual or
intended publication of such source code.

***********************************************************************


WARNING:
hard disk: Bad sanity word in VTOC on drive 0.



3B2 Release 3.2 Installation

        1)  Full Restore
        2)  Partial Restore
        3)  Dual-Disk Upgrade
        4)  Release Upgrade

When responding to a question, you may use the "backspace" key
to erase the last character  typed or the "@" key to erase the
the entire line. Enter "help" for additional information.

Selection? [ 1 2 3 4 quit help ] 1⏎

We want to do a Full Restore, so choose option 1.

-- Full Restore --

The "Full Restore" will destroy EVERYTHING on the hard disk and install a
3B2 Release 3.2 Essential Utilities UNIX system.

Continue? [ y n help ] y⏎

Type y and press Enter to continue.

WARNING:
hard disk: Bad sanity word in VTOC on drive 0.


Use the default hard disk partitioning? [ y n quit help ] y⏎

Type y again, and press Enter to continue. (Custom partitioning is certainly possible, but beyond the scope of this document.)

The initial UNIX system is installed at this point. Despite the claims made by the messages, the steps should take only a minute or two.

Use the default hard disk partitioning? [ y n quit help ] y⏎

Setting up the initial system with default partition sizes; this should
take no more than twenty-five minutes.

Installing the initial Essential Utilities system files.
This should take no more than ten minutes.
1301 blocks
1 blocks
The system is restarting itself from the hard disk. This should
take no more than five minutes. The installation procedure will
then continue automatically.

The 3B2 should automatically reboot itself, and this time, it will boot off of the hard disk, not the floppy disk. You should see the following:

SELF-CHECK
UNKNOWN ID CODE 0x5 FOR DEVICE IN SLOT 1
EQUIPPED DEVICE TABLE COMPLETION WILL CONTINUE.
CHECK EDT.


UNIX(R) System V Release 3.2 AT&T 3B2 Version 2
Node unix
Total real memory  = 4194304
Available memory   = 3741696

***********************************************************************

Copyright (c) 1984, 1986, 1987, 1988  AT&T - All Rights Reserved

THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T INC.
The copyright notice above does not evidence any actual or
intended publication of such source code.

***********************************************************************


Checking the hard disk file systems.

  /dev/dsk/c1d0s0
  File System: root Volume: 3.2

  ** Phase 1 - Check Blocks and Sizes
  ** Phase 2 - Check Pathnames
  ** Phase 3 - Check Connectivity
  ** Phase 4 - Check Reference Counts
  ** Phase 5 - Check Free List
  146 files 1420 blocks 34458 free

  /dev/dsk/c1d0s2
  /dev/dsk/c1d0s2       File System: usr Volume: 3.2

  /dev/dsk/c1d0s2       ** Phase 1 - Check Blocks and Sizes
  /dev/dsk/c1d0s2       ** Phase 2 - Check Pathnames
  /dev/dsk/c1d0s2       ** Phase 3 - Check Connectivity
  /dev/dsk/c1d0s2       ** Phase 4 - Check Reference Counts
  /dev/dsk/c1d0s2       ** Phase 5 - Check Free List
  /dev/dsk/c1d0s2       3 files 14 blocks 268688 free

Please insert the Essential Utilities floppy number 2.

Type "go" when ready [ go quit help ]

You can ignore the scary looking UNKNOWN ID CODE message. This message appears only because the Cartridge Tape Controller that we’ve set up in Slot 1 does not have a driver installed yet. We’ll fix that shortly.

Now it’s time to switch floppy disks and insert Essential Utilities - Disk 2. To do that, we need to pause the simulator by pressing Control-E, which will bring us back to the sim> prompt. Once there, attach the second disk image, then type c and press Enter to un-pause the simulator.

^E
Simulation stopped, PC: 4000069A (RET)
sim> attach ifloppy Essential_Utilities_2.img⏎
sim> c⏎

Back in the running simulator, type go and press Enter to continue with installing Disk 2.

go⏎

Installing additional Essential Utilities system files.
This should take no more than ten minutes.
991 blocks

Please insert the Essential Utilities floppy number 3.

Type "go" when ready [ go quit help ]

We repeat the above procedure for Disks 3 through 6. It should not take more than a few minutes to complete all the disks.

^E
Simulation stopped, PC: 4000069A (RET)
sim> attach ifloppy Essential_Utilities_3.img
sim> c⏎
go⏎

Installing additional Essential Utilities system files.
This should take no more than ten minutes.
1043 blocks

Please insert the Essential Utilities floppy number 4.

Type "go" when ready [ go quit help ]

^E
Simulation stopped, PC: 4000069A (RET)
sim> attach ifloppy Essential_Utilities_4.img⏎
sim> c⏎
go

Installing additional Essential Utilities system files.
This should take no more than ten minutes.
928 blocks

Please insert the Essential Utilities floppy number 5.

Type "go" when ready [ go quit help ]

^E
Simulation stopped, PC: 4000069A (RET)
sim> attach ifloppy Essential_Utilities_5.img⏎
sim> c⏎
go

Installing additional Essential Utilities system files.
This should take no more than ten minutes.
1007 blocks

Please insert the Essential Utilities floppy number 6.

Type "go" when ready [ go quit help ]

^E
Simulation stopped, PC: 4000069A (RET)
sim> attach ifloppy Essential_Utilities_6.img⏎
sim> c⏎
go

Installing additional Essential Utilities system files.
This should take no more than ten minutes.
1163 blocks


You may now remove the last Essential Utilities floppy.
85 blocks

This Release of UNIX System V contains software designed to enhance security.
Two areas affected by this software are 1) the shell, and 2) the User Password
Mechanism.

Please refer to the Security Section of the UNIX System V Release 3.2 Release
Notes for further information on how to determine the current security status
and how to install or remove these security features on your system.

Installation is now complete. The system is restarting itself from
the hard disk. It will be ready to use when you receive the "Console
Login" prompt. This should take no more than five minutes.

At this point, the base Essential Utilities installation is complete, and the 3B2 will automatically reboot itself off of the hard disk.

SELF-CHECK
UNKNOWN ID CODE 0x5 FOR DEVICE IN SLOT 1
EQUIPPED DEVICE TABLE COMPLETION WILL CONTINUE.
CHECK EDT.


DIAGNOSTICS  PASSED

Driver not found for *VOID* device (board slot 1)

UNIX(R) System V Release 3.2 AT&T 3B2 Version 2
Node unix
Total real memory  = 4194304
Available memory   = 3112960

***********************************************************************

Copyright (c) 1984, 1986, 1987, 1988  AT&T - All Rights Reserved

THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T INC.
The copyright notice above does not evidence any actual or
intended publication of such source code.

***********************************************************************


                Time of Day Clock needs Restoring:
                Change using "sysadm datetime" utility
The system is coming up.  Please wait.

This machine has not been used as a customer machine yet.  The messages that
follow are from checking the built-in file systems for damage that might have
occurred during shipment.  As long as you do not see either of the messages
                                BOOT UNIX
or                      FILE SYSTEM WAS MODIFIED
all is well.  If either message does come out, call your service representative.
However, the machine is still usable unless you are told otherwise.
Checking file systems:


  /dev/dsk/c1d0s2
  File System: usr Volume: 3.2

  ** Phase 1 - Check Blocks and Sizes
  ** Phase 2 - Check Pathnames
  ** Phase 3 - Check Connectivity
  ** Phase 4 - Check Reference Counts
  ** Phase 5 - Check Free List
  340 files 1942 blocks 266760 free


mount -f S51K /dev/dsk/c1d0s2 /usr
Generating a new /unix
AT&T 3B2 SYSTEM CONFIGURATION:

Memory size: 4 Megabytes
System Peripherals:

        Device Name        Subdevices           Extended Subdevices

        SBD
                        Floppy Disk
                        161 Megabyte Disk
        *VOID*
        PORTS
        PORTS

        Welcome!
This machine has to be set up by you.  When you see the "login" message type
                                setup
followed by the RETURN key.  This will start a procedure that leads you through
those things that should be done the "first time" the machine is used.

The system is ready.

Console Login:

Congratulations! The base UNIX System V Release 3.2 Operating System has been installed.

What you have, however, is a very basic UNIX. There are a lot of utilities missing. They will be installed in subsequent steps.

Basic System Setup

Before we go on, it’s a good idea to set up and name your base system. You’ll be guided through an initial system setup where you will:

Log In As the Setup User

To start the procedure, log in with the user name setup:

Console Login: setup⏎
UNIX System V Release 3.2 AT&T 3B2
unix
Copyright (c) 1984, 1986, 1987, 1988 AT&T
All Rights Reserved
Warning: .lastlogin did not exist, creating it

                              Setup Procedure
Setup establishes this machine as yours and can make sure that no one else
uses it without your permission.  We assume that you have read about
"initial setup" in the GETTING STARTED chapter of the Owner/Operator Manual.

Set the Timezone

The first question you’re asked is whether you want to change the current time zone. By default, the timezone is Eastern Timezone (UTC-5). If you’re in the Eastern Timezone of the United States, you can type n and press Enter. Otherwise, you’ll need to change it by typing y and pressing Enter.

        The first step is to set the timezone, date, and time of the system
clock.

Current time and time zone is: 19:37 EST
Change the time zone? [y, n, ?, q] y⏎

You’re prompted to select from a list of imezones. Unfortunately, it’s completely North America-centric. Sorry!

I live in the Pacific Timezone, so I’ve selected 6. Pacific.

        Available time zones are...
        1.  Greenwich (GMT)
        2.  Atlantic  (AST & ADT)
        3.  Eastern   (EST & EDT)
        4.  Central   (CST & CDT)
        5.  Mountain  (MST & MDT)
        6.  Pacific   (PST & PDT)
        7.  Yukon     (YST & YDT)
        8.  Alaska    (AST & ADT)
        9.  Bering    (BST & BDT)
        10. Hawaii    (HST)
Enter zone number: 6⏎

Finally, you’re asked if the time zone alternates between standard time and daylight savings time. Mine does, so I chose y. There are a few messages about process times printed after that.

Does your time zone use Daylight Savings Time during the year? [y, n, ?, q] y⏎
Time zone now changed.
Note:  Any logins and processes running when the time zone changes, and
all their child processes, will continue to see the old time zone.
The cron(1M) will be restarted at the end of this procedure.

Set the System Time

Next, you’re asked if you want to set the current date and time. This is up to you. By default, the clock is set to the kernel build time, which is on March 17, 1988.

The version of System V Release 3.2 that runs on the 3B2/310 and 3B2/400 is not Y2K compliant. That means you can only enter a two-digit year. It’s not a good idea to set the clock any earlier than the default system time, because then some system files will be in the future, so you should restrict yourself to choosing a year between 1988 and 2000!

This can be changed later by installing the Lucent Y2000 Patch, available in the Software Archive

For our purposes, we’ll set the date to 10 January, 1989 at 16:02, as an example.

Current date and time:  Thu. 03/17/88 16:41
Change the date and time? [y, n, ?, q] y⏎
Month   default 03      (1-12): 01⏎
Day     default 17      (1-31): 10⏎
Year    default 88      (70-99):89⏎
Hour    default 16      (0-23): 16⏎
Minute  default 41      (0-59): 02⏎
Date and time will be set to:  01/10/89 16:02.  OK? [y, n, q] y
Tue Jan 10 16:02:00 PST 1989
The date and time are now changed.
cron aborted: SIGTERM
The cron has been restarted to pick up the new time and/or time zone.

Add a New User

In the next step, you’re asked if you want to add a new user to the system. It’s a good idea to do this, because, just like any UNIX or Linux system, you don’t want to do everything as root.

I’ll add myself in the following example, using the default for user ID number, group ID number, and home directory.

        The next step is to set up logins.
The first one you make should be for yourself.


Anytime you want to quit, type "q".
If you are not sure how to answer any prompt, type "?" for help,
or see the Owner/Operator Manual.

If a default appears in the question, press <RETURN> for the default.

Enter user's full name [?, q]:  Seth Morabito⏎
Enter user's login ID [?, q]:   sjm⏎
Enter user ID number (default 100) [?, q]:  ⏎
Enter group ID number or group name
(default 1) [?, q]:  ⏎
Enter user's login (home) directory name.
(default '/usr/sjm') [?, q]:  ⏎

This is the information for the new login:
        User's name:    Seth Morabito
        login ID:       sjm
        user ID:        100
        group ID:       1       (other)
        home directory: /usr/sjm
Do you want to install, edit, or skip this entry [i, e, s, q]? i⏎
Login installed.
Do you want to give the user a password? [y, n] y⏎
New password: ********⏎
Re-enter new password: ********⏎
Do you want to add another login? [y, n, q] n⏎

NOTE:  Your password is very important.  It is the way that the computer
verifies that someone who attempts to login as you is indeed you.  If you
give it away to someone, they can do anything you can do and the machine does
not know the difference.  Please read the chapter on SECURITY in the
Owner/Operator Manual.

Set Up Administrative Passwords

We’ll want to set passwords for any of the administrative accounts that don’t have them yet. This is normally just the setup account, but the setup script will prompt us to confirm each account. We can just skip any account that already has a “No Login” password set.

        The next step is to establish passwords for the administrative logins
and commands.

Do you want to give passwords to administrative logins? [y, n, ?, q] y⏎

The login 'setup' does not have a password.
Do you want to give it one? [y, n, ?, q] y⏎
New password: ********⏎
Re-enter new password: ********⏎

The login 'powerdown' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

The login 'sysadm' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

The login 'checkfsys' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

The login 'makefsys' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

The login 'mountfsys' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

The login 'umountfsys' already has a password.
Do you want to change the password, delete it, or skip it? [c, d, s, q, ?] s⏎
Password unchanged.

For more information about passwords and their use,
read the SECURITY chapter of the Owner/Operator Manual.
For more about assigning passwords,
see the chapter on SIMPLIFIED SYSTEM ADMINISTRATION.

Set Up System Passwords

Next, we have to give the root user a password.

        The next step is to establish passwords for the system logins that
do not already have them.  Once set, these passwords can only be changed by
the login or "root".

Do you want to give passwords to system logins? [y, n, ?, q] y⏎
Do you want to give the 'root' login a password? [y, n, ?, q] y⏎
New password: ********⏎
Re-enter new password: ********⏎

Set the Machine Name

The final setup step is to give the machine a name. This is really only important if you plan to set up networking (such as UUCP) later on, but I do like to give each installation a unique name.

Here, I’ve named the 3B2 gibson.

        The next step is to set the node name of this machine.  This is the
name by which other machines know this one.

This machine is currently called "unix".
Do you want to change it? [y, n, ?, q] y⏎
What name do you want to give it? [q] gibson⏎

This completes your initial set up of the machine.
You may now log into your login.


Console Login:

Congratulations, again! Initial system setup is complete.

Install Utilities Packages

You’ll be interacting with the UNIX system from this point on. Some keys may not do what you expect.

The standard Bourne shell that comes with System V Release 3.2 uses the following conventions by default, unless overridden with stty:

(If you’re more familiar with modern UNIX or Linux, you might be used to erase being Backspace or Control-H, kill being Control-U, and intr being Control-C.)

As mentioned earlier, this is still a very bare-bones UNIX installation, so we’ll want to install some additional packages to make it minimally usable. AT&T referred to these additional packages as Utilities.

The Utilities packages may depend on one another. Here is a chart detailing which have dependencies, and which install one or more kernel drivers that will necessitate a reboot.

UtilitiesDependenciesDriver Installed?
Cartridge Tape UtilitiesNoneYes
System AdministrationNoneNo
Directory and File ManagementNoneNo
User EnvironmentDirectory and File ManagementYes
Inter-Process CommunicationNoneYes
Terminal FiltersNoneNo
Terminal InformationNoneNo
GraphicsUser Environment, Terminal FiltersNo
Basic NetworkingUser EnvironmentNo
EditingNoneNo
HelpUser Environment, Terminal InformationNo
Line Printer SpoolingUser EnvironmentNo
Performance AnalysisNoneYes
Security AdministrationTerminal InformationNo
SpellDirectory and File ManagementNo
AT&T WindowingNoneYes

Prepare for installation by downloading the following floppy diskette images. You’ll need to download a total of 22 diskettes.

Example Installation Sessions

Installation of these packages is done using the sysadm tool. This is an easy to use, menu driven program that prompts for diskettes to install from, and automates the installation process.

The general installation procedure is started by running the command

# sysadm installpkg⏎

and then following the prompts.

Let’s walk through installing two packages as examples. The rest should be easy to follow on your own.

Cartridge Tape Utilities

Start by running the sysadm installpkg command. You’ll be prompted to put a floppy into the diskette drive.

# sysadm installpkg

Running subcommand 'installpkg' from menu 'softwaremgmt',
SOFTWARE MANAGEMENT


Insert the removable medium for the package you want to install
into the diskette1 drive.
Press <RETURN> when ready.  Type  q  to quit.

Pause the simulator by pressing Control-E to get back to the sim> prompt. Once there attach the Cartridge Tape Utilities diskette image to the floppy drive, and then type c to resume the simulator.

sim> attach ifloppy Cartridge_Tape_Utilities.img⏎
sim> c⏎

Now press Enter one more time to begin the installation. You’ll see a list of files being installed onto the 3B2.

Installing the Cartridge Tape Utilities
Copyright (c) 1984 AT&T.
All Rights Reserved

The following files are being installed:
/boot/ctc.o
/etc/finc
/etc/frec
/etc/tar
...

Eventually, the installer will prompt for answers to two questions.

The first question asks whether the 3B2 has an XM floppy disk drive. It does not — the XM floppy disk drive was an optional, second external floppy drive, but is not supported by the 3B2 simulator — so you’ll answer no.

The second question asks whether the 3B2 has a tape drive. It does, so you’ll answer yes.

Does your 1st cartridge tape package include an XM floppy disk drive?
y = yes, n = no: n⏎
Does your 1st cartridge tape package include a tape drive?
y = yes, n = no: y⏎

After this, the installer creates UNIX devices under /dev for the tape drive, echoing each one to the screen as it does so.

As the installation finishes, it will prompt you to reboot the computer. This is because a kernel driver was installed, and in general, all Utilities that install a kernel driver will prompt for a reboot (consult the Utilities table above for a list of packages that install drivers)

Quit out of the installer by typing q, and then, at the shell, type:

# shutdown -i6 -g0 -y⏎

This will reboot the computer and load the new CTC kernel driver.

System Administration Utilities

Next, we’ll step through installing the System Administration Utilities.

Begin by logging in as the root user and running the sysadm installpkg command again. You’ll notice it’s slightly different this time, because now the Cartridge Tape Controller driver has been installed, and the system knows that it has two different devices that it can install software from.

# sysadm installpkg⏎

Running subcommand 'installpkg' from menu 'softwaremgmt',
SOFTWARE MANAGEMENT

Select which drive to use:
    1 ctape1          2 diskette1
Enter a number, a name, the initial part of a name, or
? for HELP,  q to QUIT:

Select diskette1 by typing 2 at the prompt, and you’ll be prompted to insert a diskette into the floppy drive.

Insert the removable medium for the package you want to install
into the diskette1 drive.
Press <RETURN> when ready.  Type  q  to quit.

Pause the simulator by pressing Control-E to get back to the sim> prompt. Once there attach the System Administration Utilities diskette image to the floppy drive, and then type c to resume the simulator.

sim> attach ifloppy System_Administration_Utilities.img⏎
sim> c⏎

Now press Enter one more time to begin the installation. You’ll see a list of files being installed onto the 3B2.

sim> c

Installing the System Administration Utilities
Copyright (c) 1984 AT&T
All Rights Reserved
The following files are being installed:
/etc/chroot
/etc/crash
/etc/dcopy512
/etc/dcopy1K
/etc/dcopy2K
/etc/dfsck
/etc/ff
/etc/fsdb512
/etc/fsdb1K
/etc/fsdb2K
/etc/fuser
/etc/grpck
/etc/ldsysdump
/etc/link
/etc/log/filesave.log
/etc/mvdir
/etc/ncheck
/etc/pwck
/etc/sysdef
/etc/unlink
/etc/volcopy
/etc/whodo
/usr/options/sysadm.name
/usr/bin/chrtbl
844 blocks
Installation of the System Administration Utilities complete.
You may now remove the medium from the diskette1 drive.


Insert the removable medium for the package you want to install
into the diskette1 drive.
Press <RETURN> when ready.  Type  q  to quit.

Once the installation is done, you can either type q to quit, or immediately go on to install from the next Utilities diskette.

And The Rest…

The rest of the Utilities install essentially the same way. There are only a few caveats:

Before you install the AT&T Windowing Utilities, please see the next section for some very important information!

AT&T Windowing Utilities

UNIX System V Release 3 on the AT&T 3B2 has support for the DMD 5620 terminal. The DMD 5620 was an intelligent, programmable bitmap graphics terminal that ran a special windowing system. There is now an emulator for the DMD 5620 available for Macintosh and Linux that will work with the 3B2 simulator (with Windows support coming soon). The 3B2 simulator will also work with a real DMD 5620 and a hard serial connection. That said, if you don’t plan on using a DMD 5620 with the simulator, there is no reason to install the AT&T Windowing Utilities package.

If you are interested in using either a real DMD 5620 or the DMD 5620 emulator, please be aware that there are additional tools you can install that will add a lot more functionality. However, these other tools must be installed before the AT&T Windowing Utilities!

The extra software I’m referring to is available here:

These disks install a number of additional programs, including demos, utilities, and a nifty graphical text editor called jim.

There is only one problem: They also install an old driver that is not compatible with System V Release 3.2.

The workaround is to install the DMD Core Utilities 2.0 first, reboot, and then install the AT&T Windowing Utilities diskette from System V Release 3.2 on top of it. This will install the correct, compatible driver.

Software Development Tools

You may notice that there is no compiler installed yet — not even an assembler.

AT&T shipped these tools separately, and at considerable cost. The disks you’ll need to install are as follows:

All of these diskette images can be installed with the same sysadm installpkg command that was used to install the System V Release 3.2 Utilities.

After installing these packages, you will have a nicely equipped development environment for pre-ANSI K&R C.