Other World Computing's XPostFacto 4

XPostFacto is a utility from Other World Computing which helps to install and boot Mac OS X, Mac OS X Server, and Darwin on certain unsupported systems. When Mac OS X installs successfully, its stability on unsupported systems appears to be excellent. However, there are cases in which Mac OS X is difficult to install, and there are a variety of problems you can run into. So read carefully. You should also remember to check the online version of this documentation from time to time, to see whether there have been any changes.

Here's a quick link to download the latest version. Previous versions are also available in the version history below, along with a list of changes.

XPostFacto 4 (disk image) (or in the older .sit format)

XPostFacto is an open-source application which you may download and try without registration. However, I encourage you to contribute to the ongoing work on XPostFacto by registering as an XPostFacto user ($25). This helps to support the continuing development of XPostFacto, and also gives you an account on the tech support forum. If you are already a registered user of XPostFacto, you can make a contribution to its continuing development.

If you want to redistribute XPostFacto, then consult the license terms (which have changed a little for XPostFacto 4).

What's New

Here's what is new in version 4.0:

Known Problems

Here is a partial list of known problems with the current version of XPostFacto. You can also consult the bug list directly.


Table of Contents


What is XPostFacto?

XPostFacto is an application which helps install and boot Mac OS X, Mac OS X Server, and Darwin on certain unsupported systems. Instead of double-clicking the "Install Mac OS X" application on the Install CD, you run XPostFacto, and it takes care of all the work needed to get the Mac OS X Installer to run. Once you have Mac OS X installed, you also use XPostFacto to switch between Mac OS X and Mac OS 9.

Generally speaking, what XPostFacto does is the following:

Preparing to use XPostFacto

Here is a checklist of things to consider before attempting to install Mac OS X with XPostFacto.

You need a machine that XPostFacto works with

XPostFacto works with some unsupported machines, but not all of them. Here are the machines that XPostFacto can work with:

Support for other models may be possible in the future. Some users have had success with some of the "Catalyst" machines (in particular, the PowerCenter and PowerCenter Pro). At least on some of these machines, the onboard video is not working, so a video card is required. Also, some progress has been made with the Alchemy and Gazelle (the 6400 and 6500), but they are not working reliably yet.

The basic requirement for Mac OS X to ever work on a machine is that it have a PowerPC processor, a PCI bus, and Open Firmware. So the earliest PowerPC computers from Apple (e.g. the 6100, 7100, and 8100) are not likely to ever work with Mac OS X.

You need to have at least Mac OS 9.0 installed

XPostFacto does not run in Mac OS 8, so you need to have at least Mac OS 9.0 installed to use it. XPostFacto will run in Mac OS 9.0, 9.1 or 9.2. (It requires Mac OS 9.x in order to be able to copy files with long filenames from the Mac OS X Install CD to your hard drive).

If you do not already have Mac OS 9.x installed, the problem is that Mac OS 9.2 does not ordinarily work on older machines, and it is not so easy to buy Mac OS 9.0 or 9.1 anymore. There are some procedures available for installing 9.2 if you need to do that.

Version 3.0 (and later) of XPostFacto will also run in Mac OS X 10.2 and later.

You need to be working with Mac OS X 10.2 through 10.4

XPostFacto 4 will run in Mac OS 9.x or Mac OS X 10.2 through 10.4, but it will only install (or upgrade) Mac OS X 10.2 through 10.4. If you want to work with Mac OS X 10.0 or 10.1, then you can use XPostFacto 3.1.

You need sufficient RAM to run Mac OS X

Apple recommends a minimum of 256 MB of RAM to run Mac OS X. If RAM is tight, it is technically possible to install Mac OS X in as little as 96 MB, but it is not a good idea.

Mac OS X is pickier about RAM than Mac OS 9 was, so there are cases in which RAM that worked in Mac OS 9 causes problems in Mac OS X.

You need sufficient disk space to install Mac OS X

The bare minimum space required for installing Mac OS X is about 1.5 GB. However, a more realistic minimum is 2 GB. And more is better, depending on how much space your applications and data are likely to need.

You need a disk that was formatted with Apple's Drive Setup or Intech's Hard Disk SpeedTools

In order to boot Mac OS X on "Old World" machines, the disk you are using to boot from must have been formatted with Apple's Drive Setup or Intech's Hard Disk SpeedTools. Disks formatted with other formatting utilities generally are not bootable on older machines with Mac OS X. (The symptom is that when you try to reboot, you will end up back in Mac OS 9 instead of Mac OS X). If you are using Intech's Hard Disk SpeedTools, make sure that you have upgraded to the most recent version, as previous versions had some difficulty with the Mac OS X Installer.

Once you have Mac OS X installed, it is possible to use the Mac OS X Disk Utility to format disks. However, those disks do not appear to be bootable on older machines, even if you check the "Install Mac OS 9 Drivers" checkbox. So it seems best to use the Mac OS 9.x version of Drive Setup to format drives instead.

