## XPostFacto 3.0b2

Ryan Rempel
osxguru@macsales.com
July 13, 2004

XPostFacto is a utility 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.

> Download XPostFacto 3.0b2

XPostFacto is an open-source application which you may download and try for free. However, I encourage you to register as an XPostFacto user. 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.

#### What's new in 3.0b2

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

- XPF will now provide warnings about certain conditions which might cause problems -- for instance, the 8 GB limit, volumes formatted in manner that may not be bootable, and missing or corrupt symbolic links.
- There is now a volume inspector window, which you can access by double-clicking on a entry in XPF's volume list (or by using the Window menu).
- Using the volume inspector window, you can now override the ATA bus or SCSI bus that XPF thinks a volume is attached to. The background is that in Mac OS 9, there is no completely deterministic way to match a volume with an ATA bus or SCSI bus -- generally, XPF gets the matching correct, but there are cases where XPF gets it wrong. The volume inspector allows you to manually override XPF's choice (which is indicated as the underlined item in the popup menu). Do let me know about situations in which it is necessary to do this, as it may be possible to fix XPF so that it will choose the correct bus on its own.
- XPF now checks whether the symbolic links /tmp, /var and /etc have been properly created on a Mac OS X Volume, and gives a warning if problems are detected. In some cases, it is possible to fix those links with the "Fix Symbolic Links" command in the "Install" menu.
- XPostFacto now uses balloon help (in Mac OS 9) and help tags (in Mac OS X), rather than the "custom" help mechanism it had been using previously. You can use the checkbox in the lower right corner of the XPF windows to turn help on and off.
- XPF handles volumes with identical creation dates and sizes better, though some anomalies may still remain.
- Updated the code which installs BootX and checks whether BootX has been properly installed.
- XPF does a better job of recognizing Darwin Install CDs. However, further testing with Darwin installs is required.
- XPF does a better job of distinguishing volumes with identical creation dates and sizes. However, some anomalies may remain.
- XPF now keeps track of the preference whether to boot into Mac OS 9 or Mac OS X. If the current NVRAM setting is inconsistent, then XPF asks the user whether to save the preferred setting.

#### Known Problems

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

- OWCCacheConfig is often causing problems, especially with Panther. The workaround for the moment is to de-select the "Enable L2/L3 Cache" option in XPostFacto.
- There is an 8 GB limit that applies when installing Mac OS X on an ATA drive on an "Old World" machine. The issue is that the firmware drivers for the built-in ATA bus on Old World machines will not access past the 8 GB mark. This means that Mac OS X must be installed on the first partition, and that partition must be less than 8 GB in size. The Mac OS X Installer knows about this, and will refuse to install if it detects the problem. Unfortunately, the Mac OS X Installer also refuses to install on ATA drives connected to PCI cards on Old World machines, even though that would actually work. Complicating this further is that some ATA cards "pretend" to be SCSI cards in Mac OS X, while others do not. I have a few ideas about how to work around some of these issues, but have not implemented that yet.
- Booting from a Firewire drive is sometimes problematic -- it seems to depend on which PCI card is used, or sometimes which Firewire devices are attached. One workaround for error messages which appear in verbose mode is to tap the keyboard -- it is not clear why that should help, but in some cases it does.
- Sometimes files are copied from the CD to the target volume with the wrong permissions, which causes errors when booting. I am hoping that recent versions of XPF have mostly fixed the problem. I have also added the "Check Permissions" command (in the "Cache" menu) which can be used to fix the problem.
- There are some problems with video in Panther on the Wallstreet Powerbooks, at least in some configurations. One problem is a kernel panic (or perhaps a WindowServer failure) which seems to correspond with high levels of disk activity. Another problem is colour problems. Enabling the "Use PatchedRagePro" option in XPF can help. This enables the PatchedRagePro.kext, which does two things. For video with a device-id of 0x4C50, it activates the ATIRagePro.kext. This is the equivalent of the Info.plist modification described at XLR8YourMac, except that it doesn't actually modify ATIRagePro.kext. For video with a device-id of 0x4C47, it disables the ATIRageProGA.plugin, which seems to solve a problem with using "thousands" of colours.
- A similar problem sometimes occurs with Beige G3 video in Panther -- it is some kind of kernel panic or WindowServer failure.
- The Panther video driver for Kanga (Original Powerbook G3) only supports 256 colours for the moment.
- The Wallstreet Powerbooks sometimes boot from the Install CD in a way that doesn't pick up the special settings needed to get the Panther installer to work.
- There are a couple of audio-related problems on the 7300 - 9600 series. The global sound volume preference is not adjustable, and audio in is generally not working.
- The video in/out on the Beige G3 A/V personality cards is not working.
- The RCA video on the 7600 / 8600 etc. is not working -- both video in (planb) and video out (sixty6).
- Some SCSI scanners are not working when attached to the 7300 - 9600 series.
- System sleep is not working properly on the 7300 - 9600 series, or on the original Powerbook G3 (Kanga). However, it is working on the Beige G3s and Wallstreet Powerbooks.
- In some configurations, audio output stutters or fails when an ATA/100 or ATA/133 card is in use. However, this does not affect everyone consistently.
- The floppy drive does not work.
- The ethernet port on ethernet-only Kangas (original Powerbook G3) is not working. (However, the combo modem-ethernet port is working).
- Mac OS X 10.2 (and later) require a G3 or G4 CPU upgrade on models that did not originally come with a G3 or G4.
- Volumes partitioned in Mac OS X are not bootable on older machines -- the utilities that work are Apple's Drive Setup (in Mac OS 9.x) and Intech's Hard Disk SpeedTools.
- Some PCI video cards which were working in Jaguar are no longer working in Panther. In some cases, the "Use old NDRVs" option can help, but in other cases it does not.
- I have not tested XPF with Darwin lately, and problems have been reported with the installation. This is partially fixed in 3.0b2, but not fully.
- XPostFacto gets confused by volumes with identical creation dates and sizes. This is partially fixed in version 3.0b2.

