AmigaMINIX

Karl Jeacle

MINIX\footnote{MINIX is a registered trademark of Prentice- Hall} is an operating system for small computer systems. It is currently available for the IBM PC, Atari ST, Apple Macintosh and, of course, the Commodore Amiga. It is supplied by Prentice-Hall and costs approximately STG#125 ex VAT.

Inspired by Version 7 of the UNIX\footnote{UNIX is a registered trademark of AT&T} operating system, MINIX (mini-UNIX) was designed by Dr. Andrew Tanenbaum of the Vrije Universiteit in Amsterdam as a teaching aid for students taking his course in operating systems.

Since MINIX was written completely from scratch and contains no AT&T source code, it falls outside of AT&T licensing restrictions, and its source code has been made widely available. Thus any interested party can study and modify the source code to the operating system as they wish.

What you get

AmigaMINIX comes on 9 disks and has a 700 page manual. This includes 150 manual (or `man') pages and 400 pages of source code listings. The rest describes how to get MINIX up and running on each of the machines it's available on.

Four of the nine disks contain the operating system file systems, its binaries and the (K&R) C compiler, while another four contain the source code to all of these. The last disk is an Amiga boot disk which loads the MINIX kernel into memory (The first eight are all in MINIX's own disk format).

MINIX comes with most of the standard utilities you'd get with UNIX. These include the Bourne shell, ed, vi, emacs, and over 175 utilities such as nroff, grep, make, sed, sort, split, tar, and wc. These are all MINIX implementations of the standard utilities, but are functionally equivalent. While some popular programs such as csh, ksh and awk are not supplied, public domain versions are available. And if the K&R C compiler isn't to your liking, there are commercial versions of ANSI-C, Pascal, and Modula-2.

Up and running

The version supplied by Prentice-Hall is 1.5.10, although they just call it 1.5. They recommend a minimum of 1 floppy drive and 1 Mb of RAM. ``A hard disk is not required (or even supported)'' says the blurb. I can guarantee you however that running MINIX from floppies is not a good idea. The MINIX developers at the Vrije Universiteit have released several free updates to the code that P-H supply, the latest of which (1.5.10.2) includes both CBM SCSI hard disk and 68020/030 support (no IDE or 68040 support yet, unfortunately).

Out of the box, MINIX is pretty easy to get running. Just stick in the Amiga boot disk, and wait for the kernel to load into memory, then supply two MINIX disks and you're ready to go. When MINIX boots, it `takes over the machine' a la AMAX, so you can't access the Amiga OS at all. This is fair enough, considering your Amiga is now running under a completely different operating system...

At this stage a ``Welcome to MINIX'' message has appeared with a ``login:'' prompt. Now you're getting excited, you hurriedly shuffle through the manual to find out what the root password it. No joy. You keep searching... Eventually you find out that you can login as `ast' (Andrew S. Tanenbaum), with a password of `Wachtwoord'. That'll do you say, so you login as ast. Have a quick snoop around the file system, and then decide you want to set up an account for yourself, or mount a new disk or filesystem, or just about a million other things you need root access for.

Back to the manual to try and find the root password. Eventually you give up, it's just not there. Next stop Usenet. The Frequently Asked Questions list in the MINIX newsgroup is bound to have the answer to this one. Aha! FAQ No. 7: ``What is the root password?'' Answer: ``It's in the book, on pages 373 (login `ast') and 380 (login `root'). If you didn't buy the book, that's only the start of your problems''.

This was just too much. I had to go to Hodges Figis and find ``the book'' just to get the root password. Irritating to say the least. Eventually I found it. The password was `Geheim' -- dutch for `secret'. I was almost amused. The book was `Operating Systems: Design and Implementation', again published by P-H, ISBN 0-13-637406-9.

Anyway, after all this, once you get logged in as root, the first thing you'll want to do is set up your hard disk. To do this, you'll need the 1.5.10.2 update. This is simply a new kernel image, so you can copy it over the existing one on your Amiga boot disk. Now when you boot, you get a list of partitions on your hard disk, and you can choose which one (if any) you want to mount as a filesystem.

Initially, you just use floppies as usual, to get running. Then you have to do a little maths to work out how many blocks your hard disk partition takes. Careful not to overwrite other Amiga data! When you suss this, you execute some nasty raw `mknod' and `mkfs' commands to initialize the filesystem on the hard disk.

None of this is for the faint hearted, and I guess you really need to know a little bit about UNIX to know just what you're doing. Still, it's worth the struggle in the end, to get running off the hard disk. One other thing that you'd probably want to do is recompile the kernel (!) so that the root filesystem is no longer mounted as a RAM disk (/dev/ram). I haven't gotten around to this yet, so have just written a few scripts to dump anything in RAM back to disk before shutdown.

All of the above probably has you thinking you'll steer well clear of MINIX, but it's really not that bad. The best way to learn about using UNIX/MINIX is just to get thrown in at the deep end and start hacking, and this is certainly the case here.

Availability and further information

The two easiest ways you can get your hands on AmigaMINIX are as follows:

You may also be able to find someone willing to sell it second-hand -- especially if you are connected to Usenet or some such. I got my copy for IR#80 from the U.S.

Speaking of Usenet, as mentioned earlier, there is a reasonably active newsgroup for MINIX (comp.os.minix), where you can pick up some useful hints and tips. The "Frequently Asked Questions" list posted there is handy. Needless to say if you have FTP access, you can pick up all kinds of goodies for MINIX, you can even ftp software to set up your own Usenet connection -- uucp, bnews & vn have all been ported to MINIX.

The MINIX Centre, mentioned above, offers good service and support for MINIX users for STG#45 ex VAT per year. They offer a 50-page quarterly newsletter along with 100-200 page printouts of discussion from Usenet. You also get a 20% discount on any goods bought from them. They supply MINIX software on tape and all kinds of hardware (you can buy a complete turn-key MINIX system). Software available includes: MicroEMACs, RCS, various GNU utilities including gcc & g++, and also programs such as kermit, sc and TeX.

While all this seems pretty good, I didn't sign up, as I already have access to Usenet, and the software prices while reasonable are way above media & handling charges. The software they supply is supposed to be free (well, freely distributable; free if you can ftp)! They do however, package things nicely -- printed manuals and the like. Another point is that they are a little biased towards PC- MINIX. Having said all that though, I would still recommend writing to them, to check out for yourself what they have to offer.

Conclusion

I bought MINIX to learn a bit more about UNIX, having just finished college and started a job which I thought would have me sitting in front of a Macintosh writing reports. To my surprise, I ended up being appointed UNIX administrator!

Needless to say, after coming home from eight hours of UNIX, sitting down with MINIX was not too appealing an idea, and because of this, I haven't gotten into MINIX as much as I would have liked to.

However, if you don't have the above kind of exposure to UNIX and would like to learn a little bit more about how it all works (or perhaps just want to log in as `root' :-), then MINIX is well worth considering.