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).
Here's what is new in version 4.0:
- Supports Mac OS X 10.4 (Tiger)!
- Runs on Mac OS 9.x or 10.2 through 10.4.
- Will install Mac OS X 10.2 through 10.4.
- Works with "New World" machines that Apple dropped support for in 10.4 (such as the original iMac, original iBook, and the Lombard Powerbook).
- Avoids the mis-application of the 8 GB limit on "Old World" machines by the Mac OS X Installer.
Here is a partial list of known problems with the current version of XPostFacto. You can also consult the bug list directly.
- In some cases, people have found it necessary to remove a Firewire card when installing Mac OS X 10.4 (Tiger). It is sometimes possible to reinsert the Firewire card after installation is complete.
- It appears that the original iMac with certain CPU upgrades has a problem with the Firewire driver in Mac OS X 10.4. Removing the Firewire driver is a workaround in that case (at the expense of the loss of Firewire functionality).
- 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 (I have made this the default setting for now). There are several other options for enabling the L2/L3 cache -- the forum contains a HOWTO on this topic.
- 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.
- 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. It is possible that version 3.1 will help with at least some cases of this problem.
- 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.
- 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. It is possible that the new audio driver in version 3.1 will make a difference with this problem.
- 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.3 (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.
- XPF tries to detect whether you formatted your disk with Apple's Drive Setup or Intech's Hard Disk SpeedTools, but sometimes will generate a spurious warning (i.e. warning that you should use Hard Disk SpeedTools when you already have).
Table of Contents
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.
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.
- The original iMac, original iBook and Lombard Powerbook
These models were supported by Apple in Mac OS X 10.0 through 10.3, but Apple dropped support in 10.4. However, XPostFacto can get these machines working with Mac OS X 10.4 (Tiger).
- 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 does not work in Mac OS X 10.3 or later.
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 (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.
- Video cards
Some video cards are problematic in Mac OS X. Check the compatibility page for details. In Mac OS X 10.3 and later, 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 / 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.
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.
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.
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).
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.
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).
I have not tested the internal modem in the Powerbooks--I suppose I should!
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.
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?
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.
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).
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.
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.
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.
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.
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.
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 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.
Here are some tips you can use if you run into trouble.
The most important tip is to consult the tech forum -- it is an extremely useful resource.
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. The timing of holding the option-key down is sometimes a little tricky -- you may need to experiment a little, or in some cases you may need to tap the option-key repeatedly to get the timing right (in other cases, you can just hold it down).
- 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. Sometimes doing this from a "cold-start" (i.e. after power has been off) is more successful than a "warm-start" (i.e. by pressing command-control-powerkey to reboot). Also, the timing of pressing comand-option-p-r can sometimes make a difference -- sometimes you have to try a couple of times before you get the timing right.
- 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.
- Sometimes it helps to temporarily replace the video card with an older video card (or simply remove it temporarily and use built-in video).
- Sometimes it helps to rearrange PCI cards or memory chips.
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.
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:
- 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).
- 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.
- 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.
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
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.
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.
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.
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:
- 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.
- 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.
- 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").
- 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
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.
The free distribution and use of this software in both source and binary
form is allowed (with or without changes) provided that:
- distributions of this source code include the above copyright
notice, this list of conditions and the following disclaimer;
- 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;
- the copyright holder's name is not used to endorse products
built using this software without specific written permission.
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.
4.0 (September 2, 2005) (or in the older .sit format)
Here's what is new in version 4.0:
- Supports Mac OS X 10.4 (Tiger)!
- Runs on Mac OS 9.x or 10.2 through 10.4.
- Will install Mac OS X 10.2 through 10.4.
- Works with "New World" machines that Apple dropped support for in 10.4 (such as the original iMac, original iBook, and the Lombard Powerbook).
- Avoids the mis-application of the 8 GB limit on "Old World" machines by the Mac OS X Installer.
There are two changes from version 4.0b5.
- Fixed a bug which caused problems when trying to install from a CD/DVD that had been copied to a writeable drive.
- Fixed a problem with the XPostFacto startup item on "New World" machines.
4.0b5 (July 10, 2005) (or in the older .sit format)
Here's what is new in version 4.0b5:
- Fixed a bug which sometimes failed to update the XPostFacto kernel extensions when booting from a CD or DVD.
- Switched to using the 10.2 headers and GCC 3.3 to compile the kernel extensions. This means that XPostFacto 4 now requires Mac OS X 10.2 or later. This appears to fix a problem loading certain kernel extensions at boot time on the Wallstreet Powerbooks.
4.0b4 (June 20, 2005) (or in the older .sit format)
Here's what is new in version 4.0b4:
- Fixed the "file is locked" problem when doing a reinstall of Tiger.
- Fixed warning messages to take the helper disk into account as well as the target disk.
- Fixed several bugs related to text encodings -- should avoid some errors on non-English systems.
4.0b3 (June 6, 2005) (or in the older .sit format)
Here's what is new in version 4.0b3:
- Disabled the new "boot-uuid" code in BootX, as it appears to have been causing problems in some configurations.
- Wallstreet Powerbooks should now successfully pretend to be "New World" machines (for the purpose of avoiding the overzealous application of the 8 GB limit). Remember that the 8 GB limit is real for the IDE bus on the Wallstreet Powerbooks, so you should heed XPostFacto's warning about that if you see it.
- Fixed the problem launching XPF 4 under Mac OS X on the Wallstreet Powerbook.
- Hopefully fixed a problem when installing from an Install CD that has been copied to a partition on your hard drive. To test this, you would need to copy the CD again before trying the install.
- Ensure that the GossamerNDRVSupport extension loads during "Safe Boot", to avoid a kernel panic.
- Hopefully fixed the iMac support, so that the Tiger installer will be successfully tricked into performing the install.
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:
- Tiger support!
- XPostFacto now works with "New World" machines as well as "Old World" machines. This is particularly useful for use with the original iBooks, the original iMacs, and the Lombard Powerbooks, because Apple has dropped support for those models in Mac OS X 10.4. It is also useful with the Blue & White G3's, as it enables Firewire booting on that model (with the use of a "helper" drive).
- The Mac OS X Installer will no longer complain about the 8 GB limit. (It used to complain about the 8 GB limit even in cases in which it wasn't really a problem). The downside is that there are some cases where the 8 GB limit really is a problem -- XPostFacto will attempt to warn you of those cases, but it may not catch all of them.
- XPostFacto avoids the Installer's overzealous application of the 8 GB limit by pretending to be a "New World" machine. This has a side-effect on the way in which Mac OS X reads and writes NVRAM, but XPostFacto installs a kernel extension which translates between "Old World" and "New World" NVRAM structures. There may be other side-effects that I'm not aware of.
- The XPostFacto user interface will now allow you to select a specific Mac OS 9.x volume to boot from. On "New World" machines, this actually works -- on "Old World" machines you will boot from one of the Mac OS 9.x volumes, but not necessarily the one you select.
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:
- Makes the new audio driver for the 7300 - 9600 series work with Mac OS X 10.2.
- Eliminates the (no longer applicable) warning about the 603 and 604 CPU on Mac OS X 10.2.
3.1a1 (February 15, 2005) (or in the older .sit format)
A quick summary of changes in 3.1a1:
- Includes a new audio driver for the 7300 - 9600 series that enables volume control, and partly enables audio input (microphones are mostly working, but there appear to problems with line-level inputs). The new driver is also more efficient in some respects than the previous driver. This is courtesy of Ben Ralston's efforts in this area.
- Includes modifications to BootX that permit Mac OS X 10.2 to work with 603 and 604 CPUs. (Mac OS X 10.3 still doesn't work unless you have a G3 or G4 upgrade). Peter Caday figured out what the problem in 10.2 was.
- Minor modifications to XPFStartupItem.
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.
- Make sure the XPostFacto updates all the kernel extension caches when installing extensions. Also, check for several problems which can affect the caches.
- When synchronization fails, set the computer to reboot in Mac OS 9 for safety, and do not proceed with the restart.
- Hopefully fix an error which caused XPF to sometimes stall when an network drive was mounted.
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.
- 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.
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):
- 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