### Table of Contents

- What is XPostFacto?

- Preparing to use XPostFacto
  - You need a machine that XPostFacto works with
  - You need to have at least Mac OS 9.0 installed
  - You need sufficient RAM to run Mac OS X
  - You need sufficient disk space to install Mac OS X
  - You need a disk that was formatted with Apple's Drive Setup or Intech's Hard Disk SpeedTools
  - You need to choose a partition strategy
  - You need to think about your backup strategy
  - You need to review your PCI cards and other peripherals for compatibility
  - You need the Mac OS X Install CD

- What Works and What Doesn't Work
  - Mac OS X Versions
  - CPUs
  - Floppy Drive
  - Sound and Video
  - ADB Keyboard and Mouse
  - Internal and External SCSI
  - Serial Ports
  - Ethernet
  - Internal Modem
  - Sleep
  - PCMCIA Cards and Cardbus Cards

- Enough, already! How do I use XPostFacto?
  - Installing XPostFacto
  - Installing Mac OS X
  - Switching between Mac OS 9 and Mac OS X
  - Upgrading from a Previous Version of XPostFacto
  - Upgrading Mac OS X
  - Creating a Custom Install CD
  - Advanced Options
  - Firewire Booting and Helper Disks
  - Cache Menu

- Troubleshooting
  - Consult the Tech Forum
  - If Mac OS X will not boot successfully ...
  - Diagnosing the problem
    - If you cannot successfully boot
    - If you do not get any text in verbose mode
    - If you still get no text in verbose mode
    - If you do get text in verbose mode
    - If you get a kernel panic
    - If you get as far as the Mac OS X Installer and then have problems
  - The XPostFacto Log
  - The "Debug" Menu

- Source Code
- Credits
- License
- Version History

## 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:

- Installs the kernel extensions needed for Mac OS X to run on unsupported systems.
- Installs a startup item.
- Installs a modified version of BootX.
- Installs an NVRAM patch.
- Figures out the NVRAM settings required to boot or install.
- Tells the computer to restart.

