Unofficial FAQ list for A/UX

This FAQ list is intended to cut down on the number of "often asked questions" that make the rounds on comp.unix.aux and to bring the official FAQ into the 21st century. Also included you'll find a few words of wisdom as well as some general information for the A/UX community. This list assumes that you are familiar with Unix (to some extent) but are curious about A/UX's peculiarities. If you don't understand something in the FAQ List, and a "Point of Contact" isn't specified, then by all means ask comp.unix.aux — the pool of A/UX experts is growing smaller, but this is still one of the best resources available. The list will be posted occasionally on comp.unix.aux, and maybe on news.answers and comp.answers as well.

This FAQ will focus on A/UX 3.1.1, but will also refer to 3.1, 3.0.2 and 3.0.1. Bugs and things "broken" in 3.0.1 but fixed in 3.0.2 (and later) or "broken" in 3.1 but fixed in 3.1.1 won't necessarily be mentioned, since the 3.0.1→3.0.2 and 3.1→3.1.1 fixes (the AWS "Tune-Up" disks, v1.0 and v2.0) are free and readily available.

Newcomers to A/UX (as well as the old-timers!) should become familiar with the sections on security, bugs, and hints before jumping to more specific questions. You can save yourself a few headaches!

Please post your suggestions for additions/modifications to comp.unix.aux for consideration.

Table of Contents

List of Contributors to the A/UX FAQ List

The editor would like to thank all the various people who have contributed to the A/UX FAQ List (both those that submitted questions as well as those who submitted answers). Also included under the Q&A section are the relevant people to contact if you have specific questions about specific A/UX items. If you've been left out, please let me know!

The reader is advised that it is unlikely that many of these circa-1998 addresses will still be valid today.

List of security-related issues

No system is 100% secure. To this end, it makes sense to make each one as secure as possible, including A/UX.

Permissive Permissions

Other "Gotcha's" and Info

List of known bugs and patches under A/UX 3.x.x

Upgrades

AWS Tune-Up 2.0

By far, this is the most important patch you could apply to A/UX 3.1. It updates it to 3.1.1 and fixes lots of bugs as well as provides better performance. The patch is in the form of 1 DiskCopy image file which can be found on jagubox and on aux.support.apple.com. You download the files and then use DiskCopy to make the Installer disks. This is a free upgrade to 3.1 and requires 3.1. A/UX 3.1.1 will not run reliably on the Mac II, Mac IIx, Mac IIcx or SE/30.

On jagubox, look in ~ftp/pub/aux/Apple.fixes/supported

AWS Tune-Up 1.0

By far, this is the most important patch you could apply to A/UX 3.0.1. It updates it to 3.0.2 and fixes lots of bugs as well as provides better performance. The patch is in the form of 2 DiskCopy image files which can be found on jagubox and on aux.support.apple.com. You download the files and then use DiskCopy to make the Installer disks. This is a free upgrade to 3.0.1 and requires 3.0.1.

3.x.x

Performance related patches

BNET

Has an incredibly small listen() queue which is a major pain for loaded WebServers. 'adb' shell script that fixes this is available on ftp1.jaguNET.com in /pub/aux as well as on jagubox. - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov)

inetd

Unofficial replacement is available on jagubox in pub/aux/Daemons. This replacement is based on the BSD-reno inetd and allows such nice features as rereading /etc/servers on receiving SIGHUP, specifying options for called daemons, logging when daemons are spawned and which host requested the daemon and providing host access control. - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov) and John Coolidge (coolidge✉apple.com)

tc (tape drive device driver)

Reports incorrect file number when 'mt' is used to skip files (fsf and/or bsf). Doesn't allow for additional storage capability of extended length tapes or hardware compression tape drives. Doesn't work with Exabyte 8200s.

An unofficial replacement version of 'tc' has has been written that fixes these bugs as well as providing additional capability and support for other drives. 3.x.x replacement is available on jagubox in pub/aux/Sys_stuff. - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov)

Bugs and Fixes/Workarounds

~lp/model/at_interface

Incorrectly prints multiple copies of input. For example, "lp file.1 file.2" would print 2 copies of file.1 and just one of file.2. Due to '>>' being used instead of '>' in certain places in at_interface. Unofficial replacement is available on jagubox in pub/aux/Sys_stuff. Entries in ~lp/interface based on at_interface should also be changed/patched. - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov)

atprint

Doesn't correctly connect to the LaserWriter Pro 810. Official replacement is available on ftp.support.apple.com in /pub/aws95/atprint.

syslogd

Doesn't handle some facility (like 'news') logging correctly. Unofficial replacement is available on jagubox in pub/aux/Daemons (contains new /etc/syslogd as well as syslog.h). - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov)

in.telnetd

Leaves ports open and hanging occasionally. Can cause kernel crashes. Unofficial replacement is available on jagubox in pub/aux/Sys_stuff. Please note that it appears that this new version has some slight bugs in correctly handling Synchs and options negotiation. Jim notes that he's only seen this using VersaTerm Pro 3.6.2 and connecting to himself via telnet. - Jim Jagielski (jim✉jagubox.gsfc.nasa.gov), John Coolidge (coolidge✉apple.com)

/etc/startup.d/ao,as,ae6

Ignores the Broadcast Address value in /etc/NETADDRS. If your broadcast address needs to be different then the default, you'll need to modify these scripts to add 'broadcast "$broadcast"' to the 'ifconfig' lines that don't refer to loopback. Pretty easy but email Jim Jagielski if you have questions.

/usr/include/sys/dir.h

If entered through dirent.h and _SYSV_SOURCE is defined, rewinddir() is incorrectly "defined". It assumes that you are linking -lposix and will use the "real" rewinddir() function found there, when, in fact, you should #define rewinddir as done with _BSD_SOURCE. A hacked version of dir.h is available on jagubox. It only assumes -lposix will be included (and the real rewinddir() called) if only _POSIX_SOURCE is defined.

/usr/include/sys/file.h

Even though fcntl.h is smart enough to know if sys/file.h has been included, and won't redefine things defined in there, the reverse isn't true. So if you include sys/file.h first and fcntl.h next, no warnings will be given, but if you do the reverse, some "redefine" warnings will be printed. A hacked version of file.h (for /usr/include/sys) is available on jagubox. It checks for __fcntl_h first. If you are using 'gcc', you'll also need to snag it's fixed header-file from jagubox, GNUfile.h, and put it at <gnuinstall>/lib/gcc/aux/?.?.?/include/sys/file.h.

/usr/include/sys/param.h

MAXHOSTNAMLEN is defined as a ridiculously low value (32). It should instead be set to what's "normal": 256. Fix is very simple... edit /usr/include/sys/param.h and change the value from 32 to 256. If you are using 'gcc', you'll also need to edit it's include file <gnuinstall>/lib/gcc/aux/?.?.?/include/sys/param.h.

/usr/include/sys/types.h

Incorrectly defines size_t as signed int when every other header file defines it as unsigned int. Fix is very simple... edit /usr/include/sys/types.h and change it from signed to unsigned.

3.1

Bugs and Fixes/Workarounds

chsh

