Saturday, August 6, 2022

A/UX 3.1 - Setting up a 68K Macintosh (SE, Plus, PowerBook) as a Terminal

 

Apple A/UX 3.1

Also known as the Apple© Workgroup Server 95

"Setting up a 68K Macintosh (SE, Plus, PowerBook) as a Terminal"

Introduction

My Macintosh IIci does not have a network card but it does have a pair of serial ports. The printer and modem ports. Let's use them to setup a terminal over a serial cable. 

In the Apple A/UX 30 Local System Administration guide has a section on 7-14 for "Setting up a terminal". We'll be using this to guide us. 

Ingredients

  • See my prior post, Apple A/UX 3.1 - A Macintosh IIci Installation, as a prerequisite.
  • An Apple printer serial cable.
  • A second computer with serial ports such as an SE, Plus, or PowerBook. In other words, a 68K Macintosh with Din 8-pin serial connections.

Instructions

Caution

Remember to first power down your Macintosh computers before you plug in, or unplug a serial cable. You can damage your computers if you do this while powered on. 

Disable AppleTalk

Since A/UX was installed without a network card, it configured AppleTalk to work over serial. We need to disable that or it will interfere with our serial connection. The easiest way to accomplish this is to use the Chooser application. Start Chooser and change AppleTalk from "Active" to "Inactive" and close it. 

Configure Getty

Getty, short for "get tty", is a Unix program that manages terminals. TTY is short for teletype, teletypewriter, or teleprinter. A teletype is a device that can send and receive typed messages. As you can image, they have a long history of use starting with the telegraph. Getty detects a serial terminal connection, and then prompts the user to login. 

We need to enable getty, on the modem serial port. You'll need to login as root for this. 

First, make a backup copy of /etc/inittab just in case we mess it up. 

cd /etc
cp inittab inittab.old

Then, using vi or TextEditor, open the /etc/inittab file and look for a line referencing tty0, which is port 0, the modem. It should look something like this.

00:2:off:/etc/getty tty0 at_9600    # Port 0 (modem); set to "respawn"
01:2:off:/etc/getty tty1 at_9600    # Port 1 (print); set to "respawn"

Note, the lines in these files are not wrapped to multiple lines as they may appear on this page of text. Do not introduce extra newlines into the file.

You'll want to change "off" to "respawn" on tty0.

00:2:respawn:/etc/getty tty0 at_9600    # Port 0 (modem); set to "respawn"
01:2:off:/etc/getty tty1 at_9600    # Port 1 (print); set to "respawn"

Save your modified version of /etc/inittab and execute the init command to commit the changes you've made to the system.

init Q

You may also want to check the file /etc/gettydefs to be sure the parameters for co_9600 and tt_9600 are correct. I did not need to alter them.

co_9600 # B9600 # B9600 SANE TAB3 # ~MODEM ~DTR ~FLOW # \r\n\nApple Computer Inc. A/UX\r\n\nlogin: # co_4800

tt_9600 # B9600 # B9600 SANE TAB3 ~MODEM ~DTR ~FLOW # \r\n\nApple Computer Inc. A/UX\r\n\nlogin: # tt_4800

If all went well, you should now be able to start a terminal session over serial. 

Remember to first power down your Macintosh computers before you plug in or unplug a serial cable. You can damage your computers if you do this while powered on. 

To connect, use a terminal program such as MacTerminal. You'll want to configure the connection settings to use the "Serial Tool" method. The port settings should be:

Baud Rate: 9600
Parity: None
Data Bits: 8
Stop Bits: 1
Handshake: XON/XOFF

Make sure you are using the correct port. My PowerBook 520c has a combined Printer-Modem Port and an Internal Modem. I selected Printer-Modem Port. 

The terminal settings should be set for VT100. MacTerminal does not have that as an option, I selected "VT102 Tool". You can leave the rest of the setting the default unless you want to change the font size, for example.

Connect by selecting "Open Connection" under "Session" on the menu bar. You should be greeted by a login prompt. 



Wednesday, August 3, 2022

Apple A/UX 3.1 - A Macintosh IIci Installation

Apple A/UX 3.1

Also known as the Apple© Workgroup Server 95

"A Macintosh IIci installation"

About A/UX 

From Wikipedia:
A/UX is Apple Computer's Unix-based operating system for Macintosh computers, integrated with System 7's graphical interface and application compatibility. Launched in 1988 and discontinued in 1995 with version 3.1.1, it is Apple's first official Unix-based operating system.[2] A/UX requires select models of 68k-based Macintosh with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series. It is not the predecessor to macOS.