## 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:

  - The PowerSurge models

    These are the 7300, 7500, 7600, 8500, 8600, 9500, and 9600, as well as the clones that were based on one of these systems (the Umax S900 and J700, the PowerComputing PowerWave and PowerTower Pro, and the Daystar Genesis and Millennium, among others).

  - The Beige G3s and Wallstreet Powerbooks

    The Beige G3s and Wallstreet Powerbooks were supported by Apple in Mac OS X 10.0 through 10.2, but are no longer supported in 10.3 (Panther). However, XPostFacto can get these models working in Panther. There are some video-related issues in some configurations -- see the known problems section.

  - Certain Other Powerbooks

    These are the original Powerbook G3, the 2400 and the 3400. However, there are significant limitations in the support for these machines. The most serious limitation is that sleep does not work. On some models, the built-in ethernet connection also does not work. There are additional details below.

    I should warn potential users that Mac OS X is pretty slow on the 2400 and 3400. Also, the original 603e CPU is only supported in Mac OS X 10.0 and 10.1.

    The original Powerbook G3 (Kanga) is working with Panther now -- the main limitation is that the video support is limited to 256-colour mode at the moment (I will be working on 16-bit support). Also, there may be a problem with PC Cards in Panther.

  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 of XPostFacto will also run in Mac OS X.

You need sufficient RAM to run Mac OS X

  Apple recommends a minimum of 128 MB of RAM to run Mac OS X. But more is better, especially if you are planning to make use of the Classic environment to run Mac OS 9. I would suggest at least 256 MB. 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 older 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.

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--you can consult my compatibility page for a longer (though still very incomplete) discussion. Here I will briefly discuss a few issues that sometimes prevent a successful install.

  - Video cards

    Some video cards are problematic in Mac OS X. Check the compatibility page for details. In Mac OS X 10.3, sometimes the "Use old NDRVs" option in XPostFacto can help.

  - CD-ROM devices

    Some older CD-ROM devices do not work with Mac OS X. The symptom that you will get in this case is the message "still waiting for root device" when booting in verbose mode (with command-v held down at startup).

You need the Mac OS X Install CD

  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.

## 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 3 should work with Mac OS X 10.0 through 10.3, but testing with 10.0 and 10.1 has been limited. One limitation is that XPF 3 will not launch in Mac OS X 10.0 (but you can launch it from Mac OS 9 to install Mac OS X 10.0).

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.2 (and later) does not work with a 603 or 604 CPU either. I have done some work to try to fix this, but it seems unlikely that this problem will be solved. The workaround is to install a G3 or G4 upgrade card.

  If you install a G3 or a G4 upgrade, you will need some software to enable the L2 cache in Mac OS X. You can use my L2CacheConfig software, or the PowerLogix cache control software, which is also free. Your computer will work without enabling the L2 cache--it will just be slower.

  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. However, it is not possible to change the volume globally (you can change the volume in applications such as iTunes). 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.

  Sound in does not work yet (at least, for most people -- there are cases where it does).

  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:

- Is my data backed up?
- If something goes wrong, do I have time to troubleshoot it right now?

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

- Insert the Mac OS X Install CD (or Darwin, or Mac OS X Server, as the case may be)
- Launch XPostFacto
- Select the target volume that you want to install Mac OS X to
- Select the Install CD you want to use
- Click on the "Install" button
- Sit back and watch the action

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.1 to 10.2, or 10.2 to 10.3), 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.1 to 10.1.5), 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

Version 3 of 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).

### 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

XPF 3 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 3 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.

- Reboot with the option-key down. This should return you to Mac OS 9.

- If that does not work, reboot with command-option-shift-delete held down.

- If that does not work, you can try inserting the Mac OS 9 CD and booting with the "c" key down.

- If that does not work, and you are using a G4 upgrade card, you could try booting from the "emergency floppy" that most of the card manufacturers include with the card. (This will help if speculative processing is the issue). Alternatively, you can try reinstalling your original CPU card.

- If that does not work, you may need to zap your parameter RAM. The simplest way of doing this is to hold down the command-option-p-r keys while rebooting. The computer will "chime" while it zaps parameter RAM. Allow it to chime several times, and then release the keys.

- If this does not work, then you may need to press the CUDA reset button on the motherboard for 30 seconds. The CUDA reset button is a small red button usually located near the processor card.