One exception is Firewire drives, which can be formatted in Mac OS X. (The reason is that XPostFacto uses a "helper" drive for the first part of the boot process when booting from Firewire drives).

You need to choose a partition strategy

The ideal strategy for installing Mac OS X is to have three separate partitions: one for Mac OS X, one for Mac OS 9.1, and one for Classic. These partitions can be on the same disk or on separate disks--it does not matter.

The advantage of having Mac OS X on a separate partition from Mac OS 9.1 is that you can install Mac OS X without touching your current installation. This provides some peace of mind, in case anything should go wrong when installing Mac OS X.

It is possible to install Mac OS X on the same partition as Mac OS 9. However, the Mac OS X Installer will "bless" the Mac OS X installation, which "de-blesses" the Mac OS 9 System Folder. The Mac OS 9 System Folder can be re-blessed (most easily with the Startup Disk preference panel in the Mac OS X System Preferences application), but that process can become tricky in situations where Mac OS X does not boot correctly after the first install. (There are some troubleshooting suggestions below if you find yourself in this situation).

The advantage of having Mac OS 9.1 on a separate partition from Classic is that certain extensions and control panels are problematic in Classic (or simply not needed). Having a separate partition permits you to do a bare-bones install with only the things actually needed for Classic, and still have another partition to use when you want to reboot into Mac OS 9.x. The other advantage is that it is possible to install and use Mac OS 9.2 for Classic, even though it will not be bootable apart from Classic.

It is possible to use the same partition for your bootable Mac OS 9.1 and for Classic. If you do that, then you will need to remove any problematic extensions or control panels. Alternatively, you can use the Classic preferences in Mac OS X to disable some extensions or control panels when using Classic.

So if you have three partitions available, it is ideal to use one for Mac OS X, one for Mac OS 9.x, and one for Classic. If you have two partitions, then Classic and Mac OS X can coexist on the same partition. And if you have only one partition, then everything can coexist together, with some disadvantages. (Of course, the size of the partitions available to you will also influence your strategy).

If you are installing onto an ATA drive, there are some cases in which you must install onto a partition that is entirely within the first 8 GB of the drive. The Mac OS X Installer enforces this limit, so if you are unable to select your desired partition, that may be the reason.

If you are installing onto a "New World" machine, then there is less reason to have a partition for Mac OS 9.

You need to think about your backup strategy

It is a good idea to backup your data before attempting a major installation, and doubly so before attempting something that Apple does not support! So you should consider whether you have a good backup system in place at the moment. (You could also consider what backup system you will use once Mac OS X is installed. One option is to copy drives with a utility such as Carbon Copy Cloner--using a Firewire drive for this purpose can be handy. And Retrospect now has a Mac OS X compatible version, for more sophisticated backups).

You need to review your PCI cards and other peripherals for compatibility

Compatibility is a large subject. Here I will briefly discuss a few issues that sometimes prevent a successful install.

You need the Mac OS X Install CD / DVD

I almost forgot to mention this one! You can use XPostFacto to install Mac OS X, Mac OS X Server, or Darwin. But you do need the Install CD / DVD.


What Works and What Doesn't Work

Here is a quick survey of what works and what doesn't work on the machines that XPostFacto supports. For information about the compatibility of peripheral devices, check the compatibility page.

Mac OS X Versions

XPostFacto 4 should work with Mac OS X 10.2 through 10.4. If you want to work with Mac OS X 10.0 or 10.1, you can use XPostFacto 3. XPostFacto 4 will still run in Mac OS 9 as well as Mac OS X 10.2 through 10.4.

CPUs

Mac OS X does not work with a 601 CPU. Therefore, if you have a 7500 with the original 601 processor, you will need to install a CPU upgrade before installing Mac OS X.

Mac OS X 10.3 (and later) does not work with a 603 or 604 CPU. (However, Mac OS X 10.2 can work with the 603 or 604, as of XPF 3.1).

If you install a G3 or a G4 upgrade, you will need some software to enable the L2 cache in Mac OS X. The forum contains a HOWTO on L2 cache software.

XPF 3.0 includes OWCCacheConfig, which attempts to automatically detect and configure L2 and L3 cache when you boot into Mac OS X, including when you boot from the CD to install. You can control whether OWCCacheConfig is installed using the "Enable L2/L3 Cache" option in XPostFacto. Unfortunately, OWCCacheConfig is causing problems for a fair number of users so far, so XPF is now defaulting to have it turned off, rather than on. You can turn it on if you want to test it.

The 9500MP and 9600MP work, but only one processor is active.

Floppy Drive

