Refurbing a PowerBook G4

So, I have this PowerBook G4 that’s been sitting on a shelf for a while. It’s not a terribly interesting model - just a regular 15” one, second-to-last generation, that’s basically stock except for a slightly upgraded hard drive (faster, but not any more spacious). I believe I originally got the machine maybe 12-13 years ago as a “it’s gonna get thrown out otherwise” deal from one of the various jobs I’ve had, just as an extra machine to do things with. (It’s old enough that Intel machines were out by this point, and this was even then skirting the edge of usefulness as a PowerPC Mac.) At some point, it got given to a friend to use for audio stuff, and then ended up back in my hands a year or two ago, where it’s sat since then. I think I tried to power it up once and it really wasn’t having it, so it got turned back off and shelved.

Always run OS X Installer with the computer half apart, for better horsepower.

I ran across the thing the other day while doing some reorganizing and decided, why not see if this thing works? So, I pulled a power adapter (fortunately I actually have a couple!) and gave it a shot. Lo and behold, it actually did power back up and at least tried to boot! This was pretty surprising. It didn’t boot successfully, but it at least got to a point where I could start it in verbose mode, so that was nice. A burned Tiger DVD later and.. yeah, the hard drive gave up the ghost. I happened to be watching one of the myriad YouTube channels about retro computing, and ended up watching a video about putting a mSATA SSD into a Titanium Powerbook G4. Fortunately, it also listed the specific parts necessary for this, so I headed to Amazon and made a quick purchase. (You do have to be a bit careful with the SSDs - chips to convert SATA to old-style parallel ATA are pretty easy to come by, as are enclosures that give you that plus an m.2 slot for an actual drive. But, the drive itself needs to support mSATA specifically - a sufficiently fancy NVMe one may not. So, it was nice to have specifically an enclosure and drive pair that worked, and worked in a PowerBook G4 specifically, even if it was a much older one.) Once all that arrived, I pulled the machine apart (which is simply a case of “take out all the screws, use a bit of prying, hope you remember where the screws went”) and swapped out the now-dead hard drive with the assembled mSATA enclosure. Reassembled and hey! now I have an actually working PowerBook G4 running Tiger.

As a side note: it’s pretty impressive how much faster even a really cheap, probably somewhat iffy SSD is over a spinning rust disk.

With Tiger installed, I put a couple of older games on there and a few useful things, like TenFourFox (a modern version of Firefox compiled to work on old versions of Mac OS X and with old PowerPC processors). The next step was getting Linux on it, because of course. I tried Adelie Linux, which still produces a PowerPC version (and also because the channel that did the TiBook upgrade has a video on putting that on a G3 iMac) but it seemed like too much work. (There’s no installer, so you’re basically bootstrapping it via chroot by hand. The “too much work” thing.. well, that’s a pretty dubious line.) So, it got Debian Linux 8, which does have a proper installer. It works pretty well! Obviously, with some caveats, given the age of the CPU in it and the limitations of the hardware in general, but Firefox seemed to work OK. Really, the biggest pain was resizing the existing Tiger install - mainly because that OS is old enough that it doesn’t understand resizing partitions, so I had to clone it to a flash drive (which it can’t boot from, because Open Firmware), repartition the drive, then clone it back, and oh did I mention that this machine just has USB 2.0? That took awhile. All in all, though, it did work, and now it will dual-boot into Debian and Tiger.

Remember when you could do this?

Now, because I am a terrible nerd, I also recalled that OS X used to ship with X11. Not installed by default, but it was on the DVD, so that got installed too. Now I can do stupid Unix tricks with the much, much, much faster Core i5-4570 Ubuntu system sitting headless on a shelf behind it. Unfortunately, the version of X that comes with Tiger is rather old, so it’s not particularly happy working with modern things (and modern things aren’t particularly forgiving of this, and therefore crash). There is, of course, more than one way to do this.. so a download of Xcode 2.5 was initiated, and, lo and behold, MacPorts actually still supports OSes all the way back to Tiger. With Xcode installed, I went ahead and installed MacPorts as well. Some hours later, I have now a working MacPorts setup on here.

Another aside: I also installed WebObjects. Ask your elders. I have a boxed copy of this on my shelf, so printed manuals that might not be too horribly out of date with the copy that’s installed on here. Maybe I’ll do something with it!

The MacPorts setup on older platforms like this basically works by replacing all the development tools with its own toolchain. So, while you need Xcode installed so it can at least bootstrap itself, it’ll install its own copy of gcc and all that so it can bring up whatever package you’re trying to install. (This is basically a BSD ports-style distribution, after all - it’s less a package manager like apt and more a build script manager. Everything is compiled, except where it’s not a compiled language or whatever.)