- If that does not work, you may need to unplug the computer, remove the motherboard battery, and leave it out for some time. Then reinstall the battery (and make sure to orient it correctly). The amount of time required varies--sometimes it can be as little as few hours, but in other cases you may need to leave it overnight.

- It that does not work, it sometimes helps to install a new battery, and try the "zapping parameter RAM" or "pressing CUDA reset button" steps 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.

### 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 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.

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

## License

BootX and most of the kernel extensions which are installed by XPostFacto are subject to the Apple Public Source License.

XPostFacto itself is subject to the following license:

> Copyright (c) 2001, 2002, 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 the link to Other World Computing's web site in the application's "About Box."

> 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.

## Download Links and Version History

3.0b2 (July 13, 2004)

  Here's a quick summary of what's new in version 3.0b2.
  - XPF will now provide warnings about certain conditions which might cause problems -- for instance, the 8 GB limit, volumes formatted in manner that may not be bootable, and missing or corrupt symbolic links.
  - There is now a volume inspector window, which you can access by double-clicking on a entry in XPF's volume list (or by using the Window menu).
  - Using the volume inspector window, you can now override the ATA bus or SCSI bus that XPF thinks a volume is attached to. The background is that in Mac OS 9, there is no completely deterministic way to match a volume with an ATA bus or SCSI bus -- generally, XPF gets the matching correct, but there are cases where XPF gets it wrong. The volume inspector allows you to manually override XPF's choice (which is indicated as the underlined item in the popup menu). Do let me know about situations in which it is necessary to do this, as it may be possible to fix XPF so that it will choose the correct bus on its own.
  - XPF now checks whether the symbolic links /tmp, /var and /etc have been properly created on a Mac OS X Volume, and gives a warning if problems are detected. In some cases, it is possible to fix those links with the "Fix Symbolic Links" command in the "Install" menu.
  - XPostFacto now uses balloon help (in Mac OS 9) and help tags (in Mac OS X), rather than the "custom" help mechanism it had been using previously. You can use the checkbox in the lower right corner of the XPF windows to turn help on and off.
  - XPF handles volumes with identical creation dates and sizes better, though some anomalies may still remain.
  - Updated the code which installs BootX and checks whether BootX has been properly installed.
  - XPF does a better job of recognizing Darwin Install CDs. However, further testing with Darwin installs is required.
  - XPF does a better job of distinguishing volumes with identical creation dates and sizes. However, some anomalies may remain.
  - XPF now keeps track of the preference whether to boot into Mac OS 9 or Mac OS X. If the current NVRAM setting is inconsistent, then XPF asks the user whether to save the preferred setting.

3.0b1 (June 7, 2004)

  Here's a quick summary of what's new in version 3.0b1.
  - Made technical changes in the way that XPostFacto makes the install process work on the Beige G3's and Wallstreet Powerbooks.
  - Incorporated Joe van Tunen's patch to get the hardware cursor support working in Jaguar for built-in video on the 7300 etc.
  - Added power management code to the AppleGrandCentral driver (thanks again to Joe van Tunen), with the result that drives on the internal SCSI bus will now spin down (if you set the Energy Saver prefs for them to do so).
  - Added a reminder window to remind users to register.
  - Made the preferences system a little smarter about using NVRAM settings in some cases where the NVRAM is not consistent with what is in the prefs file.
  - Eliminated the "-c" boot-command setting for OWCCacheConfig, as it was not really necessary any longer (since XPF is now installing or deleting OWCCacheConfig, depending on the preference).
  - Minor change to XPFStartupItem so that it will log the reason why it thinks synchronization is necessary.
  - Partially fixed the problem using Firewire CD-ROM drives from Mac OS 9.
  - Fixed a problem with retaining the helper disk preferences in some circumstances.
  - Fixed a problem with the XPF startup item which sometimes interfered with the install process.
  - Included a new kernel extension (PatchedRagePro.kext) to help with video issues affecting Wallstreet Powerbooks. The new extension is not installed by default -- you can enable it with the "Use PatchedRagePro" option in the Options Window. When enabled, the extension does two things. For video with a device-id of 0x4C50, it activates the ATIRagePro.kext. This is the equivalent of the Info.plist modification described at XLR8YourMac, except that it doesn't actually modify ATIRagePro.kext. For video with a device-id of 0x4C47, it disables the ATIRageProGA.plugin, which seems to solve a problem with using "thousands" of colours. This is meant to help partly solve the video issues affecting some Wallstreet configurations, though it is not necessarily a complete solution.
  - Modified the install process so that XPF will not delete obsolete kernel extensions that are currently installed until the fresh install has succeeded.
  - Shows error message if you run XPF on a system that XPF doesn't work with.
  - Warns user in cases where a CPU upgrade is required.
  - Upgraded the custom BootX version with code from Apple's latest BootX (BootX 59.1.1). This will now use some additional caching techniques, which may speed up the boot process somewhat.

