This is the description of my attempts to install Tiger on my trusty PowerMac 7600. That's right, this computer is over 9 years old now, runs a Motorola 604e processor at a boring 132 MHz, has 96 MB of RAM only, ... did I mention the box isn't supported by Mac OS X at all?
But since it doesn't want to die, runs 10.2.8 so well and makes a reasonable backup box, I decided to give Mac OS X 10.4 "Tiger" a kick.
The name of my 7600 is "wright".
While I succeeded with the main goal, to run Mac OS X 10.4 on my old PowerMac 7600, this page is incomplete as it is a work in progress.
This page is published in the intent to be helpful, but without any sort of guarantee. Use it at your own risk.
The stuff described here can easily destroy all the data on any of the Macs you use. Especially, if you don't know what you are doing and/or adapt the procedure to your local setup wrongly.
This page contains a lot of knowledge collected over the years in the Internet. Usually, they exist as a text snippet in my mailbox, so hopefully nobody asks where I have some specific information exactly from.
Special thanks to Ryan Rempel, Peter Caday, Mike Bombich, Kevin van Vechten, Shantonu Sen and others.
Well, Apple has decided to drop support for 603/604 based PowerMacs as early as with Mac OS X 10.0, already. There's no public Mac OS X which runs out of the box, there.
Some Mac fans found workarounds to get it work regardless. Thanks to Darwin, the core of Mac OS X being open source. Thanks to Ryan Rempel, Peter Caday and others. Most of the knowledge is collected in a package named "XPostFacto", maintained by Ryan Rempel. Such a patched Mac OS X runs surprisingly well on unsupported hardware: it's completely usable.
The real reason is, at the time of this writing, on 603/604 equipped machines, there's neither a known working 10.4 kernel, nor does XPostFacto support Mac OS X versions later than 10.2.8. This could change in the future, but for now, additional workarounds are needed.
The procedure described here is likely to work on similar Macs as well. Depends on _how_ similar they are. Good luck.
You probably want to do this even when the entire system of your helper Mac would fit onto the 7600's Tiger partition. Copying a running system is a bit tricky ...
sudo mv /etc/hostconfig /tmp/ sudo awk '/SPOTLIGHT/ { sub("-YES-", "-NO-"); print; next }; { print }' \ </tmp/hostconfig >/etc/hostconfig
sudo rm -r /Volumes/TigerTemp/.Spotlight-V100 sudo rm -r /Volumes/TigerTemp/.hotfiles.btree sudo rm -r /Volumes/TigerTemp/.TemporaryItems sudo rm -r /Volumes/TigerTemp/.Trashes sudo rm -r /Volumes/TigerTemp/private/tmp/* sudo rm -r /Volumes/TigerTemp/private/var/tmp/* sudo rm -r /Volumes/TigerTemp/private/var/vm/* sudo rm -r /Volumes/TigerTemp/private/var/db/BootCache.playlist sudo rm -r /Volumes/TigerTemp/private/var/db/volinfo.database sudo rm -r /Volumes/TigerTemp/Library/Logs/* sudo rm -r /Volumes/TigerTemp/Library/Caches/* sudo rm -r /Volumes/TigerTemp/Users/*/Library/Caches/*
Did you really set a partition on the 7600 aside? If so, you can continue.
sudo asr -source MyInstallDiskImage.dmg -target /Volumes/TigerWannabe -erase
Now you have a Tiger installation on your 7600, but you are not done, yet. Hop over variant 2, then read on ...
Since you might run out of disk space with variant 1, I'll show you another option.
Note: There are even more options, like netbooting the 7600. "Restoring" the partition using asr and a remote disk image doesn't work in 10.2.8, however.
ssh wright sudo ls # unlock sudo on the remote side sudo gnutar -C /Volumes/TigerTemp -cf- . | \ ssh wright sudo gnutar -C /Volumes/TigerWannabe -xvf-
sudo /System/Library/CoreServices/FixupResourceForks /Volumes/TigerWannabe
Whatever variant you've choosen to copy the installation over, if we'd have Apple-supported hardware, we'd already be able to boot off this partition. But we haven't and there's more to do.
To make the story short, you can download a 604-enabled kernel for 10.4, a kernel for 10.4.2, or a kernel for 10.4.3 here. On how to create such a kernel, see below.
About everything we need to support the 7600's hardware, except the 604 processor, can be found in the current version of XPostFacto.
"Opening" the disk image on Mac OS X 10.2.8 fools you by not opening the image but storing the contents in the current file system, instead. After doing so, the image destroys it's self, so be sure to have another copy around if you want to keep it. This doesn't apply on Mac OS X 10.4.x
Wait! GUI stuff doesn't work yet. You'll see a lot of texts showing you the booting process' details, but you'll wait forever to get a login prompt (I've waited once 3 hours to check).
The somewhat odd, but very simple solution is to hard reboot the Mac. Wait some 10 minutes after the boot chime, then press command-control-power. The Mac will boot again, repair it's disks as needed and give you finally a login window (or more).
I have no idea why it works that way, but you've to do it only once, all successive Tiger boots will be succesful at the first attempt.
So, again:
The easiest way to build a kernel is to set up darwinbuild. Once installed, do:
sudo -s mkdir Build; cd Build darwinbuild -init 8C46od1 darwinbuild -fetch xnu (some output)
cd Sources tar -xzf xnu-792.2.4.tar.gz patch . </path/to/the/downloaded/xnu-792.2.4.patch cd ..
darwinbuild xnu (again, lots of output)
BuildRoot/private/var/tmp/xnu/xnu-792.2.4.obj/RELEASE_PPC/mach_kernel BuildRoot/private/var/tmp/xnu/xnu-792.2.4.obj/RELEASE_I386/mach_kernel
The kernels provided above are ppc-only kernels.
hdiutil create -size 650m -fs HFS+ -layout "UNIVERSAL CD" \ -volname "Tiger on OldWorld Install" -o tigerow hdiutil mount -owners on tigerow.dmg
sudo rsync -avHE /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System \ /Volumes/Tiger\ on\ OldWorld\ Install/
sudo rsync -avHE /System/Library/Extensions/ \ /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/Extensions/
To make this step easier for you, I've done this and prepared a package you can download. Install this package:
sudo tar -C /Volumes/Tiger\ on\ OldWorld\ Install/ \ -xvzf /path/to/downloaded/xpostfacto4-essentials.tar.gz
cp mach_kernel-917-604.gz mach_kernel.gz gzip -d mach_kernel.gz sudo mv mach_kernel /Volumes/Tiger\ on\ OldWorld\ Install/ sudo chown root:wheel /Volumes/Tiger\ on\ OldWorld\ Install/mach_kernel sudo chmod 644 /Volumes/Tiger\ on\ OldWorld\ Install/mach_kernel
sudo mkdir /Volumes/Tiger\ on\ OldWorld\ Install/tmp export TMPDIR=/Volumes/Tiger\ on\ OldWorld\ Install/tmp sudo kextcache -l -K /Volumes/Tiger\ on\ OldWorld\ Install/mach_kernel \ -m /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/Extensions.mkext \ /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/Extensions unset TMPDIR sudo rm -r /Volumes/Tiger\ on\ OldWorld\ Install/tmp
sudo rm -r /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/Extensions/*
sudo rsync -avHE \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions/AppleNDRV \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions/IOATAFamily.kext \ /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/Extensions/
sudo rsync -avHE \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/Applications \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/Install\ Mac\ OS\ X \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/Library \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/bin \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/sbin \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/private \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/usr \ /Volumes/Tiger\ on\ OldWorld\ Install/
sudo mkdir /Volumes/Tiger\ on\ OldWorld\ Install/dev sudo mkdir /Volumes/Tiger\ on\ OldWorld\ Install/Volumes sudo mkdir /Volumes/Tiger\ on\ OldWorld\ Install/Network
sudo ln -s private/tmp /Volumes/Tiger\ on\ OldWorld\ Install/tmp sudo ln -s private/var /Volumes/Tiger\ on\ OldWorld\ Install/var sudo ln -s private/etc /Volumes/Tiger\ on\ OldWorld\ Install/etc
sudo cp -p /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/CoreServices/BootX \ /Volumes/Tiger\ on\ OldWorld\ Install/usr/standalone/ppc/bootx.bootinfo sudo cp -p /Volumes/Tiger\ on\ OldWorld\ Install/BootX.image \ /Volumes/Tiger\ on\ OldWorld\ Install/usr/standalone/ppc/bootx.xcoff
sudo bless --folder /Volumes/Tiger\ on\ OldWorld\ Install/System/Library/CoreServices \ --bootinfo /Volumes/Tiger\ on\ OldWorld\ Install/usr/standalone/ppc/bootx.bootinfo \ --label "Tiger OW"
Now you can unmount you freshly created Boot-CD image and actually burn it onto a shiny silver disk.
hdiutil eject /Volumes/Tiger\ on\ OldWorld\ Install hdiutil burn tigerow.dmg
Put the disk into your PowerMac and reboot off it ... heck, wait, there's still a piece missing ...
Currently, I'm out of ideas, so if one knows something ... don't hesitate to drop me a line
After being disappointed by all the fruitless efforts with the Tiger Install CD, I did some investigations.
First result of these investigations is, while the Panther and Tiger Install CDs come with a total of two partitions (as reported by the CLI "pdisk" tool), all Install CDs before this (I found quite a bunch), have some 9 partition setup. Jaguar was the last Mac OS X supporting an OldWorld Mac, the beige G3.
While you can create such a 9 partition layout with hdiutil's -layout "UNIVERSAL CD" parameter, hdiutil on Tiger seems to create some slightly different contents in these nine partitions.
In a side note in one of the hundreds of discussions about bootable Mac CD's I've read so far, they told about an important role of the "Desktop DB" and the "Desktop DF" file.
All togehter, I decided this time not to build up a CD from scratch, but to modify an existing one.
cd /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/Welcome\ to\ Mac\ OS\ X sudo rm -r Dansk Deutsch Esp* Fran* Ital* Jap* Kor* sudo rm -r Ned* Norsk Port* Simp* Suomi Svenska Trad* cd /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Installation/Packages sudo rm -r CanonPrinterDrivers.pkg EpsonPrinterDrivers.pkg sudo rm -r HewlettPackardPrinterDrivers.pkg LexmarkPrinterDrivers.pkg sudo mv Essentials.pkg /tmp cd
sudo cp -rp /Volumes/Rapid\ HD/System/Library/Extensions/* \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions/
sudo tar -C /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/ \ -xvzf /path/to/downloaded/xpostfacto4-essentials.tar.gz
export TMPDIR=/Volumes/Mac\ OS\ X\ Install\ Disc\ 1/tmp sudo kextcache -l -K /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/mach_kernel \ -m /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions.mkext \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions unset TMPDIR
sudo rm -r /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions/*
sudo cp -rp /Volumes/Mac\ OS\ X\ Install\ Disc\ 1\ 1/System/Library/Extensions/* \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/Extensions/
sudo mv /tmp/Essentials.pkg \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Installation/Packages/
sudo cp -p /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/CoreServices/BootX \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/usr/standalone/ppc/bootx.bootinfo sudo cp -p /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/BootX.image \ /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/usr/standalone/ppc/bootx.xcoff
sudo bless --folder /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/System/Library/CoreServices \ --bootinfo /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/usr/standalone/ppc/bootx.bootinfo \ --label "Jaguar OW"
Now you can unmount you freshly created Boot-CD image and actually burn it onto a shiny silver disk.
hdiutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1 hdiutil burn jaguarow.dmg
Put the disk into your PowerMac and reboot off it ... heck, wait, there's still a piece missing ...