May 22nd, 2002

Linux on a Q950


In the fall of 2001 I retired this OS because of upgrade issues and installed OpenBSD instead.

At one time this box was the high end 68040 creature. It cost a good $10,000 US to buy, but last year (1999) a friend of mine picked one up for a few hundred for which I got in partial payment for a Performa 6400.

Linux newbies should bail right now, this isn't a trivial task. To get Linux to work on a Quadra 950 you must have patience, skill and patience, being on sabatical and having lots of free time helped alot too. Please review the Linux mac-68k mailing list for valuable information.

First you should visit the Linux/m68k for Macintosh Project, then get the kernel source, a 2.2.x, or 2.3.x? one since you need keyboard support, I used a 2.2.6 one, cross compiling the source on an intel box helped since none of the standard binaries support the Q950, some kernel changes might be required to enable Q950 support, look for IIfx notations. I had to ensure the right keyboard driver was being used, since the kernel table was wrong, also I had to edit out the real time clock call since this kernel call always hung on me.

You now need a copy of the Penguin booter, then of course a boot disk and a copy of the RedHat 5.2 beta CD for M68K. I think the boot Ram disk is on the CD, but if not email me. You should be able to boot the box and follow the instructions for an FTP installation. Once up you can visit the RedHat site and upgrade the box to 2.0.38 and apply all the required security and upgrade patches via source which you find around the web.

Currently I boot the 2.0.38 kernel versus the 2.2.X kernel since it seems more stable, but then you lose console keyboard support, also don't forget to review the mailing list for the magic init= parms to turn the secondary SCSI controller off.

Now get the source for Squeak for Unix and build a squeak binary and install, this is the easy part. As my posting to the Squeak mailing list shows a 42% performance improvement this endeavor is worth the pain:

(Notes from 2001)

859,845 & 40,106 for mac os-8.1 and squeak 2.8.x
1,219,512 & 58,368 for linux 2.0.38 and squeak 2.8.x
1,439,884 & 51,098 for OpenBSD & Squeak 3.0Pre2 Gunified (2.8 to 3.0 bytes are faster, sends slower)


Date: Sun, 14 Nov 1999 16:41:42 -0800
Subject: Re: Need Squeak for Mac 68030/68881, or Linux 2.036 M68K?
From: "John M McIntosh" <johnmci at smalltalkconsulting domain>
To: squeak@cs.uiuc.edu
Ok I took my linux box down and tried to compare MacOS versus Linux. And got the following for these three tests.

test 1: (float) Time millisecondsToRun:
[100000 timesRepeat: [10.0+5.0/18.88*9.77-5.77]]

test 2: 5 tinyBenchmarks

test 3: Alice example 7, time move rabbit forward, move rabbit back.

Mac OS Mac OS 68881 Linux 68K
float 19244 16981 17333
tinyBench 859,845 880,281 1,219,512
40,106 41,209 58,368
alice 12.48 seconds...

 

The Mac OS version is the flavor shipped from Squeak Central.
The Mac OS 68881 version is my 68881 compiled version, with 68881 3D
support. The Linux 68K version is a 2.6 kernel compiled on linux 2.0.38 with gcc 2.95.1 and -O3.

 

As you can see squeak under linux works faster, except for floating point
operations, (I'll look at what gcc did later since I thought I'd have better numbers).

As for alice the fact it took 12 seconds to move the rabbit forward and back make it really unworkable. No timing differences seemed to lurk in the 68881 versus non-68881 version. I'll need to review more were the seconds go)

 

Therefore if you've an old mac hosting squeak that you could host linux on, then you would be better off, since a 42% improvement performance lurks.

I'll look at posting the 68881 version of the macos squeak later this week.