Shortly after the last article in this
series went live, my email box suddenly disgorged quite a few
interesting letters, some of which I thought bore mentioning here.
Feedback
First off, in the last column I stated that "NuBus (x100 series)
PowerMacs can only run the 'MkLinux' Linux distribution." This was the
case for quite some time, but as Clae pointed out from right here in
sunny Australia, the LinuxPPC distribution added support for these
machines as of June 2001. This is a good demonstration of the
development of free Unix being advanced through it's Open Source
nature, and it's likely that support for these first-generation
PowerMacs will spread - at least through the Linux world.
Another topic to come up was one of the Mac world's hottest -
OS X, or rather the lack of coverage it's received here so far.
While my own discussion OS X has been conspicuous by its absence,
that was a deliberate move in light of the fact that OS X is
almost everyone's topic of choice at the moment, making for no shortage
of information out there. For the moment, I'm playing around with the
Unices less well known in consumer circles, but I do plan on getting
into OS X as soon I go out and get that dual G4 I've been drooling
over at the AppleCentre. I'm particularly interested to see how well it
interoperates with the free "home-brew" Unices that for so long have
been the mainstays of the enthusiast.
I also had a bit of discussion concerning the breadth or
"completeness" of the information this column contains - specifically
whether or not there's enough of it. Good question. The world of Unix,
and particularly Open Source Unix, is a dynamic, complicated place,
described and documented in countless releases which lie scattered all
over both the Internet and the printed computer press. As far as I
know, it would be impossible for one person to try to compile all of
that into a single, all encompassing piece of work - especially in
one's spare time.
Also, even if you were to filter out the politics and general events
in the Unix world, you have to remember that what we're looking at is
still a very large, very complicated, and somewhat cryptic operating
system dating back almost to the dawn of the mainframe. Any attempt to
cover every step of every process in the detail it deserves would
quickly blow this column out to an impossible length.
It's for these reasons that each of these pieces, rather than trying
to dissect Unix and lay all the guts out to view, simply provides
overviews, anecdotes and hopefully ideas. It's not intended to replace
one's own research or self-education. There are reams of books, guides,
files, and how-tos offering a wealth of information on almost every
aspect of Unix imaginable, and it would be an impossible situation if a
single person was to appoint himself the hopeless task of obsoleting
all that. It for this reason that the last piece gave a general idea of
the difficulties that can plague a prospective Mac Unix user rather
than listing each and every issue broken down to the last detail. It's
also the reason why this release, while telling of my latest adventure
in installing Linux, isn't designed as a guide on how to do so (though
you will find links to such material). Hopefully that is the sort of
thing you want to read, though you're always welcome to let me know
what you think.
Choosing the Hardware
Departing my inbox for the lure of some 68K Unix experience is what
led me to pull my Debian GNU/Linux CDs from the shelf. It was some
months ago when I originally bought the three CDs which comprise the
official Debian GNU/Linux 2.2 "potato" disk set. At the time, I had a
mind to use them on a 33 MHz 68040-class machine - specifically a
Colour Classic I
was upgrading with an LC 575 logic
board. However, those plans came to an end when that Colour Classic's
analogue board proved to running on its last legs. Rather than letting
the CDs continue to gather dust while the Colour Classic awaits repair,
I decided to try a different tack, which is how I came to find myself
clearing the cobwebs from Iridium.
Iridium is the name I give my SE/30. A fine-looking machine, the
SE/30 - with it's 16 MHz 68030 processor, integrated FPU, 128 MB RAM limit, and single expansion slot -
is well known to classic Mac enthusiasts as the most powerful and
useful of all the compact Macs,
those early all-in-one Macs with a built-in 9" monochrome screen.
Costing me the tidy sum of 80 Australian dollars just over a year ago,
the venerable machine came fitted with 8 MB RAM, a 250 MB hard
disk, and System 7.1.
Though the usefulness of a machine in the class of the SE/30 as a
highly interactive, general-purpose Unix system is questionable, it
does provide a useful frame of reference as a low-performance Unix box.
Also, it's compact size and good looks make it a favourite with vintage
Mac aficionados.
Anyway, the little box had found itself with little do after I
belatedly purchased a used Power Mac, leaving it wide open for
involvement in this little adventure.
Preparing for Linux
Having settled on the machine, it was time to prepare it for Linux.
The 8 MB RAM was fine, at least for this initial stage of
experimentation (Debian Linux for the 68K Macintosh requires a bare
minimum of 5 MB), though I'll likely add more later.
The hard disk capacity on the other hand was something I wanted to
increase immediately. A minimal, pared down installation of Linux for a
68K Mac can be squeezed into 64 MB, however, for your machine to
actually be useful, you're looking towards at least 200 MB with no
upward limit. Factor in room for the Mac OS and a swap partition, and
my SE/30's 250 MB begins to look anemic. The solution lay buried among
my piles of electronic junk in the form of two 1 GB Apple-branded
hard disks - one an IBM, one from Quantum.
I planned on using one of the two 1 GB drives, installing it
inside the SE/30 in place of the original 250 MB unit. Once installed,
I'd split it into three main partitions - one for the Mac OS and two
for Linux.
If you've ever used Unix on either a PC or a dedicated workstation
(say, a Silicon Graphics O2) you'll be familiar with the system booting
directly into Unix when powered on. Unfortunately, old 68K Mac can't do
this. Instead, you must first boot into the Mac OS and then use a
loader program to start up Unix. This means that any 68K Mac running
Linux must also contain a Mac OS partition. If you're planning on using
Mac OS only as a means of booting your Unix OS, this partition can be
very small indeed - less than 10 MB. I want to continue using Iridium
to run all those classic Mac apps I have laying around, so I chose to
make my Mac partition 250 MB, the same size as the original hard disk
whose contents I later planned on copying to it.
On my chosen 1 GB IBM hard disk, 750 MB remained for Linux. Now
when you come to allocating disk space to Linux, remember that you
really need at least two partitions - the root and the swap
partitions.
The swap partition is the smaller of the two and is used for Linux's
virtual memory scheme. Linux's virtual memory, as that of the Mac OS,
allows you to set aside a portion of your hard drive for use as
simulated (albeit slow) RAM. In most OSes, such as the Mac OS and
Windows, the contents of this virtual memory lives in a file on your
main hard disk partition known as a "swap" or "page" file.
Linux can do this, too - at least on most architectures - but it is
far more common (and advisable) to use a dedicated swap partition - an
entire hard disk partition dedicated for use as virtual memory. How
large you make your swap partition is up to you - a common
recommendation is that it should be around twice the size of your
machine's actual RAM level, and, according to most Debian Linux guides,
no less than either 20 or 25 MB. For my own machine, I chose to make
the swap partition 25 MB in size.
This left 725 MB free for the "root" partition - that is, the
partition that will actually hold Linux and all its files.
So, now that I had a volunteer Mac, a likely hard disk, and an idea
of how I was to carve it up, all there was to do was open 'er up, put
the drive in, and get to work.
Right?
More Preparation
Installation of anything inside a compact Mac can seems daunting at
first, but becomes a quick operation with time, and the upgrade of
Iridium's hard disk went smoothly. To partition the disk, I eschewed
Apple's HD SC Setup in favour of Surf City Software's
Lido, which I consider more powerful and smoother in operation, as
well as better equipped to deal with errors on the disk. A small
portion of the disk will be taken up by two preexisting partitions
named Apple_Driver and Apple_partition_map. These contain,
respectively, the disk's driver and partition map and should be left
alone.
Having split the hard disk to my taste, the next bit of housekeeping
was to copy the contents of Iridium's original drive to the Mac OS
partition of its larger replacement.
Should you find yourself having to do this, you have a number of
options. The first and best is to hook up both hard disks directly to
the Mac, either through the external SCSI port or a spare internal
interface if one is present. Otherwise, you can place the old hard disk
in another Mac and network the two together via the Mac OS's built-in
file sharing to copy the contents across. If you take this latter
approach, your best bet is to go with ethernet networking - AppleTalk
or direct serial port connections are interminably slow and will
require much patience and coffee for all but the smallest drives.
Wanting to get on with things as quickly as possible, especially as
I was going on holidays and would lose a week of writing time, I
decided to hook both drives up to Iridium. The 1 GB IBM drive was
already snugly installed in the Mac's belly, leaving me to find a way
to hook the old 250 MB unit to the external SCSI port. The proper way
to do that would be to put the hard drive into one of those 3.5"
external SCSI boxes and connect that to the Mac. However, I didn't have
one of those boxes, nor the Aus$60 which seems to be the typical asking
price.
What I did have was an old Apple CD300 external SCSI CD-ROM drive -
actually a tray-loading Apple CD300 Plus in the case of the older
caddy-loading drive, this 2x unit is what I was to use to actually
install Linux on the SE/30. However, for the moment it would make a
perfect temporary home for Iridium's old hard disk, so I popped it
open, scooped out the CD drive, and put the hard disk in its place. Of
course, the 3.5" hard drive was a bad fit for the 5.25" case, so there
was no point in closing it up - I left the hard disk open to the world,
which helped lend just the right air of geeky ambiance to Iridium's
environment. Copying went smoothly, with the 80 MB or so of files
making the journey between hard disks in around ten minutes.
With the storage solution sorted, there were only a few loose ends
to tie up. The first was to install Mode 32
(search the page for "mode32").
The SE/30, along with a few of it's brethren (basically the first
generation of 68020 and '030) Macs, has what are called "dirty" ROMs.
This means that the machine's ROMs contain some old 24-bit code that
can prevent various things from working properly in 32-bit mode. The
best known symptoms of this problem is that the machine is unable to
address any more than 8 MB of RAM and some software will refuse to
run.
Mode 32 is a free bit of software from Connectix, which resolves
this issue by patching the old 24-bit code with a proper 32-bit
equivalent.
If you spend any time with Unix on minority platforms such as ye
olde 68K Macintosh, you'll come to realise that they are often no easy
answers and a good example of this concerns the use of Mode 32. Some
documents claim that Mode 32 is a must for any 32-bit dirty systems to
run Linux, while others state that it's not always necessary, but it's
presence or absence can mean the difference between booting
successfully and failure.
If you plan on using more than 8 MB RAM in your "dirty" Mac, you'll
definitely need it. Penguin - the loader program used to start Linux
from the Mac OS - recommends you use Mode 32 on "dirty" Macs, but it
will continue without it (I've read reports, however, that older
versions of Penguin will refuse to run on "dirty" Macs if Mode 32 is
not present.)
As you've probably guessed, the key here is experimentation. I
installed Mode 32 on Iridium, and things have gone just fine so far. A
smaller confusion concerning Mode 32 is what version to use. The only
major versions I'm aware of are versions 1.2 and 7.5. At least one
document concerning Debian Linux states that you need a particular
version for things to work properly, but fails to tell you which one. I
used version 1.2 with no problems, but once again, you might want to
experiment. Please bear in mind, though, that if you're using System
7.5 or greater, you must use version 7.5 or risk file corruption in
your Mac OS partition.
With Mode 32 out of the way, all I had to do was reunite my 2x
CD-ROM with its external case. While I was at it, I contemplated
putting my PowerMac's 12X unit in the case instead, but decided against
it.
It was a decision I would come to regret.
Continued in Installing Linux on Your Low-End
Mac.