Resets the uid of nobody to 60001 (the MAXUID under 3.1 is 65534, but 'chsh' thinks it's 60001). Use 'vipw' to change this value back if needed.

3.0.2

Bugs and Fixes/Workarounds

elap

A/UX-mac occasionally disappears under Chooser. Official 3.0.2 patch is now available on aux.support.apple.com in aws95/elap.

3.0

Performance related patches

MacOS System Heap Expansion

Not as robust as the real System 7.0.1 capability, thus preventing you from loading lots of memory hungry Extensions and CDEVs. Unofficial replacement is available on jagubox in pub/aux/Apple.fixes/unsupported/3.0.

Bugs and Fixes/Workarounds

as, ao, etheraddr

H/W ethernet address is burned in bitwise reverse on Q9?0 and Ethernet NB card. Thus, ao, as and etheraddr reports the incorrect address. 3.0 patch is now available on aux.support.apple.com in supported/3.0.

BNU/HDB UUCP (the whole thing)

Severe problems as distributed, such as inability to dialout with correctly configured modem, etc. 3.0 patch is now available on aux.support.apple.com in supported/3.0. This "patch" is a newer version of HDB (to 1.16) and adds some Mega-enhancements as well. Thanks to Earl Wallace!!! If you snagged version 1.14 from aux.support.apple.com then be sure to update to version 1.16. Installing BNU 1.6 causes syslogd to break under new compiles. This is due to the fact that dial.o is replaced in libc.a/libc_s.a when BNU is installed. To fix, just get the replacement dial.o on ftp.apple.com in pub/earlw/dial.

csh

Doesn't seem to like filename completion.

pstat

Depending on the options used, can gobble memory and not release. Unofficial replacement is available on jagubox in pub/aux/Apple.fixes/unsupported/3.0.

rpc.rstatd

Doesn't report correct load averages. Unofficial replacement is available on jagubox in pub/aux/Apple.fixes/unsupported/3.0.

serial drivers

After some use on all Macs (except IIfx and maybe the Quadras) the kernel will crash. This has been confirmed by Apple but no fix exists yet!!

syslogd

If BNU 1.6 is installed, syslogd won't work on newly compiled programs due to some munging of libc.a/libc_s.a when BNU 1.6 is installed. See BNU/HDB UUCP above.

Hints and Words Of Wisdom

Disk buffer memory

Depending on your setup, A/UX allocates either 10% or 50% of memory for disk buffers (that is, the value of 'NBUF' is either 0 or -1... see kconfig(1M)). (The kernel for the AWS95 has, by default, a NBUF value of -1 whereas "everyone else" has NBUF = 0.) If you have a lot of RAM and A/UX is only allocating 10%, you can greatly increase system performance by increasing the allotment. However, you cannot use kconfig to specify "20%" but you must give it an actual number to use. The way to determine the number of buffers being used, run "pstat -m". This will give you the number of buffers that are currently allocated. For example, if the value is 1000, then you know that to increase the number of buffers to 20%, you must use 'kconfig' to set 'NBUF' to 2000. Under 3.0.2 (and later), you can use the Memory cdev (as root) to do this as well. In fact, this is the recommended way.

Please note that if you change the amount of RAM you have, you'll need to change the value of 'NBUF.' Jim suggests that before you add/remove RAM, you use 'kconfig' to reset 'NBUF' to 0, then do the RAM change and see how your system performance is. If needed, you can then use the above to increase (or decrease) the number of disk buffers.

Mac II PMMU

You can run A/UX on the original Mac II, however the PMMU chip must be installed. You can also use one of the many 68030 upgrades for the Mac II, such as the Marathon '030, but the Mac II ROMs won't recognize the PMMU capabilities onboard the CPU. You'll need to get the Mac II FDHD ROM Upgrade Kit. This kit replaces your ROMs with IIx ROMs, thus enabling you (and A/UX) to use the upgrade. The kit also replaces your SWIM chip (floppy controller) enabling you to use FDHD disks (if such a drive is installed) too... thus the name of the kit. This kit can be had for about $120 although some dealers also include a FDHD drive as well, bumping the price up to about $430.

Serial ports

You can configure the built-in serial ports for hardware handshaking (RTS & DTS) or dialup security (DTR & CD) but not both, due to the lack of a sufficient number of modem control lines.

FTP

When using ftp, unless you are sure that a file is, in fact, a true Text file, set the ftp mode to Binary. This is especially true when downloading GIFs and "true" Mac files. If it's a BINHEXed file or a uuencoded file, then you can specify Ascii mode (in some cases, it's required). If the file you wish to download has the ".tar" or ".Z" suffix, then you need Binary; if the suffix is ".uu" or ".hqx" then use Ascii. If you are using a MacOS-ftp utility, then using MacBinary may confuse A/UX (well, the Unix side of it). If the file is a tar file (for example), compressed or not, MacBinary attaches some MacOS "information" to the file that tar can't handle. Use 'fcnvt' to change the file to Apple Double to "strip" this extra by separating the forks:

$ fcnvt -v -d input output

To avoid having A/UX attempt the CR→NL change when copying the file over to A/UX, change the Creator to "A/UX" and Type to "BIN " before drag-copying the file.

So, the flow should be as follows:

  1. Set the file's Creator and Type to something safe ("A/UX" and "BIN ") to avoid CR→NL translation.
  2. Drag copy over to A/UX.
  3. Use 'fcnvt' to convert file to Apple Double format.
  4. Use Unix utilties as normal.

GIF files

To download GIF files via anon-ftp, be sure to specify Binary mode. Then use 'setfile' to create the correct Type and Creator fields (for, example, for Giffer use 'setfile -t"GIFf" -c"Bozo"'). You can then keep this file on your A/UX disk or transfer it over to your MacOS disk (See Mac-Emulation Questions).

Rebuilding the Desktop

If you want to rebuild the "/" desktop, be sure to avoid circular symbolic links (links to "." and/or "..") or else you'll be waiting a looooong time. In a similar way, make sure that you don't have NFS volumes mounted because they will add a lot to the time required to rebuild the Desktop...

UUCP

With the newest version of HDB UUCP (1.16 - see above), use the "-u" option on 'getty' to keep /dev/tty?? settings sane. Also use the "-t" option with a value like 60 or so to make getty hang up a hung login attempt.

System Folder security

If your A/UX setup is a true multi-user system, or, at the least, has Guest as an active account, it is a Very Good Idea to give each user their own personal System Folder (use 'systemfolder'). This is very true for root! As root, you should also avoid using the global System Folder (mac/sys/System Folder) as an alternate Sys. Folder... there's very little need to do so anyway.

Oh yeah... you can't just copy /mac/sys/System Folder to something like $HOME/System Folder... you must use 'systemfolder' and add/change/delete things as required.

Text editor preferences

It's very easy to replace TextEditor as your Finder-double-click text editor. All you need to do is copy the application to /mac/bin (make sure that it's permissions are 755 bin:bin), edit /etc/profile and /etc/cshrc to change FINDER_EDITOR to point to the application. Now, A/UX text files will show up as that application's filetype. An excellent replacement is BBEdit Lite (v 2.31). It is really recommended!

Dialup security

A/UX's 'login' supports additional dialup security. This is enabled by creating/editing two files: /etc/dialups and /etc/d_passwd. The format of /etc/dialups is a list of ports that you want to have dialup passwds. eg:

    /dev/tty0
    /dev/tty10

The format of /etc/d_passwd is a list which associates a password with a login program (which is the last field in /etc/passwd). eg:

    /bin/sh:&nk7h7ak92j3H:
    /bin/ksh:8hw$jK4ft92jx:
    /bin/csh::
    /usr/lib/uucp/uucico::

In this case, if anyone attempts to login on ports tty0 or tty10 and are using 'ksh' or 'sh', they'll get asked for a secondary (dialup) password. Users using 'csh' or 'uucico' will not. All other logins that use login programs not entered in /etc/d_passwd (like, for example, /usr/local/bin/bash) will not be allowed to login on the "secure" port.

Software installers

If you want to install a program that uses a "complex" installation procedure (like for Canvas, Word, Stuffit, etc.) then you should not try to do a fresh install under A/UX. Instead, install under the real MacOS, reboot A/UX and then install needed files to your A/UX System Folder. Programs that, when installed, hack around with the System (beyond things like Fonts) itself, most probably won't work under A/UX, since you really can't patch System (unless you are handy with ResEdit and know exactly what resources to add/change... even then, you are taking a chance...)

fsck

If you get an error message to the effect that you have a bad SuperBlock when doing a 'fsck' on a disk, try having 'fsck' use another SuperBlock. Block #16 is always an alternate SuperBlock block, so you can try:

