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 135 MB
(HD135
) 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 135 MB (HD135
) 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:
- 30 MB ‘HD30’ Hard Disk Image (hd30.img.gz)
- 72 MB ‘HD72’ Hard Disk Image (hd72.img.gz)
- 72 MB ‘HD72C’ Hard Disk Image (hd72c.img.gz)
- 135 MB ‘HD135’ Hard Disk Image (hd135.img.gz)
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:
- 4 MB of RAM
- Host CPU idle support enabled (this helps reduce your host’s CPU usage)
- Battery-backed NVRAM saved to a file named nvram.bin
- Real-time clock state saved to a file named tod.bin
- Cartridge Tape Controller enabled
- One 135 MB hard disk on the internal disk controller, attached to a file named hd135.img
- CONTTY serial port enabled
- Eight PORTS serial ports enabled
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 'HD135'
set idisk0 hd135
# Attach a file named 'hd135.img' to the internal hard disk controller
# at address 0
attach idisk0 hd135.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 hd135.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 hd135.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:
Type | Description | Drive ID | Cylinders | Tracks/Cyl | Sec/Track | Bytes/Sec |
---|---|---|---|---|---|---|
HD30 | CDC Wren 94155-36 | 3 | 697 | 5 | 18 | 512 |
HD72 | CDC Wren II 94156-86 | 5 | 925 | 9 | 18 | 512 |
HD72C | Fujitsu M2243AS | 8 | 754 | 11 | 18 | 512 |
HD135 | Maxtor XT-2190 | 11 | 1024* | 15 | 18 | 512 |
N.B.: A real Maxtor XT-2190 has 1224 cylinders, but the 3B2/310 and 3B2/400 only support formatting to a maximum of 1024 cylinders!
Enter each value from the table when prompted. We defined an HD135
disk, so use those values by responding to each prompt:
Current config table values:
Drive Id: 2 - ? 11⏎
Number cylinders: 306 - ? 1024⏎
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:
- Essential Utilities - Disk 1
- Essential Utilities - Disk 2
- Essential Utilities - Disk 3
- Essential Utilities - Disk 4
- Essential Utilities - Disk 5
- Essential Utilities - Disk 6
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
135 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:
- Set the time and date
- Create a new user
- Set up Administrative and System passwords
- Set the machine’s name
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
:
- The erase character is a hash mark (
#
)- The kill character is an at sign (
@
)- The intr character is the DELETE key.
(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.
Utilities | Dependencies | Driver Installed? |
---|---|---|
Cartridge Tape Utilities | None | Yes |
System Administration | None | No |
Directory and File Management | None | No |
User Environment | Directory and File Management | Yes |
Inter-Process Communication | None | Yes |
Terminal Filters | None | No |
Terminal Information | None | No |
Graphics | User Environment, Terminal Filters | No |
Basic Networking | User Environment | No |
Editing | None | No |
Help | User Environment, Terminal Information | No |
Line Printer Spooling | User Environment | No |
Performance Analysis | None | Yes |
Security Administration | Terminal Information | No |
Spell | Directory and File Management | No |
AT&T Windowing | None | Yes |
Prepare for installation by downloading the following floppy diskette images. You’ll need to download a total of 22 diskettes.
- Cartridge Tape Utilities
- System Administration Utilities
- Directory and File Management Utilities
- User Environment Utilities
- Inter-Process Communication Utilities
- Terminal Filters Utilities
- Terminal Information Utilities (Disk 1)
- Terminal Information Utilities (Disk 2)
- Graphics Utilities (Disk 1)
- Graphics Utilities (Disk 2)
- Graphics Utilities (Disk 3)
- Basic Networking Utilities (Disk 1)
- Basic Networking Utilities (Disk 2)
- Editing Utilities
- Help Utilities
- Line Printer Spooling Utilities (Disk 1)
- Line Printer Spooling Utilities (Disk 2)
- Line Printer Spooling Utilities (Disk 3)
- Performance Analysis Utilities
- Security Administration Utilities
- Spell Utilities
- AT&T Windowing Utilities
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:
- Some packages are composed of multiple diskettes. You will be prompted to swap diskettes after each one is completed. Just pause the simulator with Control-E, attach the next image, resume the simulator once it is attached, and continue the installation.
- Be aware that all the Utilities packages that install a kernel driver will prompt you to reboot afterward.
- Some of the packages will ask questions and prompt for input, while others will not. Just follow the prompts.
- The Terminal Information Utilities package will prompt you to install terminfo entries for one or more terminals. Unless you’re trying to save disk space, it’s perfectly fine to just install them all.
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:
- Software Generation Utilities: Issue 4 Version 2 (Disk 1)
- Software Generation Utilities: Issue 4 Version 2 (Disk 2)
- Software Generation Utilities: Issue 4 Version 2 (Disk 3)
- Software Generation Utilities: Issue 4 Version 2 (Disk 4)
- Software Generation Utilities: Issue 4 Version 2 (Disk 5)
- Software Generation Utilities: Issue 4 Version 2 (Disk 6)
- Extended Software Generation Utilities: Issue 4 Version 1
- C Programming Language: Issue 4 Version 2 (Disk 1)
- C Programming Language: Issue 4 Version 2 (Disk 2)
- System Header Files (3.2)
- Advanced C Utilities: Issue 4 Version 1
- Souce Code Control Utilities
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.