Introduction

I've always like Unix. It was the first operating system I learned, and until I became familiar with the Macintosh 68K operating systems, my favorite. It, and the C programming language, have always been my comfort zone. You never forget your first, as they say.

I will be creating a series of blog posts related to Apple A/UX covering installation and configuration, user management, and using A/UX to perform software development. 

Understand, I'm not a system administrator. I was a fair "forms over data" software developer for much of my career and most of that in the Microsoft stack. Unix system administration is new to me. This should prove interesting. 

A/UX is an old operating system and very likely cannot be made secure in today's environment. I will probably stick to using it as if it were deployed to a pre-Internet environment. I might run a web server as an intranet site. We'll see.

This is a very specific installation scenario that may or may not help you with your installation. I will not go over all of the details. There is an excellent set of instructions here at https://www.aux-penelope.com/aux_3.0.htm if you need them.

Ingredients

  • Macintosh IIci with a minimum of 8 MB RAM
  • 4x 4MB 30 PIN SIMM FPM 70ns DRAM non-parity SIMMS
  • IIci compatible monitor
  • BlueSCSI internal drive with mount
  • BlueSCSI Disk Activity LED (optional)
  • BlueSCSI DB-25 external drive (possibly optional)
  • Basilisk II or other Macintosh emulator 
  • A computer to run Basilisk II and burn CDs
  • CDU561-25 CD-ROM drive or other A/UX compatible drive
  • Blank CD-R disks
  • A/UX 3.0.1 Installer floppy image
  • A/UX 3.0.1 Install CD image
  • A/UX 3.1 Upgrade CD image
  • AWS Tuneup 2.0 
  • HD Floppy disk (optional)
  • Micro SD card for BlueSCSI 

Mise En Place

As with cooking, it is best to prepare the necessary ingredients before you start.

A/UX Compatible Computer