Mac OS X does not come with support for the floppy drive. Some work has been done (by others) on an open-source driver, but it hasn't been updated for a while and I'm told that it's not working well at this point. Your best bet if you really need a floppy drive is to look at a USB-based drive.

Sound and Video

Sound out works. There are some cases in which users report trouble with sound out after intensive disk access. The exact cause has been difficult to track down, but is probably related to the PCI bus in some way.

Video in and out does not work yet (on those models that have it--the 7600 and 8600, I believe).

ADB Keyboard and Mouse

ADB keyboards and mice generally work. If you are tempted to replace them with a USB keyboard and mouse, it is useful to keep your ADB keyboard and mouse around. This is because the boot-time key combinations only work on ADB keyboards, and the built-in support for ADB comes in handy sometimes if you run into trouble.

Internal and External SCSI

The internal and external SCSI bus both work. However, there are some users who have trouble with the internal SCSI bus. One thing that you need to double-check is that your SCSI termination is correct, because Mac OS X is picky about that. In general, Mac OS X is sensitive to timing issues on the SCSI bus. Sometimes removing unnecessary devices helps. Also, you will sometimes need to adjust the jumper settings on drives connected to the internal bus, to make sure that they spin up automatically at boot time (the "Disable Unit Attention" jumper is one that sometimes needs to be changed).

Serial Ports

The serial ports generally work, though not all serial devices are supported. Some modems work, but serial printers are not supported. Localtalk does not work in Mac OS X (i.e. Appletalk over the printer port). However, you can get localtalk-to-ethernet adapters.

Ethernet

The built-in ethernet connection generally works. One exception is the original Powerbook G3 (Kanga) with an Ethernet-only connection. That does not work, but the combo Ethernet-Modem connections do work (at least for ethernet).

Internal Modem

I have not tested the internal modem in the Powerbooks--I suppose I should!

Sleep