So, “sudo port install xorg-server” was run. And that’s where this story ends for now, because that was.. quite literally 12 hours ago. It’s not done yet. It’s still compiling libgcc. It stopped in the middle, even, because it required manual intervention (literally, running a command, but still) to disable a library so it could continue building things successfully. Perhaps it will be done in the morning, but I doubt it; there were a lot of packages that needed to be done up and just the bzip2 install alone took an hour or so.

Needless to say, the takeaway so far is: 1.5GHz G4s were really fast in 2005. They aren’t so much now. Bootstrapping a modern compiler toolchain on such a machine - even one with an SSD - takes a while, because there’s only one core, because that wasn’t a thing yet. (Not in consumer applications, anyway.) On the plus side, I know this machine definitely works fine, because the load average on it has sat at 1.3 since this process started.

I do have some more stuff to do with it - it’s only got 1GB RAM, so I’ve got another DIMM on the way - but really this will be around to play old games on and maybe fiddle with old developer tools and stuff. And stupid Unix tricks.

Final aside: because old games, I did have to get Mac OS 9 installed on it. Problem: this machine is too new to boot OS 9. (It being a PowerPC means it runs in Classic on this system.) So, I had to figure out how to install OS 9 via Classic without the restore CDs, which would have included a disk image Classic environment to work with. I did figure that out! So it actually, technically, runs 3 OSes - OS 9, OS X 10.4.11, and Debian Linux 8. (And maybe Leopard if I can find my DVD of it. I don’t know that I want to buy a spindle of dual-layer DVD-Rs.)

s still at this point.)

