
seen from Malaysia
seen from Singapore

seen from Indonesia

seen from Indonesia

seen from Italy
seen from United States
seen from United States

seen from Italy
seen from Singapore
seen from United States
seen from China

seen from Malaysia

seen from Malaysia

seen from Malaysia
seen from Hungary
seen from Australia
seen from Germany
seen from China
seen from United States
seen from China
Advanced Computer Technology Center, Apple headquarters, in Cupertino, California, 1987. Designed by STUDIOS.
Scan
USA 1993
Apple Twentieth Anniversary Macintosh (TAM) 1997
Oh look at that sleek lad Absolutely SLEEK Power Mac G4
Bringing an Old Machine Out of Retirement
I need a better PowerPC development toolchain. What I've been using is broken and incomplete. Were my main computer running … well basically anything other than Windows, getting a cross-compiler running would be pretty straightforward. But I'm not in a position right now to switch to something else.
Sure, I could easily spin up a VM and set up a cross-compiler that way. But — what if it didn't have to be a cross-compiler? If I'm developing for PowerPC, why not use a native PowerPC toolchain running on a PowerPC system? I have this collection of old machines just gathering dust; why not let them be useful again?
I want something that's going to perform well and not slow me down too much. I also want to be able to use modern tools, not fight with period-appropriate software.
So I think there's one clear way to go here: my old PowerMac G4 (Sawtooth, 450MHz) and NetBSD.
When it was first released, the PowerMac G4 was an incredibly powerful machine and it is still very capable. And NetBSD not only runs on everything, it has no problem maintaining current support for ancient architectures long since abandoned by everyone else.
But that doesn't necessarily mean getting it running will be easy. The install kernel on the most recent release ISO was crashing just after initializing video, so I had to drop back to 9.4. I didn't set up my hard drive partitions right the first time, so Open Firmware had no way reach the bootloader and I had to start over. The OS X install disk I used to format and initialize an HFS boot partition wouldn't let me open Terminal, so I couldn't copy the bootloader before install. The BSD disklabel setup process is confusing, to say the least, so my next install attempt failed with an out of disk space error. The install kernel's embedded root image doesn't include HFS partition support, so I couldn't copy the boot loader after installing NetBSD. The MacOS 9.2 install disk won't eject if it's the boot disk (unlike earlier MacOS versions), and I only have one optical drive so I had to install a minimal copy of MacOS 9 onto the HFS partition to boot from long enough to copy the NetBSD bootloader. And then it was a matter of finding the right Open Firmware incantation to boot the NetBSD system instead of MacOS.
I did get there in the end though. I've since been able to set up some essentials — like sudo, my preferred text editor, samba sharing, etc. — with relatively little fuss. So far, it seems to be running just fine; much better than one might expect for an operating system 24 years newer than the hardware!
I haven't quite decided what my development workflow will be like yet. I'm hoping I can put together a relatively smooth process. Something a little more automated than a manual git pull then make, but perhaps less than a full CI server like Jenkins (which is out anyway due to lack of PPC Java support).