Display sleep and disk sleep appear to be working well. System sleep works on the models which Apple supported in Mac OS 10.0 through 10.2 (i.e. the Beige G3's and the Wallstreet Powerbooks). On the machines that Apple did not support, sleep is not working yet. XPostFacto will automatically set the system sleep preference to "never" on those machines.

PCMCIA Cards and Cardbus Cards

PCMCIA cards appear not to work in the Powerbooks. However, some CardBus cards do seem to work.


Enough, already! How do I use XPostFacto?

So, you have reviewed the checklist of things you need before using XPostFacto, and you have some idea of what works and what doesn't. Now, you ask, how do I actually go about using XPostFacto?

Installing XPostFacto

To install XPostFacto, just copy it to a convenient location on your hard drive. You do not need to put it in a special location.

Installing Mac OS X

Let me emphasize one last time that you need to be cautious when doing a major installation of this kind. Installing Mac OS X has worked very easily and reliably for some, while others have had significant problems that have not always been readily explained. There have been cases in which installing Mac OS X has been unsuccessful, and the computer has failed to boot at all--it appears to be "dead." If you read the tech forum, you will see that there has been some vigorous debate about whether the computer is ever "really" dead--in almost all cases, it has been possible to get it to boot again (in fact, it may be "all cases", but sometimes it takes significant effort). But there are a handful of users who have either given up or come very close to it.

So you should ask yourself two final questions:

Then take a deep breath, and follow the following procedure:

XPostFacto will copy some kernel extensions to the target volume. Then it installs a modified version of BootX that will use these kernel extensions (along with the standard extensions on the CD). Then it will restart the computer.

The Mac OS X Installer runs in Mac OS X, so you will be booting into Mac OS X at this stage. It can take a few minutes, so you need to be a little patient. It is possible for the installation to fail at this point, either with an explicit error message, or a rainbow cursor that spins forever, or by rebooting into Mac OS 9, or just a blank screen. See the troubleshooting tips below if this happens to you.

You will be booting in verbose mode at this point, so you will see a variety of messages on the screen. It may seem to pause for a minute or two at times. If nothing happens for several minutes after that, then there may be a problem. In order to see additional messages from the earliest part of the boot process, you can hold down command-v as the computer reboots.

When you reach the Mac OS X Installer, select the target volume again (make sure to select the same one). Do not reformat the target volume at this point, as we need to keep the files that we have already copied there. Follow the rest of the Installer's instructions as usual.

Once you have finished installing Mac OS X, the installer will reboot your system. One thing to note is that if you are using a "helper" disk (for instance, where your target is a Firewire drive), you will probably reboot into Mac OS 9 after the install is completed, rather than Mac OS X. At this point, you simply need to run XPostFacto again, select your target volume, and click on "Restart". That will set up the special boot process correctly again.

Also, if you have chosen to "Erase and Install" or an "Archive Install", then the kernel extensions pre-installed by XPostFacto will have been moved or erased. In that situation, you can reboot into Mac OS 9, and then use XPostFacto to boot from your new Mac OS X installation (it will re-install the missing extensions).

Switching between Mac OS 9 and Mac OS X

Once you have installed Mac OS X, you may want to reboot into Mac OS 9 at some point. One way to do this is to hold down the option-key while restarting. However, it sometimes happens that when you install Mac OS X, your Mac OS 9 System Folder becomes "unblessed." In this case, you can use the "Startup Disk" panel in the Mac OS X "System Preferences" application. This will re-bless the System Folder and permit you to reboot into Mac OS 9.

After you reboot into Mac OS 9, you can use XPostFacto to return to Mac OS X. Simply select the desired startup volume and press the restart button. XPF will write the required settings to non-volatile RAM (NVRAM), and restart the computer. (Restarting from the Finder is not affected by your selection here.

You can now use XPF to choose whether to boot from Mac OS 9 or Mac OS X (via the options in the main XPF window). If you choose Mac OS 9, you'll boot from whichever Mac OS 9 disk you last booted from. It isn't possible to select a specific Mac OS 9 disk to boot from.

Upgrading from a Previous Version of XPostFacto

If you are upgrading from a previous version of XPostFacto, all you need to do is launch the new version, and it will check to see what needs to be installed. You can do this in Mac OS X or in Mac OS 9.

Upgrading Mac OS X

To upgrade to a new major version of Mac OS X (i.e. 10.2 to 10.3 or 10.3 to 10.4), you follow the same steps listed above. The procedure is the same whether you are upgrading or doing a fresh install--in both cases, you need to boot from the Mac OS X Install CD, so you need to use XPostFacto's special install procedure.

For the minor Mac OS X upgrades (e.g. from 10.4 to 10.4.1), you can use the 'Software Updates' mechanism or the downloadable installers as usual--they have, so far, worked without XPostFacto's help.

Booting from other CDs

XPostFacto should permit you to boot from any CD that would boot a supported system (for instance, the recovery CDs that some file and backup utilities include). Simply select the CD in XPostFacto as the device to boot from.

Advanced Options

The "Options" button will bring up a dialog that allows you to select various advanced options which affect the NVRAM settings used for rebooting with XPostFacto. The help text in that window explains the effect of the settings.

Firewire Booting and Helper Disks

XPostFacto includes a "helper disk" option which is meant to permit booting from certain devices which would not otherwise be bootable (in particular, Firewire drives). The problem with booting from Firewire drives on older machines is that the firmware on those machines does not know how to access Firewire. XPF solves that problem by copying system files from the Firewire drive to a "helper" drive. XPF then sets up the boot process so that it starts from the "helper", and then switches to the Firewire drive once enough of the system has loaded so that Firewire is accessible.

The system files copied to the helper drive are stored in a special location on the helper, so they do not interfere with any system that is installed on the helper itself.

The trickiest part of this process is that the system files on the Firewire drive and the helper need to stay synchronized. That is, if you make changes to the system files on the Firewire drive, XPF needs to copy those changes to the helper. XPF installs a startup item which periodically checks to see whether synchronization is required (for instance, whether you've installed a software update or a new kernel extension). The startup item pops up a message telling you when synchronization is required. At that point, you should wait for the installation process to complete, and then launch XPostFacto. When you launch XPostFacto, you'll see that you are now setup to boot in Mac OS 9 instead of Mac OS X. The purposes of this is to make sure that you don't reboot in Mac OS X without synchronizing first. So, all you need to do at this point is use XPF to switch back to booting from Mac OS X, and XPF will take care of the required synchronization.

Depending on what you're installing, there are cases in which you can't launch applications after installing (until you restart). In that case, you'll restart in Mac OS 9, and you can use XPostFacto to get back to Mac OS X (it will do the required synchronization along the way).

The helper mechanism appears to be working well when you don't really need it (for instance, when I test it with two SCSI drives). It is still problematic, though, when booting from Firewire drives. It appears that there is often (but not always) a problem reading from Firewire drives when they are used as the root disk. This is an area that needs more testing.

The Cache Menu

The "Cache" menu in XPostFacto allows you to control the files which XPF copies, either as part of the install procedure, or when using a "helper" disk. You can empty the cache with the "Empty Cache" command. This will save some disk space after an install. Of course, if you are using a "helper" drive, XPF will have to recopy some of those files (it will know to do that when you quit).

If you have had a "permissions" error when trying to perform an installation, then using the "Check Permissions" command should solve it.


Troubleshooting

Here are some tips you can use if you run into trouble.

Consult the Tech Forum

The most important tip is to consult the tech forum -- it is an extremely useful resource.

If Mac OS X will not boot successfully ...

If Mac OS X will not boot successfully, you are going to want to reboot into Mac OS 9. Here are some ways to do that. None of these will solve your primary problem (i.e. they won't make Mac OS X boot any more successfully), but at least they will get you back to Mac OS 9 again.

If you have installed Mac OS X on the same partition as Mac OS 9, rebooting with the option-key down may not work, because the Mac OS X installation process "de-blesses" the Mac OS 9 System Folder. In those cases, you can reboot from the Mac OS 9 CD with the "c" key held down, and take steps to "re-bless" the Mac OS 9 System Folder. The simplest method is to drag the System or Finder file to the desktop and then back into the System Folder. If that doesn't work, one user suggests command-option-double-clicking on the Finder file (I have not tried that yet). Also, you could check to see whether the /System/Library/CoreServices folder has been blessed by the Mac OS X Installer. In that case, you could de-bless that folder by dragging out the fake System file located there. You should then be able to re-bless your Mac OS 9 System Folder. Also, the XPostFacto application now has a menu command to rebless the Mac OS 9 System folder on a volume.

Diagnosing the problem

Here are some steps you can take to diagnose problems.

If you cannot successfully boot, then the most important thing is to try booting in verbose mode. Hold down command-v as the computer restarts, and note any error messages which appear.

If you do not get any text in verbose mode, you can use the 'Open Firmware' settings in the "Options" dialog to diagnose the earliest part of the boot process. The items in that dialog have the following meanings:

auto-boot?

When this is selected (the default setting), your computer will boot in the ordinary way. When it is unselected, the computer will stop at the Open Firmware prompt when you boot. If you have no idea what the Open Firmware prompt is, you should leave this checked. If you do uncheck it, make sure that you set up the input-device and output-device. (XPF 3 now enforces this).

input-device

This is the device that will provide input at the Open Firmware prompt (should you stop there). Generally, you will want this to be the keyboard, but you can choose the modem or printer port as well.

output-device

This is the device that will receive output at the Open Firmware prompt. Generally, you will want this to be the built-in monitor, or a video card. You can also choose the modem or printer port.

By selecting an input-device and output-device, and then holding down command-v as the computer restarts, you will get additional diagnostic messages earlier in the boot process.

If you still get no text in verbose mode, then there are a couple of things you can try.

If you have a G3 or G4 upgrade card, you can try adjusting the "Throttle" setting (again, in the "Options" dialog). The "throttle" menu allows you to adjust the speed of your G3 or G4 upgrade card during the earliest part of the boot process. For some users, this solves a problem booting from certain SCSI devices. Once the earliest part of the boot process is complete, the processor will be reset to its full speed.

The higher the throttle setting, the slower the processor is during the early boot process. Several users have reported that a setting of 4 or higher allows them to boot on certain problematic drives, while 3 or less fails.

You can also try adjusting the clock speed or bus speed of your CPU upgrade.

Sometimes, problems booting have to do with RAM. It is sometimes best to de-interleave RAM, especially with CPU upgrades. You do this by making sure that matching DIMM slots do not have matching memory modules. Also, there are occasions where a particular DIMM which works in Mac OS 9 is problematic in Mac OS X. So you can try swapping out DIMMs to see if you can isolate a problematic one.

If you do get text in verbose mode, then note any error messages, and note what the last messages are before the process grinds to a halt. If the last messages are a repeated "Still waiting for root device", then it means that Mac OS X is having some trouble with your CD-ROM device.

If you get a kernel panic, then the best thing is to take a picture of your screen with a digital camera, post the picture on the web somewhere, and then post a link the tech forum (or send me an e-mail, but the tech forum is faster). If you don't have a digital camera, then copy down all the information and type it up. (It is tedious, but there is no better way yet--I do have some ideas for how to save the panic information automatically).

One useful troubleshooting measure, especially for kernel panics, is to remove any unnecessary PCI cards and try again. If that works, you can add cards back in until you have figured out which one is causing trouble.

If you get as far as the Mac OS X Installer and then have problems, there are a couple of possibilities.

If you get random freezes (that is, the cursor stops moving and you get no error message of any kind), then the most common reason is trouble with your RAM. You can try swapping out DIMMs and see whether you can isolate a problematic one. (There are cases where DIMMs which are fine in Mac OS 9 are problematic in Mac OS X).

If you get an error message about not being able to write a file, or read a file, then I am not entirely sure what the problem is. In some cases, using a different install CD helps. In some cases, reformatting the target volume helps. But there are cases where this problem goes unsolved.

The XPostFacto Log

XPF generates a log file that sometimes helps me figure out what is going wrong. The file is called "XPostFacto Log" and it is located in the Preferences folder, inside your System Folder. If you are running XPF in Mac OS X, then it writes its log messages to the system log, located at /var/log/system.log

The "Debug" Options

XPostFacto has some "Debug" options that allows you to take advantage of certain debugging features present in the Mac OS X kernel. This is only useful if you know what these options mean. So if you do not understand what they are, simply leave them unselected.

If you are getting kernel panics with the multilingual text screen that tells you that you need to reboot, you might want to turn on the "See panic text" option. This will show you the traditional panic text instead, which can be helpful for figuring out what is causing the panic.


Source Code

XPostFacto is an open-source application. For information about the source code, consult the XPostFacto page at opendarwin.org. There is also a Bugzilla database there which can be used to report and track bugs in XPostFacto.


Credits

Great credit is due to the Darwin project and all those involved in it. The code in many of the kernel extensions installed by XPostFacto is derived from Darwin, with a few bug fixes here and there. Josh de Cesare deserves particular credit for his work on platform support. Dan Markarian and Chris Sarcone helped with the CD audio problem in Mac OS X 10.0. I would also like to thank Markus Hitter for debugging tips (and for being a good sounding board), as well as Marc St-Jean for help with testing, and general encouragement. Finally, I would like to thank Kyle Kost and Will Schoumaker for their work on clone support.

XPF makes use of the zlib compression library, for which I wish to thank Jean-loup Gailly and Mark Adler.

El-Gato Software contributed a bug fix that helps support additional SCSI CD-ROM, CD-R and CD-RW devices.

Joshua Thorpe suggested the new name.

Michel Lanners wrote the Forth code to permit processor throttling in Open Firmware, and Matt Schechtman passed it along to me.

Pierre d'Herbemont has done some terrific work on 6400 support.

Joe van Tunen figured out how to solve the issue with the Radeon 7000 card becoming active only late in the boot process, as well as hardware cursor support for /chaos/control in Jaguar.

Ken Lui did some nice work updating the AppleMaceEthernet driver.

Ben Ralston figured out how to get the AppleScreamerAudio code from Darwin to work on Old World machines.

Peter Caday figured out why Mac OS X 10.2 wouldn't boot on the 603 or 604 CPUs.

I would also like to thank Other World Computing (Larry O'Connor in particular) for their generous support.


License

XPostFacto is a partially open-source application provided by Other World Computing. There are some restrictions on the changes which you can make to it, and some conditions to be met if you want to redistribute it. In particular, you cannot remove the credits to Other World Computing. You also cannot charge for redistributing XPostFacto (or bundle XPostFacto with something that you charge for) without permission.

Parts of the source code for XPostFacto are subject to a less restrictive license. If you wish to reuse code from XPostFacto in another application, consult the specific files involved for licensing provisions. (Generally speaking, the user interface code is subject to a more restrictive license, whereas the code relating to the underlying functionality is less restricted).

BootX and most of the kernel extensions which are installed by XPostFacto are subject to the Apple Public Source License. Again, consult the specific files involved for licensing provisions.

XPostFacto as a whole is subject to the following license:

Copyright (c) 2001 - 2005
Other World Computing
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of each file.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Redistributions in binary form must retain unchanged the elements of the application which credit Other World Computing (such as the splash screen and the "about box").

  4. Redistributions in binary form must not require payment (or be bundled with items requiring payment).

This software is provided by Other World Computing ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Ryan Rempel or Other World Computing be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

XPostFacto was written with the MacApp Application Framework. (c) 1983-2001 Apple Computer, Inc. MacApp is a trademark of Apple Computer, Inc., registered in the United States and certain other countries.

BootX includes the "RSA Data Security, Inc., MD5 message-digest algorithm", which is subject to the following copyright:

Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.

License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.

License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.

RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.

These notices must be retained in any copies of any part of this documentation and/or software.

BootX also includes code relating to AES encryption which is subject to the following copyright:

Copyright (c) 2003, Dr Brian Gladman, Worcester, UK. All rights reserved.

LICENSE TERMS

The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:

  1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;

  2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;

  3. the copyright holder's name is not used to endorse products built using this software without specific written permission.

DISCLAIMER

This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose.


Download Links and Version History

4.0 (September 2, 2005) (or in the older .sit format)

Here's what is new in version 4.0:

There are two changes from version 4.0b5.

4.0b5 (July 10, 2005) (or in the older .sit format)

Here's what is new in version 4.0b5:

4.0b4 (June 20, 2005) (or in the older .sit format)

Here's what is new in version 4.0b4:

4.0b3 (June 6, 2005) (or in the older .sit format)

Here's what is new in version 4.0b3:

4.0b2 (May 21, 2005) (or in the older .sit format)

Version 4.0b2 fixes a problem with BootX that led to "Waiting for root device ..." messages after a successful Tiger install.

4.0b1 (May 20, 2005) (or in the older .sit format)

Here's what is new in version 4.0b1:

3.1 (April 18, 2005) (or in the older .sit format)

Version 3.1 checks to make sure that it is working with the root device before updating the Extensions.mkext cache.

3.1a4 (April 1, 2005) (or in the older .sit format)

Version 3.1a4 fixes some mistakes I made when building the kernel extensions for version 3.1a3 (I had some mistmatched version numbers).

3.1a3 (March 28, 2005) (or in the older .sit format)

Version 3.1a3 makes some changes to the settings which control the stage (in the boot process) at which certain kernel extensions are loaded. The required settings vary depending on whether it is a "normal" boot or an installation from CD. BootX will now notice this and make the necessary adjustments. This will avoid some error messages early in the boot process. I had thought those error messages were harmless, but it seems that it may be a contributing factor in the "black screen" problem on the Beige G3s (the actual mechanism is obscure, but it is possible that these changes may help, at least with some subset of the problem).

3.1a2 (March 1, 2005) (or in the older .sit format)

A quick summary of changes in 3.1a2:

3.1a1 (February 15, 2005) (or in the older .sit format)

A quick summary of changes in 3.1a1:

3.0 (January 18, 2005) (or in the older .sit format)

New icon, and minor changes to preference handling.

3.0b12 (December 6, 2004)

Better error-checking in the "synchronize" process -- may help diagnose some reported problems.

3.0b11 (November 22, 2004)

Version 3.0b11 hopefully fixes a problem which sometimes occurs when launching XPostFacto in Mac OS X with network drives mounted.

3.0b10 (November 13, 2004)

Here is a quick summary of what's new in version 3.0b10. I had been hoping that 3.0b9 would be the last beta version before releasing 3.0, but there turned out to be a couple of problems that seemed possible to fix within a reasonable time.

3.0b9 (October 26, 2004)

Here is a quick summary of what's new in version 3.0b9. I am expecting this to be the last beta version before officially releasing version 3.0. So, I am particularly looking for two kinds of problem reports at the moment: (a) things that used to work in a previous version of XPF but do not work now; and (b) things which do not work and are not sufficiently documented as "known problems."

3.0b8 (August 3, 2004)

Version 3.0b8 fixes several bugs in 3.0b2. (There were several intermediate versions with limited distribution to help diagnose the bugs).

3.0b2 (July 13, 2004)

Here's a quick summary of what's new in version 3.0b2.

3.0b1 (June 7, 2004)

Here's a quick summary of what's new in version 3.0b1.

3.0a17 (April 13, 2004)

Here's a quick summary of what's new in version 3.0a17.

3.0a16 (March 29, 2004)

Here's a quick summary of what's new in version 3.0a16.

3.0a15 (March 25, 2004)

Here's what's new in version 3.0a15.

3.0a14 (March 6, 2004)

Version 3.0a14 fixes a problem with updating the XPF extensions when doing an install -- there were circumstances in which old versions of the XPF extensions from a previous installation attempt weren't being updated. This may fix some install problems.

3.0a13 (March 5, 2004)

Here's a summary of what's new in 3.0a13.

3.0a12 (March 3, 2004)

Here's a list of what's new in version 3.0a12.

3.0a11 (January 14, 2004)

Here's a list of what's new in version 3.0a11.

3.0a10 (December 19, 2003)

Here's the list of changes since 3.0a9. The video drivers for built-in video on Panther are still coming.

3.0a9 (November 22, 2003)

Initial support for Panther on the Wallstreet Powerbooks and the Beige G3. The main limitation on the Beige G3 is that the built-in video is not supported yet -- you need a video card. On the Wallstreet Powerbooks, video is problematic in some configurations, but it can be dealt with by changing colour depth or deleting the ATIRagePro.plugin extension. Support for Panther on Kanga is not ready yet.

I have also made a couple of changes to the Mac OS X version of XPostFacto. XPF now writes to the system log in Mac OSX, rather than its own log file. I also fixed one bug which may have contributed to the problem initiating an install from the Mac OS X version.

3.0a8 (November 17, 2003)

I've added a new method of disabling OWCCacheConfig. XPF will now actually install or delete OWCCacheConfig.kext based on the setting you choose for "Enable L2/L3 Cache". I still haven't figured out why my previous method of disabling it isn't working (it works for me), but deleting it should be pretty certain to work :-)

I've also fixed a problem which occurred if you launched XPF in Mac OS 9 and there was no Install CD around, and no existing Mac OS X volume. XPF should now do the expected thing when you quit in these circumstances (i.e., nothing).

3.0a7 (November 17, 2003)

I've made some minor changes to OWCCacheConfig since 3.0a6. Some users are reporting problems with OWCCacheConfig -- and, worse, reporting that they are unable to disable it using the techniques below. Unfortunately, I can't reproduce the problem yet.

I've also removed the AppleMaceEthernetPreJaguar kernel extension. One user reported that removing it solves a kernel panic which several users had reported.

3.0a6 (November 16, 2003)

Here's a list of the bugs fixed since 3.0a4. Version 3.0a6 also has support for Mac OS X 10.3 on the 7300 - 9600 series (and friends), but without support for built-in video (yet). I'm also not entirely sure which video cards will work with 10.3 at this point.

Support for 10.3 on the Beige G3 and Wallstreet is still coming.

3.0a4 (September 22, 2003)

Here's a list of the bugs fixed since 3.0a3. If you have noticed one of these bugs in 3.0a3, I'd be most grateful if you could test 3.0a4 and verify that the bug is actually fixed. In case you're interested, here's a link to the bugs I'm hoping to fix before I release a beta version (but I might not get to all of them).

3.0a3 (September 1, 2003)

A pretty major rewrite. This is an alpha version, which means that there are some features not implemented yet, and probably some bugs. Here's a quick summary of what should be working (but may still have bugs), and what is not implemented yet.

Should be working (but possibly with bugs):

Not implemented yet:

One other limitation is that it is not possible to do an Install from the Mac OS X version of XPostFacto yet--you will need to reboot into Mac OS 9 first.

2.2.5 (January 4, 2003)

2.2.4 (October 21, 2002)

Fixes a problem with version 2.2.3 that could cause a kernel panic when installing Mac OS X 10.2.

2.2.3 (October 7, 2002)

2.2.2 (September 12, 2002)

2.2.1 (September 2, 2002)

2.2 (August 23, 2002)

The changes since version 2.2b17 are as follows:

And here is a summary of the changes since version 2.11 (the last non-beta version):

2.2b17 (August 18, 2002)

2.2b16 (August 10, 2002)

Fixes a problem which prevented some of the kernel extensions from loading properly in 2.2b15, which could cause a kernel panic early in the boot process.

2.2b15 (August 8, 2002)

2.2b14 (July 10, 2002)

2.2b9 (June 29, 2002)

2.2b7 (April 20, 2002)

Restores the "throttle" menu, so that you can adjust the processor throttling. Really, truly avoids persistent processor throttling when rebooting in Mac OS 9. Should add support for the later 8600 and 9600 models (i.e. the 8600/250, 8600/300, 9600/300, 9600/350), but is not well tested on those machines.

2.2b4 (April 16, 2002)

Fixes a problem with the "throttle" feature of version 2.2b3. On some machines, it was possible for the processor throttling to persist when you reboot into Mac OS 9 (which is undesirable). Version 2.2b4 fixes that. (Well, I thought it did. It turns out that a few more changes were needed--and they are in version 2.2b7).

2.2b3 (April 13, 2002)

This release allows you to throttle (i.e. slow down) a G3 or G4 processor upgrade during the earliest part of the boot process. This sometimes solves problems that some users have experienced when booting with G3 and G4 upgrade cards. If you have been stuck with a blank screen on reboot with earlier versions of XPostFacto, it is possible that this version will work better for you (assuming you have a processor upgrade).

2.2b1 (April 7, 2002)

2.11 (January 21, 2002)

Fixes a problem reading the catalog of highly fragmented drives. Partially fixes an incompatibility with NoFinderZoom9. Provides some feedback when preparing custom install CDs.

2.1 (January 13, 2002)

Adds support for additional SCSI CD-ROM devices, including some CD-R and CD-RW devices (courtesy of El-Gato Software). Adds the ability to create a custom install CD for older machines. Various bug fixes.

2.0 (October 29, 2001)

Better error logging.

2.0b4 (October 13, 2001)

Fixes a problem booting from a SCSI card or IDE card installed in the lower three slots of six-slot systems. Fixes a problem running out of NVRAM space in some configurations.

2.0b3 (October 2, 2001)

Restores support for some CD-ROM mechanisms that were not bootable in version 2.0b1 and 2.0b2. Changes the installation strategy to access the CD-ROM later in the boot process.

2.0b2 (September 30, 2001)

Fixes a bug that had created problems in some situations when installing BootX (the Mac OS X bootloader). Also keeps track of the version of BootX that is installed, so that it can be updated when necessary. Adds an 'Open Firmware' menu which can be used to interact with Open Firmware (and BootX) at boot time (see documentation below).

2.0b1 (September 23, 2001)

More changes meant to improve compatibility with future versions of Mac OS X. The installation strategy has changed significantly in this version. UUX now installs a modified version of BootX which loads kernel extensions from more than one source.

1.1 (August 22, 2001)

A variety of changes meant to improve compatibility with future versions of Mac OS X. It may turn out that further changes are required.

1.0 (August 3, 2001)

Verified that Mac OS X Server can be installed successfully.

1.0b10 (July 27, 2001)

Fixed a problem booting Darwin 1.3.1 (the "file not found" error).

1.0b9 (July 26, 2001)

Now pre-installs BootX in the manner required for older machines. This should allow installation to work with a broader range of CD-ROM models. It also helps to install Mac OS X Server and Darwin 1.3.1. Also added options for booting in verbose mode and single user mode.

1.0b8 (June 18, 2001)

Original release