Linux for 601-based PPC Macs?
jTepp... asks: "The company I work for is upgrading the majority of our systems, and migrating to Linux for most of the machines. I have a lab full of early PPC Macs that I now have been told to Migrate to Linux if possible, or scrap the entire room and start over. Since this would come directly out of my IT budget, and I need to use it for other projects, I'd rather keep the machines. The catch is that most of these units are powered by 601 chips, for which I'm having a difficult time finding a flavor of Linux that will support. I see support for older chips, and newer chips, but not the 601. Anyone know why? Or where I can find support?"
mklinux will work on almost all nubus macs.
From the nubus-pmac site, the following machines are supported:
- Apple Power Macintosh 6100, 7100, 8100 and compatibles
- Apple PowerBook 1400, 2300, 5300
- Apple Performa 5200, 6200, 6300
The nice thing about this is they have kernel's with installers for Debian (woo!), YDL, and LinuxPPC. (and MkLinux...but you probably don't want that...)Good luck!
I used to admin a college lab of these macs -- about 80 6100/6x, some 7100s, and some much, much better 7600's and 7300's.
/, *, and - on the number keypad
When MkLinux was first announce on the net, I snagged an abandoned 7100/66 and a spare 2 gig IBM hard disk
(Thanks, Carl!) and installed MkLinux as fast as the school's T1 could get it in the building. I had this idea
I could use the 7100 running netatalk to liberate my side of the lab (the mac side) from our NT file server
(which wasn't a such a bad server, but SFM had some killer bugs that the service packs hadn't fixed, and I
wasn't in charge of applying fixes to the NT box). But when it became obvious I was going to have to spend
every waking minute of my life tweaking this new toy to make sure it didn't crash during finals week or get
hacked by one of the students (I was pretty new to UNIX at the time), I shut the 7100 down and tabled the
project. In retrospect, I kind of wish I'd spend more time on it. But knowing what I know now (i.e. knowing
now how much I didn't know back then), I'm glad I didn't do something stupid, like make every mac in the lab
rely on the MkLinux box for some network service.
So I know a little about what you're about to go through.
First, you need a Linux distro that supports Nu-Bus, because those macs are not PCI based. MkLinux will work.
NetBSD, amazingly, will not run on these macs. That should set off red flags in your head. You're venturing
into unsupported hardware territory. Expect that some hardware won't work AT ALL. In preparation, read
through the Linux docs for whatever distro you find that supports NuBus macs and write down all the hardware
that is reported as unsupported, alpha, buggy, or problematic. If a component is unneeded (like serial ports,
sound in general, or audio input)
then just don't use it, and maybe look for a way to remove or disable that device in the kernel. You really
only need support for video in X, the mouse in X, the keyboard (especially mapping keys), and ethernet.
Forget about sound, and I wouldn't be surprised if the floppy drives only work for booting, but not once
linux is up and running. Maybe you can pass that off as a security "feature".
Second, you need to account for the fact that these macs are not fast. 6100's are barely quick enough to call
"slow". The less software you install on these, the better. If it were me, I'd set them up as thin clients
with X, a browser, telnet/ssh, maybe java, maybe a few helpers for the browser, and that's about it. Run
everything else over X hosted off a better machine. If you have a few faster macs with a 604 or better yet
a G3 or G4 (not a 603) consider reserving it as an X host for users to log into with XDM. Ideally, you'll
want two or three machines for failover or a hot spare. If you have a
more modern mac as an X host, you can run RedHat, NetBSD, SuSE, or even MacOS X (I suppose) on it, and the X
clients can run software from it over the network. Just give the X host plenty of RAM, fast ethernet, and
SCSI disks, and it should be fine. Also, the less software you install on the 6100 as a client, the fewer
bugs you'll have to deal with where software XYZ doesn't run properly on the 601 due to some bug in the PPC
targeting code of gcc.
Third, you have to prepare for the unique "features" of the Macintosh platform that are going to get in your
way. You'll need a boot-loader that runs from the MacOS because these macs lack OpenFirmware. PCI macs at
least can boot other operating systems by finding a boot-loader on any HFS, IS0-9660, or FAT partition. Your
macs will each need a bootable HFS (MacOS) partition with just enough MacOS to run the linux boot loader
(usually an extension), with maybe some ResEdit hacks to keep users from bypassing linux on bootup. Once your
users get into MacOS, all security is gone and they can do whatever they like, including erase or hack the linux
partition (using ext2 utilities). I would use a tool like RevRDist for the Mac side, so you can master the HFS partition from any
AppleShare server (or netatalk). Then use rdist or rsync on the linux side in the start up scripts to master the linux
file system from a server. Use the Apple "Network Access Disk" to jumpstart the whole process from a bootable
floppy. If some genius hacks the bootup sequence and reinstalls MacOS (which they will, because MacOS unlike
Linux will let them do whatever they want without ever a "permission denied") you can remaster the whole mac
just by rebooting from a read-only floppy and running RevRDist from the server share. You should also
should figure out what you're going to do about mouse buttons. You probably only have 1 button mice. The X
Window system likes 3 buttons. The standard workaround is option+1/2/3 to fake that mouse button with the
keyboard. It will take less than 60 seconds of that to either fuck up your hands or just plain drive you
crazy. Use xmodmap to remap buttons 1, 2, and 3 to some single keys, like
or something. Or look at the price of 3 button ADB mice and multiply that by the number of macs you have...
Basically, don't make it up as you go along and expect to get lucky. It's not going to happen. With a
little thought and preparation, you should be able to automate everything and have maintenance-free LAN of
semi-decent thin clients/X terminals that just happen to show a "happy mac" when they (rarely) boot up. And
when you see how fast Linux runs on a 6100 compared to MacOS, you'll probably be smiling too.
Democracy. Whiskey. Sexy. Pick any two.
from your link:
PowerPC 601-based machines
The PowerMac 7200 series machines and original 7500 machines are powered by a PowerPC 601 microprocessor. The rest of the chipset is essentially the same as the other early PCI PowerMacs. Right now, there is no PPC601 support in the kernel. Once someone adds this, these models should "just work".
"I assumed blithely that there were no elves out there in the darkness"