AmigaMINIX

Karl Jeacle
October 1992
CUGI Newsletter

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:

* Either direct from Prentice-Hall or by getting any major bookshop
to order it from them. You should ask for `MINIX 1.5 For The Amiga
- ISBN 0-13-585043-6 - by Andrew S. Tanenbaum'

* From `The MINIX Centre', Forncett End, Nr. Norwich, Norfolk,
England, NR16 1HT. Tel/Fax: +44-953-789345

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.