3.0a17 (April 13, 2004)

  Here's a quick summary of what's new in version 3.0a17.
  - Includes OpenChips65550Framebuffer.kext, which is a Panther video driver for Kanga (the original Powerbook G3). So far, only 256 colour mode works properly -- I will work on 16-bit colour support. Panther appears to be mostly working on Kanga now, though there may be issues with PC Cards.
  - PatchedBlockStorageDriver disables itself if Mac OS X 10.3.3 is installed. It seems that PatchedBlockStorageDriver is no longer necessary with 10.3.3, and it appears to cause problems in some circumstances.
  - Hopefully the "permissions" error which sometimes affected installation has been solved. If you have been stuck with that error in a previous installation attempt, use the "Check Permissions" command under the new "Cache" menu to fix it.

3.0a16 (March 29, 2004)

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

  - Experimental Panther support for built-in video on the Beige G3s. Note that it is not well tested yet, so unless you are keen on testing it for me, you should wait a little while for reports to come in.

  - Updated BootX with a few more error messages when things go wrong.

3.0a15 (March 25, 2004)

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

  - I have (finally) switched to Panther for my day-to-day work, and am now building BootX and the kernel extensions with XCode in Panther. This appears not to have introduced any new problems. See the updated developer notes if you are building the extensions yourself.

  - BootX has been updated to make use of additional memory in the boot process (it now assumes 96 MB of RAM). I have also modified BootX to provide more useful diagnostic messages when it fails to boot properly.

  - XPF 3 now mostly works with 10.0 and 10.1, as well as 10.2 and 10.3. One remaining limitation is that the XPF application will not launch in 10.0 (but it can install 10.0 if you launch XPF from Mac OS 9). There may be other limitations which apply to 10.0 and 10.1, but it mostly seems to work.

  - Updates the PatchedBlockStorageDriver to deal with a potential issue with Mac OS X 10.3.3.

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.

  - Hopefully, the "Panther SCSI bug" is now fixed (volumes not always appearing in Panther, especially SCSI volumes). This is by way of the PatchedBlockStorageDriver installed by XPF 3.0a13.

  - Reverted the nvram patch for some of the Beige G3's to match Apple's version -- I had previously made some changes which appear to have caused problems for some people.

3.0a12 (March 3, 2004)

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

  - A video driver for the built-in video on the 7300 - 9600 series (at least, those which have built-in video). This is the OpenControlFramebuffer.kext, which will be installed by XPF 3.0a12.

  - Fixed an issue with the installation procedure -- version 3.0a11 had inadvertently failed to install BootX when doing a fresh Mac OS X installation, which led to several difficulties.

