2018-08-19

Legend of the PowerMac G5

A few days ago I bought a PowerMac G5 for $13 because hey, why not. The seller listed it as not working, and they had removed the hard drive for privacy reasons. From experience, I could extrapolate that it probably worked just fine. This would mostly be the case (making this a pretty boring blog post).

I set up the computer on my desk, plugged into a display and whatnot. It booted up with no issue to the flashing question mark folder; it couldn't find a filesystem because the HDD was empty. However, it did not make the "BONG" noise when booting up — I would later discover that this meant some of the RAM was bad.

So I burned the Mac OS X 10.5.6 installer to a USB drive and– uh oh, guess what's not detected by the OPTION menu. After a fiasco with trying and failing to get the Mac to boot from the USB, I thought, "Fuck it." I ran out to Office Depot, bought some DVD+R DLs, and burned the 10.5.6 installer to one of those. I put it in the machine and, once again, failed to get it to work.

It was at this point I reached out to Reddit™. "Try booting it off another Mac via FireWire," one helpful soul suggested. The only other Mac I had with a PowerPC 970 processor was an iMac G5 — with no OS installed, might I add. While digging that out of storage, I found a "Not for Resale" 10.5.6 retail installation DVD, which I then used to reinstall Leopard on the iMac.

Once that was done (it took about an hour), I decided to put the retail DVD in the PowerMac, because I figured it was worth a try. Lo and behold, it booted off the DVD and I had Mac OS X installed in no time. Absolutely maddening. But at least Mac OS X was working now.

Afterwards, I dug some old RAM out of storage (2GB total) and pulled out the broken RAM (4GB total), leaving my Mac with 4GB of RAM. Hey, that's pretty good. Don't forget to join me next week for "Twist Hopefully Sticks to the Trend of Not Saying 'fuck' That Much."

2018-07-21

Folly of the iPhone. iFolly?

Today, I thought to myself, "Boy, what better time to restore my iPhone 5S to iOS 12 Beta 4 while simultaneously erasing the device than now. I am sure it will be a quick and seamless operation." I could not have been more wrong.

iTunes does not allow the user to erase the device as you restore it (EDIT: I think SHIFT/OPTION+"Restore" does just that), so I was forced to look for alternatives... just kidding, I won't touch iTunes with a ten-foot stick, so I already knew what program to use: idevicerestore. The aforementioned program is a command-line tool that acts like iTunes, but only for restoring/updating iOS firmware. It also allows the user to do some cool things, like downgrade devices, given proper circumstances (EDIT: No, I think only futurerestore/idevicererestore allows this). Unfortunately, idevicerestore is not readily available for Windows (my OS of choice), so I had to use my trusty macOS Sierra VM to use it. Little did I know that fuck-all would work.

Installing idevicerestore on macOS was a fairly painless process; I am no stranger to the command line. It even got pretty far in the restoring process - except, to my dismay, it didn't restore anything. It got stuck on "waiting for the device," despite the device being plugged in, recognized, and ripe for a restore. I thought to myself, "Fuck. Fucking fuck. Fucking fuck fuckity." That's when I turned to the trustier-than-macOS Linux. I didn't exactly want to install Debian on my primary desktop quite yet, so I used the 16 year old Dell desktop that sits at the other side of my room (this desktop was already running Debian). I once again installed idevicerestore, and started the restoring process -- but what's this? "Error 5"? Thanks for being so incredibly verbose, libzip.

It turns out libzip can't comprehend files larger than 2GB on i386 systems, which the IPSW file is and the Dell desktop is, respectively. "No big fucking deal," I thought to myself, cursing more than usual. "I'll just fucking recompile libzip with a fucking compiler flag that will fucking fix everything." It did not fix anything, as I was soon to find out. I append the flag, and recompile libzip. idevicerestore throws the same error. I append the flag again, this time by inserting it directly in CMakeLists.txt, and recompile libzip. Again, no dice. It was at this point that I exploded.

Afterwards, I decided to make a Blogger account for the sole purpose of writing this blog post. Wow, I feel like the average early 21st century Internet user! See you all next week, for another episode of "Twist Says Fuck."

Oh crap my iPhone is still in DFU mode.



P.S. For those interested, what finally worked was using idevicerestore on my Chromebook (running GalliumOS 3.0 beta).