the care and breaking of computers

Here's how I spent my day.

For the benefit of anyone who manages to turn an ancient Mac into a doorstop by trying to use XPostFacto to install a more recent OS on it, here's how I screwed up, and how I got out of it without having to wipe the disk and re-install:

<LJ-CUT text=" --More--(14%) ">

I've got this old G3 Powerbook running 10.3, and I wanted to upgrade it to 10.4. Apple says thou shalt not do that, but I've had luck doing so on even older machines with XPostFacto, so I figured what the hell.

The way it works is, you run this program and it does some magic to make your old machine claim that it is a newer machine, so that the Apple install DVDs don't refuse to run. After that, the normal OSX install will mostly work fine.

The mistake I made was that the install DVD I had was one that came with a G4 Powerbook, and apparently those gray DVDs that come with the computer are hardware specific, and refuse to install on anything else, even after XPostFacto fakes them out. It seems that if you want to use XPostFacto, you need to have the non-bundled OSX discs.

But then when I rebooted, the Powerbook got a kernel panic saying "wrong hardware". Oops, it was apparently still in "impersonate a G4" mode, and now because of that it wouldn't even boot off its own drive...

I had no idea where XPostFacto had installed its magic (and, in fact, I still don't.) Resetting NVRAM didn't help, and mounting the drive on another machine and deleting the one XPF* bundle under /System/Library/Extensions/ didn't help either (and yeah, I recreated Extensions.kextcache and Extensions.mkext too.)

What did eventually work was:

  • Boot with Cmd-S (single user, to get a tty shell)
  • mount -uw /
  • sh /etc/rc multiuser -x
    most things seem to start up, including networking and sshd, but never appears; presumably some other part of the startup process is freaking about "wrong hardware"...
  • log in via ssh
  • killall SystemStart
    (since it is hung)
  • cd /System/Library/CoreServices
    and start a bunch of likely-sounding stuff manually:
  • open System\
  • open
  • open
  • open
  • open
  • open
    Bingo! Now you can log in normally.
  • Run again, select "Uninstall" from the menu, and reboot.

I strongly suspect that there was just some set of files I could have deleted by hand to fix this, but I couldn't find them.

It's lucky (and somewhat surprising) that the kernel didn't throw a "wrong hardware" panic when running in single-user mode, nor when bringing up multi-user mode from single-user. But that was what got me out of it...

Tags: , ,

5 Responses:

  1. dtk says:

    can I borrow that disk to fix my lampshade

  2. violentbloom says:

    yeah I that happen, it sucked. Fortunately I had the correct disk as well and just booted from the cd and reinstalled.

  3. nonbinary says:

    If you want to use the bundle installer disks on a different machine just boot the machine you want to install onto into target (firewire) mode and cable it up to the mac that came with the disks. That way when you boot the installer disks the install software will sense the right hardware. As of yet it doesn't seems to care whether the target install drive is internal or external.

    I'm curious too if this would work around the non-supported hardware issue if xpostfacto only monkeyshines the OS installer and not the final installed OS.

    • I believe that tiger requires 256M of RAM and Firewire, so if he's installing on a machine w/o firewire that method won't help.

      I was able to get around a hardware restriction on my wallstreet g3 powerbook by dropping the ram to 64MB. Some how the script that runs had a error where if you don't have enough ram for the install, you can tell it to install anyway and it will skip the other part of the hardware check that says that your machine is too old.

      That was probably when I installed 10.3 though, I dunno if it works for tiger though.