$ fsck -b 16 /dev/rdsk/cxxxxxxxx

setpgrp()

A/UX has two versions of the setpgrp() call. The first is the standard SysV version and takes no arguments. The other is the standard BSD version and takes 2 arguments (setpgrp(pid, gpid)). However, if, when porting programs, you have added the 'set42sig()' call, or link with -lbsd, then you must use the second form (actually, the second form is required whenever COMPAT_BSDTTY and COMPAT_BSDSIGNALS are set); the first form will usually fail. A non-portable way of handling this is always calling setpgrp() as setpgrp(0, getpid());. Now, no matter what the compatibility flags are, the function will work ('cc' and 'gcc' under A/UX presently ignores the passed arguments when the no-argument version is called).

Filesystem organization tips

It's always a Good Idea to keep "original" stuff separate from locally added or modified stuff. '/usr/local' is a very good place for this. To add manual pages to this location, create a '/usr/local/man' directory. Now make a symbolic link from '/usr/catman/L_man' to '/usr/local/man'. This does two things: (1) Allows 'man' to search down the '/usr/catman' directory to find your local man pages while keeping the actual data under '/usr/local'; (2) The local man-page set will be searched first (due to the name L_man) as would be desired. If you really want, you can also make '/usr/local/catman' a link to '/usr/local/man'.

Utilities for man pages

If you've added a number of additional man pages, you may want to snag the 'man-utils' package on jagubox. It includes a collection of programs and scripts that make viewing, installing and making man pages easier. Also includes a replacement for '/usr/bin/man'.

Shell scripts

Some 'configure' scripts may fail due to some line-length and symbol-length limitations in /bin/sh (you'll see something like a "symbol too long" error). You can get around this by changing the script type from #!/bin/sh to #!/bin/ksh to run them as 'ksh' scripts... In fact, some people think it's better to run all 'sh' scripts as 'ksh' scripts if possible. ☺

Fonts

Maybe you think Courier and Monaco really don't look that nice for CommandShell windows. Monaco is too plain and Courier takes up too much room on the window (and with both, it's hard to see "."s, hard to tell the difference between "O" and "0", etc.). Jim used a font called CSFont on jagubox. It's a tweaked version of the old, original Courier bitmaps that Apple used to provide. It's available via anon-ftp here on jagubox in /pub/aux/Misc_stuff. He was working on tweaking a bold version of CSFont, but apparently it never was completed.

Programming tips

If you are doing any in-depth porting, then do yourself a favor and snag a copy of libUTIL.a from jagubox. libUTIL.a is a collection of many functions that aren't included in the standard A/UX libraries, but are needed (or very useful) when porting (esp. BSD sources or ANSI stuff). Some examples of included functions are memmove(), strerror(), strdup() and more. If you have a suggested function to include, let Jim Jagielski (jim✉jagubox.gsfc.nasa.gov) know.

Web browsing

In order to get the WWW-browser Netscape to work correctly under A/UX, you need to make sure a few things are right. First of all, make sure that your Preferences are setup correctly: your Temp and Cache directory should be set and must be located on a MacOS disk, not under the A/UX file system; your Helper applications must be selected as well. Failure to do this can cause Netscape not to view graphics correctly.

You should also move the 'Netscape f' folder from the Preferences folder in System Folder to the actual Netscape folder... Having it located in Preferences will prevent Netscape from remembering certain settings, such as Bookmarks.

List of web resources and anonymous ftp archives for A/UX

Many of these sites are defunct as of 2005, but they remain in this list so that the significance will be realized in the event that a mirror is discovered.

You'll notice "jagubox" mentioned a lot in this FAQ. It was a ftp/gopher/web server run by a previous FAQ maintainer and prominent A/UX community member named Jim Jagielski. It's address is listed below. Jim left NASA and the jagubox archive is no longer accessible there. Some mirrors do exist, and they are also listed below.

FTP

Web

List of ported software

Already ported and available:

Easy to do:

The following have also been successfully ported to A/UX with minimal trouble. Since the ports are pretty straightforward, only a few are actually available in their ported form (please see Porting and Programming Q&A below). Please note that most of these require or assume using 'gcc'.

As a general rule of thumb, most of the ports that Jim J. has done use gcc and GNUmake... provided patches may assume or require these.

General Q&A

What is A/UX? Is it any good?

A/UX was Apple's first implementation of Unix (Apple's UniX) for various Macintosh computers in the late 1980s and early 1990s. It was originally ported by Unisoft. A/UX merges two computing environments, Unix and the Macintosh Finder OS, and provides the full functionality of both. The impetus for creating a Unix-based OS at that time was in large part due to the United States federal government standard for computer purchases was that the systems be POSIX compliant.

A/UX is based on AT&T Unix System V.2.2 with numerous extensions from V.3, V.4 (such as streams) and BSD 4.2/4.3 (such as networking, the Fast File System, job control, lpr, NFS with Yellow Pages, SCCS and sendmail 5.64). It also provides full POSIX compliance. A/UX provides SYSV, BSD and POSIX compatiblity switches and libraries. A/UX is fully compliant with the System V Interface Definition (SVID).

A/UX provides all three shells that were standard at the time: sh, csh and ksh. X Windows (X11R4) is also provided standard.

A/UX 3.x.x incorporates System 7 for the Macintosh allowing for the use of the vast majority of Macintosh applications under A/UX. System7 and Unix and fully integrated under A/UX 3.x.x with the Unix file system being seen as a disk drive by the Finder.

There are quite a few people who feel that A/UX is a near-perfect implementation of Unix. Of course, every operating system (even AIX!) has it's share of devotees, so that's not a very valid scale of whether the system is any good. A/UX is Unix…it's not some form of pseudo-Unix. It insulates the user from Unix, if required, but the System Administrator will need to become Unix-aware. Furthermore, if you want straight Unix, you can get it…it's not a chore to bypass all the "gingerbread". People may also complain that A/UX is based on an "obsolete" version of AT&T Unix (V.2.2). In many ways, Apple's extensions make A/UX very V.3-like (V.3 is in many ways an enhanced V.2 — it even uses the V.2 kernel). The list of extensions to A/UX are impressive. Compare what you get standard with other systems and you'll be shocked! On some, 'cc', 'f77', NFS, etc. are costly options.

The main consideration (and opposition) to A/UX in it's day was the platform it runs on: the Macintosh. Some consider this a boon, others a bust. Apple's top-level A/UX workstation is the Quadra 800, a 33MHz 68040 based system. Some considered this obsolete; others considered it overkill; others, like Goldilocks, considered it "just right".

If you needed super-fast state-of-the-art number crunching capability then A/UX may not have been for you…the Q800 benchmarks at maybe 10-16 SPECmarks (depending on compiler used, external cache size, etc.) and you could get lots faster with other platforms. Of course, you'd have to "settle" for their operating systems, but if you needed it, then that's how you'd get it. Of course, this doesn't mean that A/UX "crawls", and hobbiests using it today are still pleasantly surprised with its performance.

There are very few people who needed this type of performance though. If you needed (or just wanted) a Unix workstation with the speed and power of Unix and the user interface and application selection of the Macintosh then A/UX was the way to go. In many, many ways, A/UX was the Unix "for the rest of us"…even if we are long-time Unix junkies. If you love the Mac, you'll love A/UX; if you love Unix, you'll love A/UX…and if you want a near-perfect marriage of the two, then you'll love A/UX.

Yes, A/UX is good…very, very good. ☺

All that said, Apple stopped development on A/UX in the early 1990s and dropped support (in favor of other efforts, such as MkLinux, Copland, then Rhapsody, which became MacOS X) by 1996. The rumored OSF/1-based version 4.0 never materialized. It is an abandoned OS, and since Apple has not released the source (nor can they, since they licensed from SCO), there is no way for it to be kept updated. Hobbiests considering using A/UX should be aware of this. Most remaining A/UX installations in the 21st century are for nostalgia.