3.0a11 (January 14, 2004)

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

  - 1009 - Bless Mac OS 9 System Folders.
    XPostFacto now has a "Bless Mac OS 9 System" menu command, which will re-bless the Mac OS 9 System Folder on the selected volume. (The Mac OS X Installer blesses the CoreServices folder instead, which is not necessary on Old World machines).

  - 1118 - Startup item should re-bless Mac OS 9 System Folder.
    The XPFStartupItem now automatically re-blesses the Mac OS 9 System Folder on the root volume if it detects that the CoreServices folder has been blessed instead. This should prevent the problems caused when the Mac OS X Installer blesses CoreServices.

  - 1210 - Put "Options ..." in a menu (and perhaps "Restart ..." and "Install ...").
    1288 - XPostFacto App window too large for 640x480 display.
    There is now a "Window" menu in XPostFacto which gives access to the Log Window and the Options Window. This helps deal with 640 x 480 resolution, where the "Options..." button is off-screen.

  - 1303 - OWCCacheConfig tests not working right on cold boot with G4/700.
    OWCCacheConfig was not detecting the correct cache values with a G4/700 on a cold boot (a warm boot worked fine). So I changed the strategy for detecting cache values for the L3 cache -- I'm now assuming a 200 MHz cache speed. Also delayed the cache testing until an accurate CPU speed is determined.

  - 1337 - AppleMaceEthernet slower in 3.0a10 versus 3.0a9.
    Fixed performance problem introduced in Ethernet driver in 3.0a10.

  - 1338 - OpenPMUPCCardEject.kext not loading in 10.3.2.
    Fixed a problem loading the OpenPMUPCCardEject.kext in 10.3.2.

  - 1339 - Mac OS X version sometimes fails to find Open Firmware name.
    XPostFacto is now using a slightly different strategy for finding the Open Firmware name of a volume -- this fixes some cases where the Mac OS X version was unable to find an Open Firmware name.

  - 1352 - Should delete extensions cache when installing extensions in Mac OS 9.
    Deletes the extensions cache when installing extensions in Mac OS 9, to make sure that the extensions cache gets updated.

  - 1364 - Improve BootX installation.
    When installing BootX, XPostFacto now makes sure that the partition entry indicates that the partition is bootable, and that the boot-blocks are installed on the volume.

  - 1375 - Only take the boot-device and helper preferences from NVRAM.
    XPostFacto had been taking some preferences from NVRAM, rather than the preferences file. However, the Mac OS X Installer makes changes to NVRAM, so it is better to take most preferences from the prefs file.

  - 1378 - Make sure that input-device and output-device are set if auto-boot is false.
    If auto-boot? is false, you need the input-device and output-device set to control the boot process. So XPF now ensures that auto-boot? is true, unless you have the input-device and output-device set.

  - 1415 - Only synchronize when necessary.
    XPostFacto used to use an optimized copy routine to synchronize extensions with the helper every time. Now, it checks the modification dates and only synchronizes when necessary. And, when synchronizing, it does a full copy rather than an optimized copy (since the optimization didn't save that much time and was a potential source of problems).

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.

  - 1022 - Install only those items needed for a particular Mac OS X version.
    XPF now only installs kernel extensions which are needed for a particular version of Mac OS X. This will eliminate some spurious error messages in the startup process.

  - 1126 - Ethernet shows up as "cable not attached" in Panther network status.
    Network preferences will no longer say that the Ethernet cable is not attached to built-in Ethernet. (I'm not actually successfully detecting whether the cable is attached yet, but it's probably better to say that it is than that it isn't).

  - 1153 - Mac OS X version crashes in OFAliases:aliasFor
    Fixed a bug which caused XPF to crash with the Sonnet ATA 4.0 firmware installed.

  - 1159 - Should ask users about installing new versions of extensions etc..
    Version 3 had been automatically installing things on a current Mac OS X installation without asking first. On reflection, this is bad manners, so XPF will now ask before installing anything. XPF will automatically check for things that need to be installed at two points: at launch, and when saving preferences. If there are things that need to be installed, XPF will display a dialog box to ask the user to confirm the install.

  - 1196 - XPF should use decimal, not hex, for partition number on Firewire devices.
    Fixed the way that XPF constructs Open Firmware names where a volume has 10 or more partitions.

  - 1199 - Should default OWCCacheConfig to "off" until it's working better.
    Default to having OWCCacheConfig turned off, rather than on, since it causes trouble for many, and needs to be fixed.

  - 1205 - Permissions on Library and tmp.
    Fixed the permissions which XPostFacto sets for the /Library directory.

  - 1211 - PC cards not ejecting in Panther.
    Incorporated the missing kernel extension from 10.2 which controlled the ejection of PC Cards.

  - 1212 - BootX uses "screen" alias for output, rather than the output-device.
    Fixed the problem which caused the boot video on video cards on Beige G3 computers to appear late in the boot process.

  - 1275 - NVRAM patch resource not accounting for GossamerDeviceTreeUpdater.
    Fixed a problem which prevented the Mac OS X version of XPF from working properly on the Beige G3 and Wallstreet Powerbooks.

  - 1312 - Add "uninstall" feature.
    XPF now has an "Uninstall..." menu command, which you can use to uninstall the things that XPF has installed on a volume. The one exception is BootX -- what would be required in order to uninstall BootX would be to reinstall an original BootX, and I haven't implemented that yet.

  - 1314 - GossamerDeviceTreeUpdater won't load in 10.3.2
    Fixes a problem with the Beige G3 and the 10.3.2 update (the GossamerDeviceTreeUpdater wasn't loading in 10.3.2).

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.

  - 855 - OWCCacheConfig causes kernel panic for G3 and G4 CPUs (but not the 74xx).
  - 856 - Mac OS X version cannot install BootX.
  - 865 - Add version information for kernel extensions and startup item.
  - 867 - Splash screen does not always draw.
  - 870 - Volume selection improvements.
  - 871 - Should offer to write NVRAM when closing.
  - 873 - Check to make sure that "sleep" is disabled.
  - 874 - Offer reboot into Mac OS 9?.
  - 900 - Backlight not working on TAM.
  - 927 - Should warn earlier if NVRAM space insufficient for settings.
  - 928 - Progress bar should show progress.
  - 935 - Newly mounted volume not showing up right away in Mac OS X.
  - 937 - Make OWCCacheConfig respect the "-c" boot argument.
  - 956 - Mac OS X version not launching if disk image mounted.
  - 966 - XPF thinks the DiskWarrior CD is an Install CD.
  - 983 - Add "recopy helper files" command.
  - 985 - Restart in Mac OS 9 when synchronization necessary.
  - 990 - Fix interaction between XPostFacto and xpfbootsupportd.
  - 1066 - Mac OS X version will not launch if non-ASCII character in path.
  - 1076 - Mac OS X version sometimes launches in background.
  - 1114 - Add romndrv=1 option (to get Panther to use old NDRVs).

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).

  - 858 - Mac OS X version should construct Open Firmware names in the same way as Mac OS 9 version.
  - 861 - Test support for BootCD.
  - 866 - Update Extensions.mkext when installing extensions in Mac OS X.
  - 875 - Launching URLs doesn't work in the Mac OS 9 version.
  - 883 - Cannot eject disks while XPostFacto is running.
  - 897 - Volume list should show why some drives are not bootable.
  - 908 - Must turn off "ignore ownership" before installing extensions etc..
  - 910 - Make "debug" options available to facilitate testing.
  - 912 - Volume scroll list does not scroll selected volume into view upon launch.
  - 913 - Volume scroll list should scroll in proper increments.
  - 926 - Use application font (not system font) in log window.
  - 929 - Ownership of created directories wrong in Mac OS 9 version.
  - 930 - Newly mounted volume not showing up right away in Mac OS 9.
  - 932 - Fix deletion of Extensions.mkext from helper when deleted from target.
  - 934 - xpfbootsupportd crashes AFTER successfully updating the Extensions folder.
  - 943 - Need icon for Mac OS X version.

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):

  - Now launches in Mac OS X as well as Mac OS 9.
  - Should be able to boot from Firewire drives, using the "helper" mechanism.
  - Should be able to boot any CD that would boot on a supported system.

  Not implemented yet:

  - L2/L3 cache configuration (almost done, but some bugs remain to be found).
  - Panther support (Mac OS X 10.3).
  - USB booting.
  - AppleEvent support.
  - Additional platform support (Starmax etc.).
  - Some user interface elements.

  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)

  - Fixes a problem with certain SCSI cards which use multiple busses (in particular, some of the ATTO cards).
  - Works better in situations where the settings had previously required too much space in NVRAM

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)

  - Fixes a couple of problems with Darwin 6. Will now recognize the Darwin 6 Install CD as an installer. Also, will automatically boot in verbose mode when booting Darwin.
  - Will now find the correct Open Firmware name for the Sonnet ATA/100 card with the 2.3.5 firmware applied. Users report that the boot process still fails, though, so further investigation is required.

