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.
1. 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 (
disk image. The process is very similar for any of the other
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)
- 161 MB ’HD161’ Hard Disk Image (hd161.img.gz)
1.1. 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 161 MB hard disk on the internal disk controller, attached to a file named hd161.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 '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.
1.2. 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:
|Floppy Diskette Image||Size|
|3B2 Maintenance Utilities 4.0||720KB|
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:
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.
1.3. 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
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?
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:
|HD30||CDC Wren 94155-36||3||697||5||18||512|
|HD72||CDC Wren II 94156-86||5||925||9||18||512|
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
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
2. 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:
|System V Release 3.2 Diskette Image||Size|
|Essential Utilities - Disk 1||720 KB|
|Essential Utilities - Disk 2||720 KB|
|Essential Utilities - Disk 3||720 KB|
|Essential Utilities - Disk 4||720 KB|
|Essential Utilities - Disk 5||720 KB|
|Essential Utilities - Disk 6||720 KB|
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.
2.1. 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.
2.2. 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 0x5 FOR DEVICE IN
SLOT 1 ... 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.
3. 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
3.1. Log In As the Setup User
To start the procedure, log in with the user name
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.
3.2. 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.
3.3. 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!
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.
3.4. 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
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.
3.5. 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.
3.6. 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: ********⏎
3.7. 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.
4. 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
- 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.
|Cartridge Tape Utilities||None||Yes|
|Directory and File Management||None||No|
|User Environment||Directory and File Management||Yes|
|Graphics||User Environment, Terminal Filters||No|
|Basic Networking||User Environment||No|
|Help||User Environment, Terminal Information||No|
|Line Printer Spooling||User Environment||No|
|Security Administration||Terminal Information||No|
|Spell||Directory and File Management||No|
Prepare for installation by downloading the following floppy diskette images. You’ll need to download a total of 22 diskettes.
|Utility Diskette Image||Size|
|Cartridge Tape Utilities||720 KB|
|System Administration Utilities||720 KB|
|Directory and File Management Utilities||720 KB|
|User Environment Utilities||720 KB|
|Inter-Process Communication Utilities||720 KB|
|Terminal Filters Utilities||720 KB|
|Terminal Information Utilities (Disk 1)||720 KB|
|Terminal Information Utilities (Disk 2)||720 KB|
|Graphics Utilities (Disk 1)||720 KB|
|Graphics Utilities (Disk 2)||720 KB|
|Graphics Utilities (Disk 3)||720 KB|
|Basic Networking Utilities (Disk 1)||720 KB|
|Basic Networking Utilities (Disk 2)||720 KB|
|Editing Utilities||720 KB|
|Help Utilities||720 KB|
|Line Printer Spooling Utilities (Disk 1)||720 KB|
|Line Printer Spooling Utilities (Disk 2)||720 KB|
|Line Printer Spooling Utilities (Disk 3)||720 KB|
|Performance Analysis Utilities||720 KB|
|Security Administration Utilities||720 KB|
|Spell Utilities||720 KB|
|AT&T Windowing Utilities||720 KB|
4.1. Example Installation Sessions
Installation of these packages is done using the
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
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
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:
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
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!
5. 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:
|DMD Core Utilities 2.0 (Disk 1)||720 KB|
|DMD Core Utilities 2.0 (Disk 2)||720 KB|
|DMD Core Utilities 2.0 (Disk 3)||720 KB|
These disks install a number of additional programs, including demos,
utilities, and a nifty graphical text editor called
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.
6. 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:
|1||Software Generation Utilities: Issue 4 Version 2 (Disk 1)||720 KB|
|2||Software Generation Utilities: Issue 4 Version 2 (Disk 2)||720 KB|
|3||Software Generation Utilities: Issue 4 Version 2 (Disk 3)||720 KB|
|4||Software Generation Utilities: Issue 4 Version 2 (Disk 4)||720 KB|
|5||Software Generation Utilities: Issue 4 Version 2 (Disk 5)||720 KB|
|6||Software Generation Utilities: Issue 4 Version 2 (Disk 6)||720 KB|
|7||Extended Software Generation Utilities: Issue 4 Version 1||720 KB|
|8||C Programming Language: Issue 4 Version 2 (Disk 1)||720 KB|
|9||C Programming Language: Issue 4 Version 2 (Disk 2)||720 KB|
|10||System Header Files (3.2)||720 KB|
|11||Advanced C Utilities: Issue 4 Version 1||720 KB|
|12||Souce Code Control Utilities||720 KB|
All of these diskette images can be installed with the same
installpkg command that was used to install the System V Release 3.2
After installing these packages, you will have a nicely equipped development environment for pre-ANSI K&R C.