Due to the kindness of Xodium Retro (https://twitter.com/XodiumRetro), I acquired a Macintosh IIci computer. As noted, there are a limited number of 68k Macintosh computers that will run A/UX. The A/UX information found at the very helpful site https://www.aux-penelope.com/ indicates a Macintosh IIci can run A/UX, if a bit slowly. 

Memory Upgrade

The Macintosh IIci had only 4 MB of RAM. Per aux-penelope.com, we a minimum of 8 MB is needed. I found 4 new 4MB 30 PIN SIMM FPM 70ns DRAM non-parity SIMMS from Memory Masters on eBay. With the 4 MB in the first bank and 16 MB in the second bank I had a whopping 20 MB of RAM. Plenty to run A/UX.

Monitor

The Macintosh IIci did not come with a NuBUS video card. Fortunately, the IIci has built in video. Finding a compatible monitor can be a challenge. The video requires a monitor that can sync on green, which is uncommon today. I did find a Dell 1905FP monitor that will sync on green at a vintage store for $15. It has a VGA input that will work with a HD15 VGA Monitor Female to DB15 MAC Male Converter Adapter w/ Dip Switches I found on eBay. This worked, but was not the esthetic I am looking for. I happened upon a 13" Macintosh Color Monitor M1212 on Facebook Marketplace for $30. A much better combination visually. 

CD-ROM Drive

A/UX requires a CD-ROM drive to be installed. I tried to use the new beta version of the .iso/.toast image mounting capability recently added to the BlueSCSI firmware. Unfortunately, there is a very short list of A/UX compatible hardware, including the CD-ROM drive. Fortunately, my Performa 550 has a model CDU561-25 Apple 300 CD-ROM drive which is compatible with A/UX. We'll be using a BlueSCSI for the hard drive, just not to host the A/UX install and upgrade media.

BlueSCSI

The BlueSCSI is a very capable SD SCSI solution for vintage Macintosh computers used to replace aging and failing SCSI hard drives. The IIci did not include a SCSI hard drive, and I'd replace it if it had. Original Macintosh SCSI hard drives are getting very old and unreliable. 

I needed both an internal BlueSCSI to permanently host A/UX as well as an external DB-25 BlueSCSI for installation. The reason for this will become apparent in the installation steps I went through. You may, with the right cabling and power connectors, be able to make do with just an internal BlueSCSI.

A computer to run Basilisk II & burn CDs

You'll need to burn CDs and manipulate BlueSCSI disk images to run the floppy installation program. I used my eMac to burn the CDs and my Windows 10 computer to run Basilisk. 

CD-R media & A/UX installation images

Since A/UX requires installation from a CD-ROM drive, you'll need media. I was successful with Memorex CD-R 52x 700MB 80min CDs. I tried to use some cheap non-branded CD-R disks and ran into issues burning them. YMMV. I also ran into issues burning the A/UX 3.1 upgrade image using my Windows 10 computer. I used my eMac with a combo drive and Roxio Toast Titanium version 5.2.1.

You'll need the A/UX 3.0.1 floppy installer, A/UX 3.0.1 install CD, and A/UX 3.1 upgrade CD images, and AWS Tuneup 2.0 floppy image. These can be found on the Internet. 

High Density Floppy Disk

You will not need a high density floppy disk to run the installer. You can run the install floppy from the BlueSCSI. Details to follow.

If you prefer to have the vintage experience, create a floppy disk from the installer image. I tried, and the installation froze and ejected the disk. I may have a problem with the floppy drive.

SD Card

You will need a micro SD card for the BlueSCSI. A/UX does not use much space as you can imagine. In fact, you'll want to create a blank drive image that is under the 2 GB limit. I used a 16 GB SD card and created extra empty drives to use later.

Basilisk II 

If you follow my method, you'll need to copy files from the floppy installation disk image to a BlueSCSI disk image. I use Basilisk II to do this. 

Installation

Prepare your SD card. 

How to prepare and use a BlueSCSI is well covered at https://github.com/erichelgeson/BlueSCSI/wiki/Getting-Started. I'll go over the details for the A/UX installation. 

You'll need a small, 100 MB hda file to create your boot floppy drive.  I named mine HD60_512_AUX_INS.hda or something like that. The important thing is to make sure it's named so it will be the first bootable drive that is found by your BlueSCSI.

Using an emulator such as Basilisk II, copy the contents of the A/UX 3.0.1 floppy installer disk image to HD60_512_AUX_INS.hda. You may want to ensure it's blessed by dragging the System folder to your desktop, and then back onto the disk image.

Add a 2 GB empty hda file to create your installation target drive. I named mine HD50_512_AUX.hda. 

Connect your CD-ROM drive to the Macintosh IIci

Your IIci will probably have a single connector SCSI cable for the hard drive and a single Molex power connector. Rather than wait for ordering replacement parts, I used these to connect the CD-ROM drive. It would have been easier if I had a power connector splitter that would provide two power connectors and a SCSI cable with two SCSI adapters, but alas. If you have a compatible external CD-ROM drive, you could probably use it externally. Again, YMMV.

Connect your external BlueSCSI DB-25

My solution was to use my external DB-25 BlueSCSI on the IIci external SCSI connector and use the internal cable and power connector for the CD-ROM drive. Whatever you do, you want the SD card with the floppy boot drive and empty 2 GB hard drive in your BlueSCSI. Do not put the installation CD in the CD-ROM drive yet. 

Boot your Macintosh IIci

Now, boot your Macintosh IIci. If all goes well, it will boot from the floppy installation image into OS 7.0.1, and automagically run the install program. Eventually, it will tell you it can't find the installation CD and ask if you want to "Quite" or "Try Again". 

Insert the A/UX 3.0.1 Installation CD

Insert the installation CD and immediately begin clicking the "Try again" button on the installation dialog. Eventually, the installation CD will spin up and be recognized. If you booted with the CD inserted in the CD-ROM drive, it may not recognize it after booting. If you wait too long to click the "Try again" button, or only click it once, it may fail to recognize the CD is inserted. I had to repeatedly click the button until it found the CD. A different CD-ROM drive might not have this issue. 

Initialize the empty drive

The OS recognized I had an un-initialized drive and offered to initialize it. Initialize the 2 GB empty disk image on the BlueSCSI. I had also added a couple of other drives I intend to use for development. These were initialized. I don't recall if this took place before or after the installation program started running. Probably before.

Select your installation options

I used the Easy Install and selected all of the software. I doubt I'll use UUCP or some of the other modules - whatever. The instructions at  https://www.aux-penelope.com/aux_3.0.htm take you though a custom install where you partition the hard drive, etc. Your choice. Click "Install" when you are ready.

Hurry up and wait...

The installation takes quite a long time to run. You may run into installation issues. See  https://www.aux-penelope.com/aux_3.0.htm for assistance. I ran into a CD-ROM disk read error but it recovered from that. Eventually, it will reboot and rebuild the kernel to match your hardware. Reboot again, and you'll be ready for that upgrade to A/UX 3.1. 

Upgrade to A/UX 3.1

Upgrade to A/UX 3.1. Eject the installation CD if you haven't already done so. Insert the upgrade CD. Wait for it to load, open, and run the upgrade program. 

Upgrade to A/UX 3.1.1

Upgrade to A/UX 3.1.1 using the floppy image. To perform the installation, you must be logged in to the server as "root". If your server is set up with the default configuration, the Autologin feature is enabled. You should be logged in as "root" automatically when you start the server. 

Insert the disk you have just created. If the CommandShell application is the active application, the system displays this message: "This is a Macintosh disk. What do you want to use it as?" If this message appears, click the button labeled "Macintosh."

Double-click the Installer icon. This message appears: "You can only install the AWS 95 Tune-Up on the root volume, '/.' Please click Switch Disk to choose this disk."

Click Switch Disk until '/' is selected. Click the Install button. Click Continue to automatically quit all other running applications.

The tune-up installation begins, and the system displays a progress bar and
status messages during the process.

The kernel is reconfigured; this process may take several minutes. After your server has loaded all of the appropriate tune-up software, the message
"Installation successful" appears.

Click the Restart button to complete the installation.

Post installation setup and configuration

There are several suggestions for post installation setup and configuration at https://www.aux-penelope.com/aux_3.0.htm. We will do more in a future post.

Setup 10Mb Ethernet Networking

Unfortunately, I don't have a network card for this machine. That will have to be a later post.

Disable Autologin

Out of the box, the server automagically logs you into the root account. Although it's highly unlikely anyone is going to gain physical access to this machine, I want the login prompt to come up when it's turned on.

In 
 "/mac/sys/Login System Folder/Preferences" you will find a file named "Autologin". It's a text file with a single line at the top - the name of the account to auto-login. Delete the file. 

On the next boot, you'll be asked to login as "Guest" or a registered user. Enter the name "root" and leave the password blank. Click the "Login" button.

Set the Root password

The root password should not be left empty for obvious reasons. Set it to something and make sure you remember it!

From the CommandShell, enter the command "passwd" and press "Return". You will be asked for a new password. Type in your new password and press "Return". Note, as you type, nothing is displayed on the screen. You will then be asked to re-enter the new password.

Setup a user account

You should setup a user account for yourself and anyone else using the system. For each user, you'll need the following:

User's login name (e.g. fred)
The user's login name is usually all lowercase alphabetic characters. You can enter a maximum of 15 characters. To make sure you use a unique name, enter the command 

finger -m login-name

Where the parameter "login-name" is the login name you intend to use. If you see any output about the directory, shell, etc., the user name is already in use. Pick another login name until you find one that isn't used.

User's full name (e.g. Fred Smith)
You can pick any alphanumeric characters including spaces for the full name.

Office address, Office telephone, Home telephone
I left the address and phone numbers blank.

Initial group
For the initial group, you'll need to an existing group name or you can create a new group. The command we use to create a new user will list the existing group names. 

Shell
The shells available are csh or sh. Use the default "/bin/csh".

Home directory
Use "/dir/login-name" where login-name is the name you used for the user's login name. 

From the CommandShell, run the command "adduser". 

Enter the user's login name and press "Return". 
Enter the user's full name and press "Return".
Press "Return" for the address and phone number prompts or enter the values you wish. I just pressed "Return" for each.
Enter the initial group. I used "project".
Enter the shell. I pressed "Return" to use the default csh shell.
The default home directory will be /users/login-name. I used the default and pressed "Return".
You will be asked if you want to create a personal System Folder. You do. The default is "yes". I just pressed "Return". 

If everything is okay, press the return key to create the account. Your personal System Folder will be created which took about a minute. You are then asked if the user is required to set a password on initial login. The default is "yes". Press "Return". 

If you want to setup another user, enter that user's login name and continue. If not, press the "Return" key to end the add user program.

Try it out. Log out of the root account. You will see the login dialog. Enter the new user's login name and nothing for the password. You are next presented with a dialog box asking you to enter a new password. Your password must contain at least two alphabetic characters and one numeric or punctuation character. Your desktop will be rebuilt for your new user.