Compiling... forever. (This was taken now 12 hours ago. It's still at this point.)

Even More Dumb Things

So, I’m going to have to stop referring to the dumb PC as the “dumb PC”, as I’ve recently acquired two new (to me) systems that actually really do count as.. dumb PCs. The dumb PC I built - dumb PC Prime, essentially - is actually a modern, relatively up-to-date PC build that is reasonably fast and is, for all intents and purposes, a decent PC. (It even got a new 1TB or so SATA-3 SSD, since the spinny disk that was in it was slowly dying and I just hate mechanical storage, so it’s now got a terabyte and a half of all-solid-state storage.)

In contrast, the new dumb PCs are.. actually quite dumb, at least for spending money on in this day and age. One’s not even really a PC. These were both eBay finds, and were sold as non-working systems for repair or part out. I am, of course, a dork, and therefore have at least mostly fixed both.

Dumb PC 1 is an actual PC. It’s an HP Vectra VL400 desktop system, featuring a spry 866MHz Intel Pentium III (a Coppermine variant, with a 133MHz bus speed), 256MB RAM, 40GB hard disk, floppy, and a fancy 56X Max CD-ROM only drive. It refused to boot with a BIOS error stating that it had some issues with the fans and wouldn’t boot. A quick look at the various fans in the system indicated that someone at some point plugged the fan into the wrong header. Redid that and booted fine - or at least tried, into some sort of NT-based Windows install that was broken. I put Windows 2000 Pro SP4 on it initially - it had a COA for it! - and used that temporarily.

While Win2K was a nice blast from the past, it was kinda pointless - it’s hard to find any sort of web browser that’ll work with it and it’s sufficiently old that modern Windows won’t talk to it, and it’s also just weird enough that using it as a game machine is kind of out of the question with that OS. (Win2k is close enough to XP that stuff may be doable on there but it’s not really all that well supported, and that’s not even getting into the video card, which it doesn’t have. Yep, this thing has one of the first couple generations of integrated Intel video, which only nominally has 3D support! They’re really more fancy framebuffers.) I already have a Windows 98 system (the P133), so on this one I went Linux. Amazingly, there are still distributions that come in 32-bit flavors and will install on a P3! And they happen to be Debian Linux. So, it’s now running Debian Buster. (No, Ubuntu doesn’t provide a 32-bit build anymore.)

As an aside, I did initially try to do Slackware on there, just to really, really blast off into the wild blue past. Slackware was really my first real Linux distro back in the day, and it’s still around (sort of), so I tried that first. Unfortunately, the only writable CD media I had were old CD-RWs that are 650MB only, and the first install disk ISO is bigger than that, so Debian net install it was. (Slackware doesn’t do a net install - the last release for it was in 2016, so it’s only sort of still around anyway - and the machine is of that nice age to both have USB but not be able to boot from it.) Getting a GUI on it was a no go, as I have no idea how to set up.. Xorg or whatever the hell they use now, so it’s console-only. (I did put Firefox on there and tried to use it over an SSH tunnel to my MacBook Pro, which worked! Slowly. Very very slowly. Tens of minutes slowly, to load the initial internal pages and chrome. It really illustrates just how far software and hardware has come in 10 years, as that machine is roughly circa 2000, and even my 10-year-old MacBook can reasonably browse the web and such with ease, where as it.. can sort of load the browser. But not really.)

I capped it off by hooking the Apple IIc to it as a serial terminal (surprisingly easy!) and installing some text-based fun things, like nethack and the first three Zorks. I may open this (more) to friends as a sort of tilde.club clone. It’s a pretty fun type thing so far, though, and it’s pretty nice that I can still at least sort of run modern software on it.

Dumb PC 2 is.. more of a work in progress at this point, and isn’t a PC, technically. I’ve mentioned previously that I’ve had or used a bunch of non-mainstream computers, and.. yeah. It’s a Sun Blade 100 workstation.

A Sun Blade 100 is an entry-level workstation from back when Sun actually.. existed and contains a 500MHz UltraSPARC IIe processor. Mine’s got a 20GBish disk and 256MB RAM. It’s also got a dead IDPROM/NVRAM chip in it. These are relatively uncommon on standard PC hardware in execution - it basically fills the role of the CMOS or UEFI setup on a regular PC, and stores a bunch of system settings and stuff. Unlike a (newer) PC, though, this is done up with a single “chip” type thing that contains the RAM itself, a realtime clock, and the (non-rechargeable lithium) battery, and it is of course dead. Also unlike a PC, this also means the system doesn’t know what its ID is and (more importantly) the Ethernet MAC address on it is now wiped. So, this causes a whole lot of fun problems and makes you have to work with the OpenBoot firmware in the system to get it to do anything. Once you know what to do it’s more tedious than anything but it’s a lot of “hey let’s poke hex values into straight memory locations until it works!” kind of stuff. Also: remember how really, really old PCs and Apple IIs and Commodore 64s and stuff all booted up and you could write BASIC programs immediately? Sun systems do that too, except they use Forth, which really, really doesn’t work like most other C-style or BASIC languages. (Techncially, it’s Open Firmware, which also exists on all PowerPC-based Macs, amongst other things. On real Unix workstations, though, it’s a lot easier to get into and very much more likely you’ll have to interact with it. Though it used to be a bit of a fun party trick to drop into it on a then-modern PPC Mac, like a Power Mac G5 or iBook G4, to do stuff.)

Another side note: the way Sun did this whole system settings/real-time clock arrangement isn’t necessarily new, or even unknown in the PC realm. A number of PCs up through even the 386 age would use a similar chip provided by Dallas Semiconductor to provide these things, until at least the clock functionality started getting baked into the chipset. (And until there were things like chipsets that were more highly integrated. You must remember that, in the early days of PCs, the “chipset” was really more just the glue logic that held everything together and the specialized bus management chips and such, and going back further meant not even that much - you’d just get a board with a ton of discrete logic on it. It was no joke late into the 486 era that you’d even get a IDE interface or Super I/O - meaning floppy drives and serial and parallel ports - integrated into the motherboard. Nowadays, the chipset arbitrates the various busses in the system and provides bootstrapping and some legacy I/O and stuff - most everything is integrated directly into the CPU - but back in the day a motherboard and a CPU wasn’t even half the equation. But, that’s reminiscing for another time.) Sun (and presumably other workstation vendors) held on to this setup for far, far longer. The Blade 100 and 150 machines are circa 2001/2002 - PCs really stopped using these things in the late 80s/early 90s.

Anyway, I did some searching and found at least a few of the incantations necessary to get it to boot up off of the built-in storage, and lo and behold, it does indeed boot. The machine’s got Solaris 8 on it. That was nice to know. It’s also got a password, which is unsurprising. I obviously don’t know what this is - the seller got as far as “NVRAM invalid” and an ok? prompt and stopped - but at least I do know the hard drive works. I did venture into the world of burning ISOs on the command line with Linux and got an OpenBSD 6.6 ISO written to a disk, but it doesn’t appear that the drive in there much likes CD-RWs (or that I should have also read the documentation), so it wouldn’t boot off of that. Solaris, as a general rule, was very much not a free operating system, so getting a set of 8 ISOs is a no-go either (as far as I could find - no, WinWorldPC doesn’t have it, they have the Intel version). I may yet try to find a Solaris 10 ISO and try that, as I actually kinda do want to see what’s on the drive, but..

Booting a Sun machine, especially one with a dead IDPROM, is a pain in the ass. It’s even more of a pain in the ass if you don’t have a proper keyboard for it. This one at least has USB, so I can use a regular USB keyboard, which is a plus as it didn’t come with a Sun one and the Type 5 keyboards are wildly different interface-wise from a PC keyboard. But, as one of the things that happens with Unix workstations in general, the input devices are still somewhat special, and a Sun keyboard has a bunch of extra keys on it to do various things. (This extends, to an extent, to the mouse. Fun fact: Apple’s Lisa and Mac had a one button mouse. This you knew. PCs generally settled on two-button ones, though now there’s at least a third, usually the wheel, but you basically have to have two. This you also knew. Unix workstations pretty well always have 3. And you really need the third one. And it’s a bit annoying to have a somewhat crap 2-button-plus-mousewheel one on a system that really, really wants a 3-button mouse.) I can’t do a Stop-A, which drops you into the OpenBoot monitor, on a PC keyboard, and there are some other key combos that can’t be done and the modifier keys (Ctrl/Alt/Windows on your average PC keyboard) are different too, or at least differently named. And, as noted, the dead IDPROM means the Ethernet address doesn’t work, so networking isn’t really functional. (And it’s like 20 lines of code to reset it each. time. you. boot.)

So, I will probably migrate the SD-to-IDE setup from the P133 into the Sun (I have a second on order) so I don’t have to erase the original drive, and try harder to get OpenBSD or NetBSD working on there, and then just never turn it off. But, this is really a bit of a work in progress as the system really does need a new PROM and a Sun keyboard. Those seem to be pretty easy to find - the Type 6 and Type 7 USB keyboards/mice especially - but the official Sun replacement IDPROMs are prohibitively expensive. (I got this on a bit of a lark - since it didn’t work it was already cheap and I used the eBay “Make Offer” thing that was, surprisingly, accepted. The NVRAM chip thing is easily 2/3rds of the way to what I bought the entire machine for.) eBay seems to have questionably new-old-stock supplies of the actual chip itself (it’s just a STMicro Timekeeper chip) so I may try that first and then see how that goes. But, I am remembering all the fun things about working with real Unix hardware. It’s sort of like working on old cars - the HP is like having a nice older Accord or a Ford Explorer or a GM truck or something: the parts are pretty easy to find, or there are newer replacements or things can be adapted pretty easily. Working on this Sun is more like fixing a BMW or something - the concepts are all largely the same, some things can be replaced pretty easily with cross-compatible parts, but there’s a lot of just straight up “we did it this way because we were doing X in 1981 where PCs didn’t get to that until like 1999” and stuff. This thing is at least mostly PC stuff inside - PCI, an ATi Rage video chip, USB and FireWire 400, IDE - so it’s not the pain and suffering of wiring out your own weird-ass serial adapters or figuring out how to hook a modern LCD into a 13W3 connector or SBus. I am kind of excited to see how this thing compares to the HP, though, since they’re about the same age but very, very different architecturally, and even more different as far as clock speed and such goes (866MHz P3 vs. 500MHz UltraSPARC IIe). SPARC64 hadn’t yet lost the plot at this point - that’d come later, and it’s worth noting that this CPU is 64-bit where the P3 isn’t - but this, even though it was lower-end, was serious Unix hardware for serious people and very much did command a price premium over commodity PC gear (though it was very, very rapidly catching up here). I’d also like to try to hunt down the US-III based Blade 1500 because.. well, look at it. Also it’s Taco, and what does Grover need but a Taco?

So, those are the new fun toy things I’m playing with. The ultimate goal is to actually get Linux or something up on them and maybe on a limited basis open them up for use for people (as noted, like a lower-powered and even more exclusive tilde.club), but for now it’s just a bit of fun to play with some older machines. And there may be a third one. I haven’t pulled the trigger on that one yet,though.

Oh, and the real reason I did all this crap? I’m going to upgrade the modern PC again with a Core i5 or somesuch soonish and will be a power supply, case, and motherboard away from another modern PC. And the Vectra seemed to be mostly ATX form factor. And was cheap. (I’ve been on the hunt for a while for a Dell Dimension XPS H or D series - the ATX-style Pentium MMX or early Pentium II-based ones with the weird racing fins on the front - just for the case, but they’re a bit pricy.) Turns out the system isn’t really ATX. I could probably force it to work but the power supply is a small-form-factor type thing that’s hard to find replacements for. May still try it, though, and either way I was going to keep the P3 setup around anyway as some of this older stuff is downright hard to come by at any sort of reasonable cost no i’m not gonna pay $300 for your half-assed K6-2/450 clone. It is kinda fun to know I have computers that can serve web pages using modern software and languages much more aptly than they can render them.

Childhood memories

This video popped up in my subscriptions the other day and I’ve since watched it a few times and also tweeted about it, because it is very Relevant to my Interests. It is, in fact, how I spent a lot of my tween and teenage years. Yes, specifically installing Slackware from floppies, because even when I got a CD that had Linux (Slackware 3 if memory serves - Linux 1.2.3!), my computer didn’t have a drive for it until later. (And it was a glorious one at that - a NEC reader, connected via IDE that was also one of those fancy 4-disc changers that fit in a single 5.25” bay.) And yes, it was indeed a 40MHz 386, though the ones I tended to have were DX models. (DX models were more common in the US, and lest you forget I did grow up in the Los Angeles metro so computer parts and such weren’t too hard to come by.)

One thing that stuck out: the software included, in its own disk sets, even. I did a bit of idle Googling to see what became of some of these things, and… yeah. ObjectBuilder? The name now belongs to some Pokemon thing, it seems; I could find pretty much nothing about what Slackware shipped with. XView and InterViews (not related)? IV is still around, sort of, but no idea about XView. And that whole thing about actually paying for an X server? Man, so wild.

I also enjoyed the dire warnings about making sure, no, really, really sure, you were selecting the right options for your monitor. Anyone who complains about Linux being obtuse ought to go back and look at that -you really, honestly, could damage your monitor, which was a big vacuum tube type thing at the time, with the wrong options. You had (almost) full control over the timings of the electron beams that drew the image on your screen. If you got it wrong, it might catch fire! (You could exploit this if you wanted to. The X-Modelines HOWTO was my friend for a while. I did not explode my monitor, but I used to also be better at math.) It was another time.. not one I’d like to go back to but fond memories nonetheless.

Adventures in Old Computing

When I moved last, most of the old computing gear I had went by the wayside. Most of it wasn’t all that exciting - a lot of mid-2000s Dell Pentium 4 business desktops of questionable use and things of that nature. However, a handful of things survived; an old motherboard here, an LS-120 drive there, some old boxed software I thought had gotten binned. Also in the mix was this old system - a Dell Dimension XPS P133c.

Aenias, for reasons I can't explain.

As configured, a Pentium 133 (no MMX) over-clocked to 200MHz with 90something MB RAM, a 450MB hard drive, CD and floppy drives, and a S3-based Number9 video card. I got a wild hair one day to see if it still worked, and it amazingly fired right up and began booting.. Rhapsody DR2. (As an aside, weird computers and computer environments are kind of my thing. I’ve had Sun machines, and an IBM RISC System/6000, have personally owned an NEC Image RISCStation, and for a while ran ETH Oberon Native because why the hell not.)

As configured, a Pentium 133 (no MMX) over-clocked to 200MHz with 90something MB RAM, a 450MB hard drive, CD and floppy drives, and a S3-based Number9 video card. I got a wild hair one day to see if it still worked, and it amazingly fired right up and began booting.. Rhapsody DR2. (As an aside, weird computers and computer environments are kind of my thing. I’ve had Sun machines, and an IBM RISC System/6000, have personally owned an NEC Image RISCStation, and for a while ran ETH Oberon Native because why the hell not.)

Oh my, OpenStep!

Rhapsody DR2 is what became of NeXTStep/OpenStep after Apple bought out NeXT, and they did produce some Intel builds before locking it down to PowerPC for Mac OS X. Unfortunately, this particular install of the OS wasn’t really working - it never really got to the desktop in a usable manner and did a fair amount of crashing, so I set out to convert it to a more normal system. (It does have a Windows 95 sticker on it, after all.)

One thing that I learned pretty quickly: the RAM in there was all sorts of weird, which got swapped for 128MB of all EDO RAM I managed to find (it’s 72-pin!), and P133s don’t really like being clocked 33% higher than they’re supposed to be. Had I thought on that a bit more, I might have kept it running Rhapsody for a bit longer, but that’s not a very useful operating system so it wouldn’t have stuck around.

Anywho, I found some 3.5” disks that amazingly weren’t completely broken and a USB 3.5” disk drive and started rebuilding the system.

Some More Information For Y'all

Hi, I'm James. Some people call me 'murgee'.

I'm a web developer, general computer nerd, and music geek based in Memphis, TN.

This blog is powered by Hexo, Bootstrap, and coffee. Hosting by DigitalOcean (referral). Fonts by Google Fonts.

Background image: unsplash-logoTara Evans

Because I have to: unless otherwise noted, © 2019-2023 James Kachel.

The Socials

Social media links and stuff:

The Toot Machine

Coming soon! Until then, you can click here to see my timeline.