2.2.2 (September 12, 2002)

  - Fixes the problem starting Classic in Mac OS X 10.2. Remember to reinstall the extensions in order to apply the fix. (You can do this from within Mac OS X now by launching XPostFacto).
  - Uses a little less NVRAM when installing.

2.2.1 (September 2, 2002)

  - Updated the custom BootX to use the new boot graphic from Mac OS X 10.2. This looks a little odd when used with Mac OS X 10.0 or 10.1, but it works OK.
  - Added a "debug" preference to show panic text, rather than the new panic dialog.
  - Fixed the problem with the SCSI bus on unsupported Powerbooks.

2.2 (August 23, 2002)

  The changes since version 2.2b17 are as follows:

  - Fixes problem with booting from external SCSI drives in Mac OS X 10.0.
  - Only allows the "install" button to be used with the Install CD (not "restart").

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

  - Support for Mac OS X 10.2 (aka Jaguar).
  - Partial support for the original Powerbook G3, the 2400, and the 3400. (There are still some significant limitations).
  - Support for the Beige G3s.
  - Support for some additional PowerComputing models.
  - Support for leaving onboard video disconnected when using a video card.
  - Support for UltraTek IDE cards (along with OWC's firmware update).
  - The "throttle" feature, which slows down the CPU in the earliest part of the boot process, and helps booting some SCSI devices when using a CPU upgrade card.
  - No longer panics on first reboot after clean install.
  - Better documentation.

2.2b17 (August 18, 2002)

  - Fixes the "file not found" error when trying to install Mac OS X 10.0 (the error was introduced in version 2.2b15).
  - Fixes the "squished cursor" problem when using Jaguar with onboard video.
  - Extensions built with the Jaguar development tools and headers.
  - Minor updates to BootX to synchronize with Apple's changes.
  - Uses slightly less NVRAM when setting up the install.
  - Is now able to install the current version of the extensions while running in Mac OS X. This takes the place of the "package" file which was formerly included.

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)

  - Fixes the "kernel panic on first reboot after clean install" problem.
  - Better compatibility with Mac OS X 10.2.
  - On the Beige G3s, saves some space in the NVRAM patches (at the expense of net-booting).

