Running Linux-PMac

A few tips and tricks

The hardware.

My home machine is an Apple PowerMacintosh 7600/132. Most of the time, it runs Linux/PPC (I have MacOS 7.5.5 installed as well ;-). It used to have a 132 MHz PowerPC 604 processor, but it is now upgraded with a Metabox LittleJoe card to a G3/300 with 512k of backside cache running at half the processor clock. See here for all the trouble I had with that card.

The 7600 has 112 MB of fully-interleaved memory, and 4 MB of VRAM on the internal (aka Control) video adapter.

Apple equipped it with a real piece of crap as a hard disk, a Quantum Fireball TM 1.2 Gig. I soon replaced it with an IBM DCAS-34330 4 Gig Ultra-Fast drive. In addition, I had mounted my older IBM DFHS-S1F 1 Gig drive in the second internal bay. Both were attached to the internal (aka MESH) fast-SCSI bus. The Quantum disk was first recycled as an external backup and emergency disk, containing both a bootable MacOS and Linux system, and later moved into the Performa 475.

In July '99, I bought a Promise Ultra/66 dual-channel IDE controller, until then only supported under Linux on Intel hardware. I set out to try and make it work under Linux/PPC as well, which was not too difficult. Attached to the Promise is a Maxtor 91024D4 10 Gig drive, which runs at least twice as fast as the IBM 4 Gig. Since the Promise has no MacOS driver and no OF support, the Maxtor drive is unavailable under MacOS or as a boot device.

Attached is a HP Laserjet 6MP printer, that works under MacOS via LocalTalk. Unfortunately, LocalTalk is not supported under Linux. Therefore, I built a serial-to-parallel converter, as described in the German computer magazine c't issue 7/97, page 292. It is very simple, works only with RS-422 serial ports, and only at 57600 baud, 8N2. But, it's all I needed to get the printer working- with some trouble, though.

To simplify connection of my modem, plus my printer via LocalTalk and the converter to the Mac's two serial ports, I also built an automatic 4-way serial switch, that connects to the ADB port, and can switch one port to 4 devices via software. It was also presented in c't, issue 2/96, page 276 ff. Getting it to switch under Linux was as easy as hacking a few lines in Jon Howell's mousemode (Thanks, Jon!).

Port 3 of the switch serves as an interface to my 3Com PalmPilot, using the pilot-tools under linux to install software on the Pilot, or take backups.

My next hardware project will probably be to attach a small LCD display to port 4 and drive it with the current statistics of Linux, i.e memory, processes, etc. Somebody wrote a daemon to drive the LCD. Should be easy to customize ;-)

Some day in the future I might also try to get sleep mode supported under Linux, so I can send my machine to sleep when I'm not at home. This probably involves changing the power supply fan, as it makes a terrible noise. Apple knew why they made its speed temperature-controlled, but still...

Update 980920: I have received the LCD display from Matrix Orbital (nice 25x4 character display, backlit with green LEDs). It is connected to the 4-way serial switch, but not on a switched serial port, but on the low-speed serial port of the ADB controller. That port can handle around 50 bytes/sec without blocking the ADB bus for too long. Now I'll have to modify LCDproc to be less chatty... Right now, it redraws the entire screen on each update.

While experimenting with the LCD display, I found that there may be an interaction between the two serial ports (printer and modem port). While LCDproc was running with the display on the printer port, my PPP connection on the modem port hung. Would be worth some debugging...

The software.

Initially (back in December 1996), I installed MkLinux DR2 with the PCI patches. However, the serial ports were not supported; so I quickly experimented with Linux-PMac which did support the serial ports. Finally, I switched over entirely to Linux-PMac, running kernel 2.1.24.

In general, that setup was very stable, and had almost all the hardware support that one needs: serial, MESH & normal SCSI, CONTROL video, AWACS sound, floppy, etc. The only minor annoyance was that by May 98, 2.1.24 had become rather outdated. Luckily, Paul Mackerras (father of Linux-PMac) released the 2.1.102 kernel for PowerMacs. That's the kernel I run today, and it runs very stable (excpet occasional crashes in the memory management code).

The setup.

To be continued...

Michel Lanners, 20000925