Who uses A/UX? What for?

As alluded to above, A/UX is used for anything a Unix or Mac workstation was used for in the early 1990s. Many people did application development, ran backup/storage software, and hosted MUDs and web servers. As of late 2006, only two public A/UX servers are known: wiskit.com, run by Herb Weiner, and se30.it, run by Amedeo Mantica. Others are deployed on intranets, but most remaining installations are now assumed to be hobbiest systems.

What's the minimum system I need (CPU, disk and RAM) to run A/UX?

A/UX 3.0 works on the Mac II (with PMMU or 68030 upgrade with FDHD ROM's installed), IIx, IIcx, IIci, IIfx, SE/30, IIsi (with 68882 chip) and the Quadra 700/900/950 computers. A/UX 3.0.1 (and later) adds support for the Q800 and Centris Machines (the Centrises must have the real 68040 w/FPU - See below). A/UX will run on the Quadra 610 and 650s (recall that A/UX requires the real 68040 chip!) with a little bit of work.

A/UX will not run on the PowerMacs, any AV machines, any PowerBooks (or portables), the LCs, the Duos, the Classic II, the Q605 or on the Quadra 630. It is recommended that you not run A/UX 3.1.1 on the II, IIx, IIcx or SE/30 machines, since their MacOS-compatibility is unreliable under 3.1.1.

Recall that A/UX is Unix and thus contains some very hardware specific drivers. It's for this reason (and not Apple not doing things correctly) that A/UX won't work on newly released platforms. To support a new platform, at least some work (and possibly extensive work in some cases) must be done.

If you really want to cut it close, 8MiB RAM and an entire 80MB hard disk will just make it. You'll have little room for user files (unless you clear out some space by removing /games and maybe /catman) and depending on your workload, may suffer from low performance due to swapping…you may even encounter the infamous swap messages ☺.

A much better system would be 16MiB of RAM and about 200MB of disk space. This would give you much more room to grow as well as sufficient RAM to increase your performance (assuming that you tune some kernel parameters). All in all, more RAM is preferred: 20MiB (or more) is ideal.

Take care that you don't use too large a disk, however. The fsck in A/UX Startup that checks the root filesystem cannot scan a partition larger than 2GB. A/UX's own fsck can check larger partitions just fine.

I don't have access to a supported machine. Can I run A/UX in emulation?

Short answer: no.

As alluded to above, A/UX talks directly to the hardware. It does not talk to the Macintosh ROM, which is a key component that most Mac emulators use to avoid having to write full emulation of all the hardware components themselves. If someone were to write a 100% cycle-accurate emulator that precisely duplicated the hardware of a supported model, then it would be possible. However, all existing Mac emulators have taken the easy route and used the ROM as an abstraction layer to the real hardware.

If you don't have one of the supported machines, you cannot run A/UX. Which is a trifle sad, as it means A/UX will eventually fade out completely as key hardware components inevitably fail, leaving us without the requisite platform.

What's new about A/UX 3.x.x?

A/UX 3.x.x incorporates the full functionality of System7. It supports the QuickTime multimedia extension and the new Mac Quadra computers (not the AV machines, however). A/UX 3.x.x includes X11R4 in its distribution, as well as MacX. Installation of A/UX is much easier that it was before and can be installed on any 3rd party hard disk using the "new and improved" HD Setup application (see Admin Q&A though).

3.0.2 is a later version of A/UX. 3.0.1 added support for the Q800 and the Centris machines (650 and 610) as long as they have the real 68040 chip (68RC040) installed. (Support for the C650 is official; support for the C610, which requires the 040 be replaced since none have the required one installed, is non-official but known and verified). A/UX 3.0.2 will also run on the Quadra 610 and 650; see What's the minimum system I need (above) to see how. To get 3.0.2, you'll need to install 3.0.1 and then apply the AWS Tune-Up 1.0 to upgrade to 3.0.2. This upgrade is free.

3.1.1 is the latest version of A/UX. 3.1.1 greatly improves performance and reliability as well as fixes some bugs. It does not, however, add support for any other Macs. 3.1.1 is "tweaked" for the AWS95, but can be run on other non-AWS95 Macs as well (see below). A/UX 3.1.1 is a "tuned-up" version of A/UX 3.1, which is, itself, a improvement over 3.0.[1|2] (in fact, 3.1 contains all the fixes in 3.0.2). However, A/UX 3.1.1 will not run reliably on the Mac II, Mac IIx, Mac IIcx or SE/30 machines.

3.0.1, in addition to supporting newer Macs, provides performance boosts, bug fixes, better Finder emulation and other enhancements over 3.0. 3.0.2 does the same for 3.0.1. The upgrade from older versions of A/UX to 3.0.2 really is worth the pretty small amount of money required. 3.0.2 is a better and more solid performer, both Unix-wise and Finder-wise, than it's predecessors. 3.1 requires 3.0.[1|2] and provides much better performance and should be seriously considered!

What's the diff between 3.0.2 and 3.0.2(wgs)?

3.0.2 is an exact binary-copy of 3.0.2(wgs) (which is the version of A/UX for the WGS 95 server) except for some minor cosmetics and the exclusion of the server-related applications. This includes RetroSpect for A/UX (see Errors Explained). Some of the major differences between 3.0.2 and 3.0.2(wgs) include:

As you can see, they are all related to how the system is set up.

How can I order A/UX?

The latest shipping version of the complete A/UX distribution is 3.0.1. Once you get that, you can either decide to upgrade (for free) to 3.0.2 or upgrade even further by purchasing the A/UX 3.1 upgrade and then using AWS-Tune-Up-2.0 (which is free) to go all the way up to 3.1.1.

A/UX is available preinstalled on Mac systems or on CD-ROM. To find the nearest A/UX reseller, call 1-800-538-9696. You'll need access to a compatible CD-ROM drive to install A/UX (or a friendly dealer if you go that route). Please note that at the present, you can only order 3.0.1; you'll then need to apply the AWS Tune-Up 1.0 (available on jagubox and aux.support.apple.com) to upgrade up to 3.0.2. You could also, as mentioned above, also decide to spend some extra money and get the 3.1 Upgrade CD-ROM, to bring you up to 3.1, and then apply the free Tune-Up-2.0 disk to bring you up to A/UX 3.1.1.

The part numbers (and suggested retail price) for 3.0.1 are (US and Canada):

M0598LL/C
A/UX 3.0.1 CD-ROM product (contains Essential Manuals) - $795
M0597LL/B
A/UX 3.0.1 Essential Manuals - $329
M0430LL/B
A/UX 3.0.1 Programmers Manuals - $329
M0431LL/B
A/UX 3.0.1 Administrators Manuals - $329
M0599LL/C
A/UX 3.0.1 Update (updates previous versions to 3.0.1) - $250
M0489LL/B
A/UX 3.0.1 Programmers Manual Update - $285
M0490LL/B
A/UX 3.0.1 Admin. Manual Update - $285

If you are interested in upgrading your Q950 to the Apple WGS-95 Server (which uses A/UX 3.0.1) here are the part numbers (with SRP):

M6940Z/A
WGS 95 PDS Upgrade Kit - $2499
M6945Z/A
WGS 95 PDS + DAT Upgrade Kit - $4399

By the way, MacWarehouse is now selling the A/UX 3.0.1 CD-ROM package for $619... Their phone number is 1-800-255-6227; ask for part#SYS0009.

To get 3.0.2, you need to snag the AWS Tune-Up 1.0 DiskCopy image files from aux.support.apple.com or jagubox and apply the patches. Although the Tune-Up is called AWS, it's really for all A/UX users. Note that you need 3.0.1 to upgrade to 3.0.2.

If you want to upgrade to 3.1.x, please see below.

There's no way Apple is going to sell you a copy of A/UX any more. It's hard to find even on eBay. The editor can neither confirm nor deny the existence of disk images on a German ftp site.

What's the upgrade path for A/UX 3.0.2?

You can upgrade to 3.0.2 (from any other version of A/UX) by purchasing the A/UX 3.0.1 CD-ROM Product Upgrade (Apple part # MO599LL/C). The suggested price is $250. You then need to snag the AWS Tune-Up 1.0 disks to upgrade 3.0.1 to 3.0.2.

It's recommended that if you do upgrade, that you completely repartition your disk via the Installer for two reasons:

  1. The default (suggested) partition sizes have changed
  2. You install 3.0.1 on a "clean" system.

If you want to upgrade to 3.1.x, please see below.

What are Right-To-Copy and Right-To-Upgrade licenses?

If you have bought at least one copy of A/UX 3.0.x and you have other Mac CPUs that you would like to install A/UX on, you don't need to reorder the entire product. You can order a Right-To-Copy license for each Mac you want to install A/UX on and then copy your A/UX to that Mac. This is cheaper than buying a whole new CD-ROM package. It's not right to copy unless you have a Right-To-Copy.

If those other Macs are already running A/UX, but an older version, then you need to order a Right-To-Upgrade license for each one you want to upgrade. As above, you then copy your 3.0.x over to that Mac.

Note that in both cases, you must have purchased at least 1 copy of A/UX 3.0.x. The Right-To-* licenses just "authorize" you to then copy that over to other Macs.

The A/UX Essential Manual Set (that comes with A/UX 3.0.x) is not provided with either license. If you need more, you'll need to order them.

How can I report bugs that I find?

The official e-mail address is reports✉aux.support.apple.com. If you subscribe to the A/UX Technical AnswerLine, you can also use that method. The former isn't acknowledged although the latter is.

For completeness, also post the report to comp.unix.aux.

There was also a HyperCard stack called "Apple Bug Reporter" that Apple recommended using.

Don't hold your breath waiting for a fix, though. ☺

What's the word on A/UX 3.1 and 3.1.1?

The latest shipping version of A/UX is v3.1. 3.1 offers better performance than 3.0.2, fixes for various bugs, better MacOS emulation and some updated programs and applications. 3.1 requires 3.0.[1|2] and costs $199 (+ $5 for shipping, $10 for FedEx). You can order it directly by calling 1-800-769-2775, x7822. Ask for the A/UX 3.1 WGS Upgrade Kit. If that doesn't work, try asking for part # M2885Z/A.

Once you get A/UX 3.1, you should then apply the AWS-Tune-Up-2.0 disk which upgrades 3.1 to 3.1.1. 3.1.1 offers a bit better performance and better MacOS emulation than 3.1 does. It's also very free.

3.1.x has only been fully tested on the AWS95 platform and not on all the other platforms that A/UX runs on; however, nothing was done to it to prevent it from working on other machines. 3.1.x is "only" for the AWS95s in the same way that 3.0.2 was "only" for them. ☺

Anyway, here is a short and non-official list of some 3.1.x features:

A/UX 3.1.1 will not run on the Mac II, Mac IIx, Mac IIcx or SE/30 machines.

How can I hack A/UX onto a Quadra 610/650?

You should make a copy of the A/UX Install Boot floppy and then copy the Enabler for the Q610/650 onto this copy. You then boot up from this floppy and install A/UX as usual. Finally, you'll need to copy the Q610/650 Enabler onto the A/UX MacPartition (or whatever MacOS disk you will use when starting up your Mac and booting A/UX); do this by first booting off a boot floppy or boot CD and then copy the Enabler over. You do not need to make any changes to the A/UX System Folder (i.e. the System Folder used under A/UX).

What's the future of A/UX with the PowerMacs?

Don't ask…really, don't ask!

Okay, if you insist. It ain't happy….

There is none. Apple has dropped A/UX totally. Apple chose to run AIX on its early PowerPC-based servers, which couldn't be confused with A/UX by a dead halibut. Early in the RISC transition planning Apple paid Unisoft to port A/UX to the m88k processor, but the ultimate decision to use PowerPC must have killed that project.

Apple, however, has provided great support in porting Linux to the Nubus-based PowerMacs. This OS, MkLinux, was made available in "golden release" form around September 1996. You can learn more by checking out mklinux.apple.com. Apple ceased its dalliance with Linux not long after this release, and MkLinux should not be seriously considered by anyone wanting a Unix on a PowerMac.

Apple's recent direction has taken it to yet another processor family, the x86. No, A/UX will not be ported to it, either. MacOS X runs quite well on it, though. As a sort of "spiritual descendant" of A/UX, that's probably more than we could hope for anyway.

I can't use A/UX. What Unix alternatives are there?

If you can't or *gasp* won't run A/UX on your 68k Mac, then you now (this wasn't the case in the early 1990s!) have several options.

If you are looking to use a GUI with your 68k Unix box, be aware that X11 applications are sloooow.

What is NouveAUX?

NouveAUX was an idea proposed on comp.unix.aux in early 2003 to resurrect A/UX, in spirit, if not in fact. This would be done by integrating a MacOS emulator (such as Basilisk II) tightly with an open-source Unix (such as NetBSD). A Mac-like desktop environment would also be created, though for the "full experience" to be realized, applications would need to be rebuilt to (optionally) use a shared menubar. By doing this, "A/UX" could run on newer machines, such as PowerMacs. The idea never got any further than discussion, mostly because of a lack of clear direction and programmers interested in doing the work. There are probably three major concerns in such an effort:

  1. No one has ever created a sufficiently Mac-like desktop environment/window manager to use for a project like this. At best, you can find one with Mac-lookalike window borders and UI widgets. Though it seems unlikely, perhaps getting X11 apps to use a shared menubar resource is too technically challenging. The Apple HIG pretty much spell out how the look and feel ought to be.
  2. Mac emulators still rely on having a copy of the Mac ROM. A distributable system must be free of this encumbrance, requiring the ROM to be reverse-engineered so that calls to its functions (say, QuickDraw) can be implemented natively.
  3. Apple would probably try to sue you for doing either of these. Such a case might not have much legal merit, but threats of expensive lawsuits are enough to stall good projects.

The name is a play on words: NouveAUX being a "new A/UX", "nouveaux" being "new" in French.

I like A/UX, but I'm stuck using some other Unix system. How can I make it more Mac-like?

This question is reasonable, but outside the scope of this FAQ. The answer lies elsewhere.

Installation

The installer panics that there is no root fs. Can I work around it?

You can try using a slower CD drive. If you are not using original media (i.e. a backup burned to CD) make sure it is CD-R, not CD-RW.

Administration Q&A

How come my Login screen is gray, not color?

Because that's the way Apple wanted it. ☺ Actually, the reason why is because the 'scrn' resource is missing from 'System' in /mac/sys/Login System Folder. If you're handy, you can copy 'scrn' from some other System and paste it in Login's using ResEdit. Make sure the "Is Color" field in 'scrn' is "1".

How come my Login ScreenSaver doesn't see both my monitors?

This is also due to the fact (see above) that the System file in /mac/sys/Login System Folder lacks a 'scrn' resource. If you copy this resource from a System that knows about your monitor setup into Login's System, then the screensaver will knows about all your monitors.

Even though I have lots of swap space and only a little bit is being used, I still get a lot of messages saying that my swap space is running low. What's the buzz?

Unix is justifiably concerned about having adequate swap space. A system crash caused by this beast is a sight to behold. However, A/UX seems extremely nervous about the amount needed before it starts getting fidgety. If you do a "/etc/swap -l" and see that you're only using a small portion of your swap space and have a "lot" left, then you can safely ignore the messages. (Just how much is a "lot" is hard to say, but if you have 25000 blocks and are only using 1000 or 2000, then you are probably fine.) If you do need more swap space, then you have a few options:

  1. Using 'kconfig', reduce the number and size of buffers. This isn't really a good idea since it could really degrade performance as well as possibly causing more panics.
  2. Add more swap space. Fine, if you have it. You could either add another disk as swap (nice) or repartition your present disk to create a larger Swap partition (Ack!).
  3. Add more memory. If you have more memory, then this will reduce the need to augment it with swap space... RAM's cheap too! There is an old rule of thumb that the size of Swap should be about 2 to 3 times the amount of RAM, which would seem to contradict the above. The thing is that if with the present workload you are swapping like crazy, then adding RAM will reduce tha swapping. If, however, you start increasing the workload, then swapping will start again, and you better have enough of it! This was the original intent of the Rule-Of-Thumb. At the very least, Swap should always be at least as big as the amount of RAM you have.

How can I copy a complete file system from one disk/partition to another?

You have three options: dd, dump.bsd and cpio. pax may work but tar won't since it won't handle special-type files. If the two partitions are the same size, you can use 'dd' (to copy c0d0s0 to c5d0s3, e.g.): dd < /dev/rdsk/c0d0s0 > /dev/rdsk/c5d0s3

To use dump.bsd, you can use the following command (this assumes that the destination disk in mounted on /mnt and you want to copy the root file system which is on SCSI 0... of course, you must be root and it would be much better to do this in single-user mode): dump.bsd 0f - /dev/rdsk/c0d0s0 | (cd /mnt; restore xf -)

To use cpio, you must use it in a pipe with find. For example, to copy /usr (let's assume it's on it's own file system) to another disk/partition (assume it's mounted on /mnt) then you can use (you can add the "-depth" flag to 'find' if you want): cd /usr ; find . -print | cpio -pdmuva /mnt

The problem with this is that if the mount point of the destination disk falls under the file system's directory you're trying to copy, you'll load up your destination disk. For example, the following would not work: cd / ; find . -print | grep -v '^./mnt*' | cpio -pdmuva /mnt

If you have GNU find, then you can use it with it's '-xdev' option, which prevents find from walking through other file systems: cd / ; find . -xdev -print | cpio -pdmuva /mnt

dump.bsd creates a "truer" copy of your file system (the access and modification dates aren't mucked with... with the find/cpio pipe, at the least the directory dates are touched) but pre-3.1 versions of restore couldn't restore named pipes. These are easy to create though using 'mknod'. The only named pipes included in the default A/UX distribution are:

    /usr/lib/cron/FIFO
        prw-------   1 root     sys            0 Oct 18 16:08
    /usr/spool/lpd/AppleTalk/pipe
        prw-rw----   1 daemon   daemon         0 Oct 19 06:11

What's with UUCP?

UUCP under 3.x.x is very improved over it's previous incarnation under 2.0.1. 3.x.x uses HDB (for HoneyDanBer) UUCP instead of standard UUCP. Some nice things are bidirectional getty (also known as uugetty in other Unixen) which allows both incoming and outgoing communication over serial lines as well as better performance and reliability. It is reportedly much easier to set up as well.

You may seriously consider getting Alexis Rosen's "sendmail.cf" file for use under UUCP sendmail. This config file has been modified to allow UUCP and sendmail to work beautifully together. You may also want to consider simply installing smail to replace sendmail.

Under 3.0., be sure that you are running the latest version: 1.16. It can be found on aux.support.apple.com in aux.patches/supported/3.0. Be sure that you get the new dial.o on ftp.apple.com (pub/earlw/dial) to avoid breaking syslog. Under 3.0.1 (and later) all is OK.

How can I log anonymous ftp entries? in.ftpd has a -l option, but it doesn't work

Jim Jagielski (jim✉jagubox.gsfc.nasa.gov) has hacked in.ftpd to enable logging via the syslogd daemon. It also pays extra close attention to anonymous ftp logins. It's available (as well as other ports/hacks) on jagubox. Also available on jagubox is a port of the latest version of wuarchive's ftpd server for A/UX. wu-ftpd is a super-nice ftp server with lots of extras and neat features!

The real reason why '-l' doesn't work with in.ftpd is that there's no real way to send this option to the daemon. A/UX 'inetd' doesn't allow you to add options to '/etc/servers'. John Coolidge (coolidge✉apple.com) has ported the BSD-reno version of 'inetd' to overcome this limitation. Jim Jagielski has since been updating and maintaining 'inetd'. This version of 'inetd' also has some nice features, such as rereading /etc/servers when sent SIGHUP. It's available on jagubox. This version of 'inetd' has also been modified to log whenever it spawns a background daemon as well as logging which host requested the daemon.

For more info, contact Jim.

How come when I do a 'df' as a regular user, it shows me a different number of free blocks compared to when I run it as 'root'?

One of the details about the BSD Fast File System is that it sets aside some amount of the available disk space (if the file system was created by HD SC Setup, then 5% is set aside; if created by 'newfs' then 10% is set aside... this value can be changed by using the 'tunefs' command) and makes it unavailable to regular users. This prevents 2 things: filling up a file system and destroying performance by having a "too full" file system. 'root', however, does have access to this "extra" disk space, hence the difference in the numbers reported by df between 'root' and "regular joe".

As mentioned above, if you used HD Setup to create the partitions (or your A/UX came preinstalled), then the "set aside" value for these file systems is 5%, not the "default" of 10%... This was simply to give users more space. Reducing this value beyond 5% is Not A Good Idea.

Does A/UX LocalTalk support IP?

Nope... not at all. You cannot send IP packets down the LocalTalk (printer) port. IP communication must be through the ethernet port.

How do I get MPW 3.1 to work? It hangs my system...

MPW 3.1 doesn't work under A/UX although 3.2 does. In the meantime, you can make 3.1 work by breaking into MacsBug when it's hung and entering: pc=pc+2;g

See Mac-Emulation Questions for info about entering MacsBug...

Can I refer to a file on my Mac system from within A/UX?

A/UX's 'Finder' mode was the only way (for a long time) to access both file systems. You could write a hybrid application that could attach to the Finder world (a la, CommandShell and cmdo which can "see" both file systems), but you can't access HFS volumes from the A/UX kernel directly. In a similar vein, you can't 'mount' an HFS volume on an A/UX inode with the standard tools.

More recently, a wonderful suite of tools (originally written for Linux) called 'hfsutils' has been ported to A/UX. At its core it is a C library that provides HFS access routines. It also includes command line and X11 interfaces. In A/UX, the entire disk is referred to as slice 31. So first hmount /dev/dsk/c0d0s31 1 and then hls to see the Mac-side files. Other programs in the 'hfsutils' package allow you to manipulate those files. While not quite as nice as providing HFS support natively so that standard utilities would understand those disks, 'hfsutils' does provide a workable solution.

How can I adjust the amount of virtual memory Finder uses?

There are three ways to do this. The first is very easy: you simply use the Memory cdev to adjust the "memory" size, logout and then log back in. You must be 'root' to do it this way.

The second way is to use the 'TBMEMORY' environment variable. You can set it's "value" equal to the amount of memory you wish to use. For example, TBMEMORY=10m; export TBMEMORY (in .profile for ksh or sh or /etc/profile) or setenv TBMEMORY 10m (in .login for csh) configures Finder for 10M.

You can also edit /mac/bin/mac[32|24] (or .mac32|.mac24 if you are using this method) to call 'startmac' with the memory size you want using the "-m" option. For example, /mac/bin/startmac -m 8m > $SMLOGFILE 2>&1 & in (.)mac[32|24] will configure an 8M environment.

Please note that under the 24-bit mode (mac24), you can only access a maximum of 8MiB of RAM. It won't complain if you try to setup more, it just won't do it. Furthermore, if you actually have more than 8MiB (say 12), the "About This Macintosh" window will show "Built-in Memory: 12,288 K; Total Memory: 8,192K".

The default behavior of 3.0 (and earlier) was to allocate all the RAM to the MacOS. Thus, if you had 20MiB, A/UX would, unless told otherwise, allocate 20MiB for the MacOS-emulation. Under 3.0.1 (and later), this is slightly changed: A/UX will usually not allocate all RAM to the MacOS but will instead impose a 16MiB maximum (this can be changed via Memory or TBMEMORY). Whatever version of A/UX you are running, it's a Good Idea not to allocate all RAM for the Finder. This is because A/UX allocates itself a chunk, so if you give the Finder "all" of it, you can cause swapping and paging which can seriously degrade performance at times.

If the value set in 'Memory' and TBMEMORY disagree, the value determined by TBMEMORY is used.

Is there an archive of comp.unix.aux out there somewhere?

There used to be one at www.support.apple.com/pub/usenet/comp.unix.aux/. These days, just use Google.

How come I can't use color under X?

Apple's X (R4) supports color. However, you must start the server with the "-screen 0 -depth 8" option (similar command with other screens if you have them). You can add these options to the command line or to your server's defaults file. You can also create a ".X11" file in your home directory which includes the line X -screen 0 -depth 8 to get the same effect. Make sure that ".X11" is executable for this to work (chmod 755 .X11).

Using the command shell interface, I'm trying to access some Mac files (that have strange names) but I can't; the program returns an error and I can't access the file. What's going on?

The problem is that sh and csh don't understand the Mac "special" characters that are in the filenames. They don't expect filenames with characters that are represented by 8-bits. ksh is "8-bit clean" and thus would be able to access the file. For example, to remove Moire, just type:

    $ ksh           #this creates a Korn shell child
    % rm M?ire      #match the weird 'o' (ö)
    % exit          #get back in your old shell

You could also use emacs' DIRED or the Gnu File utilities to do this, but ksh is right here on the system so it's a bit easier. Of course, another very easy way is to use the MacOS interface and do the deletion/rename/whatever the "Mac" way. Please note that if what you are MacOS-deleting is a symbolic link to a directory, what gets Trashed is actually the contents of the directory as well as the link! This is due to the fact that to the Finder, the link looks like a folder, and the entire thing gets deleted.

I heard the the Installer for 3.x.x works on "any" 3rd party hard disk. Well, it doesn't on mine!

Well, the Installer will work with any 3rd party disk but there are a few wrinkles... The HD Setup application in the 3.x.x Installer is unique in that not only does it create A/UX partitions but it also creates the actual file systems in those partitions (basically it runs 'newfs'). Now if you have used some other HD utility program (such as SilverLining or FWB HDT) to create the partitions and then attempt to install A/UX on that disk, the Installer sees that the partitions are there and then assumes that they were created by HD Setup and therefore have the file systems already created. Of course, the file systems don't exist yet, just the partitions, so the installation fails. You have a few options:

  1. Run the Installer on a newly formatted disk. This means that HD Setup will do all the partitioning (etc.) and the installation will proceed. Note that this means you will be "stuck" with the Apple drivers whenever you are in the real MacOS Finder.
  2. If you want to use the drivers on your HD utility (for stuff like, maybe, password protection of partitions) then you have two (maybe three) additional options:
    1. Use the first option above to install A/UX. Then use your HD utility program to "take over" the disk, disabling (or even removing) the Apple drivers and installing its own. Note that if there isn't enough space to install it's drivers, most will attempt to "shrink" the MacOS partition to make room. Most can do this with no problem, but why take the risk? When you partition the disk, leave about 64K available as free space.
    2. Use your HD utility to create the partitions. Then, before you run the Installer, run 'newfs' "by hand" to create the file systems so that the installation can proceed.
    3. Use your HD utility to format (etc.) your disk and create only the MacOS partition. Now run the Installer. In most cases HD Setup will work fine with the driver installed on the disk. You can now use it to create the A/UX partitions. This is known to work with FWB HDT

Please note that HD SC Setup will only create the file systems if run under A/UX. If you run it under the MacOS, it can only partition...

Since RetroSpect will no longer be bundled with A/UX 3.0.2, how can I get it?

Very early reports indicated that RetroSpect for A/UX might be bundled with A/UX 3.0.2 as it is with the AWS95 version of 3.0.2. This is no longer the case (if it ever was). However, if you are a registered owner of RetroSpect 2.0, you can order an upgrade to RetroSpect A/UX. The cost is around $200 and to order (or more info) you can call 1-800-225-4880 (have your registration number handy). International customers should call 510-849-0293.

Please note that if you have the Pisces card installed (with the WGS95), then only RetroSpect A/UX will work and only under the A/UX environment. You will not be able to access your DAT under the real MacOS!

Finally, reports indicate that RetroSpect 3.0 fully supports A/UX all by itself. If true, this is Good News!

How can I configure CAP under A/UX?

For the answer, snag a copy of CAP.txt which is available on jagubox (in /pub/aux/Info for anon-ftp).

What are some good books about A/UX?

Except for Apple's complete manual set, there are no books specifically about A/UX. (Well, there's one but it's most probably out of print. It is most definitely out of date. It's called "The A/UX Handbook" by Jan Harrington and it's written for A/UX 2.0).

There are some very good books about Unix in general however. The best of the pack (IHMO) is "UNIX Administration Guide for System V" by Thomas and Farrow. Another good book is the "UNIX System Administration Handbook" by Nemeth, Snyder and Seebass. Since A/UX is a mix of SystemV and BSD both books are worthwhile ("UNIX Sys. Ad. Handbook" deals "mostly" with BSD systems). Another must-have is "UNIX Power Tools" from O'Reilly and Associates.

For general information about shells and programming there's no better book than "The UNIX Programming Environment" by Kernighan and Pike. For the 'ksh' shell, a very good book is "Learning the Korn Shell" by Bill Rosenblatt.

O'Reilly and Associates has a wide selection of Unix-based books. You're bound to find what you're looking for from them. You can contact them either via Email (nuts✉ora.com) or Phone (1-800-998-9938).

There is also a list (with over 160 entries) of Unix books (and mini-reviews) located on ftp.rahul.net in 'pub/mitch/YABL/yabl'.

When booting up, I get a "panic ialloc, dup alloc" (or other) error message and A/UX won't boot. What can I do?

This is due to the fact that some file system damage exists on the Root file system. By default, A/UX Startup will only run 'fsck' on the root file system if the system is marked as "dirty." So even if damage exists, as long as the disk was cleanly 'umount'ed, 'fsck' won't check it out and fix it.

Jim recommends always having A/UX Startup fully check out the disk before booting A/UX. It takes a while, but it's worth it. To do this, choose Booting from the Preferences menu. Now change the command under "AutoRecovery" to "fsck /dev/default" (it was "fsck -y -p /dev/default"). When you do this, you'll notice that the radio button changes from "Check root file system" to "Custom command"... that's OK. After that, A/UX will always run 'fsck' on Root. If you are doing this, you might as well have A/UX run a full 'fsck' on all file-systems too. Check out fsck(1m) and fstab(4) for how to do this... one way is to just edit /etc/bcheckrc and remove the options to the "/etc/fsck" command.

If you don't want to do this but you do have some damage that prevents A/UX from booting, then you can cancel the boot-up process by selecting either "Exit" or hitting "Cmd-." (⌘-.). Then type fsck /dev/default and then, when 'fsck' is done, type boot (or launch). Sometimes you must run 'fsck' several times to fully fix the file system if there was extensive damage.

Is traceroute available for A/UX?

Yes it is... A complete 'traceroute' package for A/UX 3.1(.1) can be found on jagubox. It includes the updated 'bnet' driver (required for 'traceroute' support) as well as 2 versions of traceroute, pre-compiled and with complete source.

What is KEEPALIVE and how can I use it?

KEEPALIVE is a method implemented in Berkeley sockets and TCP/IP (and in A/UX) that periodically polls a connected socket to determine if it's still "alive" or whether the client on the other end has dropped off. If the connected client doesn't respond, A/UX will consider the connection broken and send SIGPIPE to all connected processes. For this feature to be actually used, programs must set the SO_KEEPALIVE option on the socket.

One particular of A/UX is that although it supports KEEPALIVE, it doesn't send the first probe for 2 hours! It's been suggested that it would be much better to shorten this value to something more realistic to take better advantage of this capability. However, to do this, you'll need to use 'adb' and adjust the kernel.

You can either patch the kernel itself (which requires that the patch be reapplied everytime the kernel is rebuilt) or patch /etc/install.d/boot.d/bnet to keep the patches. To patch the kernel to adjust to time to first probe, you need to use 'adb' to adjust the 'tcp_keepidle' parameter. To get the right value, multiply the number of minutes you want A/UX to wait until the first probe by 120, then change that value to hex. For example, to make A/UX sent the first probe every 5 minutes (5 × 120 = 600 = 0x258) do:

    adb -w -k /unix  << Foo
    tcp_keepidle?D
    tcp_keepidle?W 258
    tcp_keepidle?D
    $q
    Foo

To patch the 'bnet' driver instead, do:

    adb -w /etc/boot.d/bnet << Foo
    tcp_keepidle?D
    tcp_keepidle?W 258
    tcp_keepidle?D
    $q
    Foo

Now run newconfig -v and reboot.

What does this 'panic' message mean...?

In general, most system panics are due to A/UX exhausting some kernel resource; to prevent these, you need to know which resource was used up and then use 'kconfig' to increase them:

console panic messagekernel parameter to increase
panic: kmem_allocMAXCORE
panic: getfreehdrMAXHEADER
timeout table overflowNCALL
file: table is fullNFILE (NINODE as well, to same value)
inode: table is fullNINODE (NFILE as well, to same value)
m_expand returning 0NMBUFS
panic: out of mbufsNMBUFS
proc: table is fullNPROC (NREGION as well, 3x NPROC)
Region table overflowNREGION (NPROC as well, NREGION/3)
sptreserve: no kernel virtual spaceNSPTMAP
allocbufSBUFSIZE (and NBUF as well)
cannot allocate buffer cacheNCLIST (and add RAM)
cannot allocate buffer headersNBUF (and add RAM)
getfreehdrNPBUF

You may also run up against the processes-per-user limit as well. This can be increased by bumping up the MAXUP. Of course, you'll also need to increase NPROC, NREGION, NFILE and NINODE (and maybe others) as well to account for the increased number of processes...

How often does A/UX sync the file system?

A/UX 3.0 performs a sync every minute. It's done by 'init' and the frequency can't be changed.

A/UX 3.0.[1|2] does one every 30 seconds; cached blocks older than 30 seconds are flushed, therefore a block can be resident for between 30 and 59 seconds. If you want, you can use 'adb' to change the value of 'syncdsleep' to the number of seconds to sleep between flushes. Blocks older than that will be flushed.

A/UX 3.1.x peforms a sync every second and flushes blocks that are older than 30 seconds (i.e. a block can be resident for 1 to 31 seconds). You can alter this by using 'adb' to change 'syndperiod' to the timeout age (how old the block can be before it's flushed) and 'syncdsample' to the wakeup period; by default, 'syncdperiod' is 30 and 'syncdsample' is 1.

From A/UX 3.0.1 onward, the kernel process 'syncd' can be seen via 'ps'.

What is 'catsearchd'?

Under A/UX, 'catsearchd' is a Unix process that maintains a cache of MacOS File System information. Having this cache available greatly increases the performance of catalog searches made from the MacOS and an AppleShare client.

For each file cached, 'catsearchd' requires 200 bytes of memory, so if your File Systems are large, 'catsearchd' can be a real memory hog. One way to avoid this is to use the 'nocats' option in 'fstab' for mounted file systems.

Unless you are running A/UX as an AppleShare server, there's no need to run 'catsearchd'; in fact, it's better not to run it due due to it's memory and performance hits. To disable 'catsearchd' you need to edit your /etc/inittab file. Look for the line that looks like this:

    csd:2:respawn:/etc/catsearchd # start catsearch daemon

And change it to look like this:

    csd:2:off:/etc/catsearchd # start catsearch daemon 

Then simply restart A/UX. 'catsearchd' will no longer be running and you'll have some free memory for other more important things.

Is there any way to make AppleDouble file formats the default, rather than AppleSingle?

Sure is... All you need to do is set the 'TBFILEFORMAT' environment variable to '1'. You can do this either in /etc/profile or /etc/cshrc to make it system-wide or have each user add it to their .profile or .login file.

For sh/ksh, the command is export TBFILEFORMAT=1 and for csh it's setenv TBFILEFORMAT 1. You can also edit /mac/bin/mac32 as well if you want.

Is there a way to update the 'whatis' database?

Sure is. Check out the 'man-utils.tar.gz' file on jagubox (in Sys_stuff).

Does A/UX support Virtual Interfaces?

It does now... Jim Jagielski (jim✉jaguNET.com) has created the 'vif' kernel module that provides for true Virtual Interface support under A/UX. This allows you to, for example, make use of the Virtual Host/Multihoming capability of Apache.

'vif' can be found on jagubox in /pub/aux/Sys_stuff. 'apache' can be found on ftp.apache.org.

Aaargh! I can't find a command I need!

A/UX puts commands in some directories not common with other Unix systems, and the default command path in the shell is a bit lacking. Add the following code to your /etc/profile and you should be able to use most commands without having to type the full path to it.

LOCALWARE=/usr/local/bin
LOCALWARESU=/usr/local/sbin
GNUWARE=/usr/local/gnu/bin
MOREGNUWARE=/usr/local/gnu
if [ ${LOGNAME} = root ] ; then
        PATH=${PATH}:${LOCALWARESU}
fi
for p in ${LOCALWARE} ${MOREGNUWARE} ${GNUWARE} /etc /usr/etc ; do
        if ! echo ${PATH} | /usr/local/gnu/grep -q ${p} ; then
                PATH=${PATH}:${p}
        fi
done
export PATH

Note that this does require that you have GNU grep installed first. The standard grep doesn't supply the necessary options. Alternatively, you could just hard-code the paths into PATH.

Mac-Emulation Questions

What Mac applications are compatible with A/UX?

It would be much easier to list the applications that aren't compatible. The list is much, much shorter...

The vast majority of applications that run under System 7 will run under A/UX 3.x.x. In fact, before System 7 was released, A/UX 2.0.x was actually a good litmus test whether the application was 32-bit clean and would run under System 7. The only applications that are sure to fail are those that try to access hardware directly, such as HD utilities or backup applications. A/UX 3.x.x provides both 24 and 32-bit modes, so if the application doesn't run under 32-bit mode, try it under 24-bit.

One key note: if the program uses a "complex" installation procedure (like for Canvas, Word, Stuffit, etc.) then you should not try to do a fresh install under A/UX. See the above Hints and Words Of Wisdom.

What screen-savers are compatible with A/UX?

AfterDark (2.0u and later) works well under A/UX but some displays may not have enough memory under Login so the "low-memory" display will be used.

Moire and FMbackup seem a bit incompatible. They both function fine together but the combination prevents FMbackup's "Finishing up..." window from displaying, although FMbackup does, in fact, finish up. Furthermore, Moire seems to screw-up Commando (both version 3.22 and 4.01 exhibit this problem) so all in all, Moire can't be recommended if you desire using Commando (the problem seems to be with all MacOS applications 'launch'ed from the CommandShell window). Using Moire for the Login screen works well however, since you can't access Commando or 'launch' applications from there.

Darkside is also available. Unlike other screen savers, Darkside is an application, not an INIT. This means it won't work under the Login screen. The latest version of Darkside is 4.0 and will not work on Pre-System7 systems, so don't attempt to use this under A/UX 2.0.1 or later.

Moire is a