2.2b14 (July 10, 2002)

  - Fixes several problems which affected the Beige G3s.
  - May work with additional PowerCenter models, if they have video cards installed.
  - Integrates this documentation into the application itself (see the 'Help' menu). This makes it possible to distribute XPostFacto as a single application file.

2.2b9 (June 29, 2002)

  - Permits unsupported Powerbooks to use Mac OS X 10.1.1 and later. However, sleep now crashes the system (in previous versions, sleep did not work, but at least it failed gracefully). So you will need to avoid sleep for the time being.
  - May now work with the Beige G3. Ordinarily, Mac OS X should just work with the Beige G3, but there are some cases in which the Beige G3 has problems that XPostFacto may be able to help with. XPostFacto is untested on Beige G3s, so if you try it, let me know how it works.
  - Has some limited support for the 6400 and 6500. My 6500 still has problems with the SCSI bus, so booting from a CD does not work. So the 6400 and 6500 support is mostly for people who want to work on the problems, rather than the ordinary user.
  - A great deal of restructuring in the source code of the XPostFacto application. Some things may have been broken in the process--let me know.
  - A "debug" menu, for accessing certain debugging features in the Mac OS X kernel. If you do not know what the options mean, just leave them unselected.
  - Better error messages if you launch XPostFacto in Mac OS X or in Mac OS 8.x.
  - The "prepare a custom CD" feature is gone for the moment. It did not work with recent versions of the install CD. I should be able to fix this, but have not gotten around to it yet.
  - Source code now in the cvs repository at http://www.opendarwin.org/

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)

  - Beta-level support for the original Powerbook G3, the 3400 and (possibly) the 2400.
  - Fixes for the "kernel panic if nothing connected to onboard video" problem. (The ATI driver update will still be needed for some ATI cards, however).
  - Will permit installation onto drives connected to the UltraTek IDE card (with the OWC/FirmTek upgrade applied).
  - Fixes a problem installing Darwin 1.4.1.
  - Fixes a problem with Mac OS 9.2.x.

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