
Click for SMOKING FAST SATA 6G SSDs!
Author of Xpostfacto Published: 10/31/2003 |
Ryan Rempel, author of the popular Xpostfacto (utility for installing OS X on unsupported/legacy Macs) was kind enough to answer some questions on Xpostfacto (present and future features), his favorite/least favorite Macs, Mac programmming and other topics. Q: First (for those that may not be aware), summarize what Xpostfacto is and how it works Ryan: XPostFacto is an application which allows you to install Mac OS X on some computers that Apple isn't supporting. Basically, XPostFacto installs some kernel extensions which contain the device drivers needed for the older computers. There's a little more to it than that, but that's basically what XPostFacto is about.
Ryan:
It's going pretty well now. I had been having some trouble with
pre-release versions of Panther, but now that Apple has released the
source code, I've spotted the problem and fixed it. The main remaining
problem relates to built-in video and certain video cards, but I have a
few ideas around that too.
I expect to release something within a week or so with support for
Panther on the 7300 - 9600 series. Hopefully the Beige G3 and
Wallstreet support will follow soon.
Ryan:
The "main" models that XPostFacto supports are the 7300 - 9600 series,
and the clones which were based on those models. There is also some
support for the original Powerbook G3 and the 3400, but it is quite
limited (in particular, no sleep support, which is a big issue on the
Powerbooks).
I'm also working on supporting Panther on the Wallstreet Powerbook and
the Beige G3s, and hope to get that working pretty soon.
It should also be possible to get XPostFacto working on the Starmax
models, as well as the 6400, 6500 and Twentieth Anniversary Mac, but
that is going to take a little longer -- I don't have a firm date for
that.
Ryan: Oh, there are a variety of things to keep in mind -- the XPostFacto documentation mentions a fair number of potential issues. One of the larger issues is that the 603 and 604 processors are not supported in Mac OS X 10.2 and later, so you need a G3 or G4 upgrade card if you want to run Jaguar or Panther.
Ryan: Often people will want to know why Mac OS X won't install on their particular setup. Sometimes I can figure it out, but there are cases where it remains a little mysterious. Most people who are still running these older machines will have upgraded them in various ways, so there are a lot of variables from one setup to another.
Ryan: There are a lot of Twentieth Anniversary Mac fans out there, and I hear from them fairly often. And, of course, people are very, very keen on Panther support.
Ryan:
It's taken a lot longer than I thought it would to implement that.
The problem is that Firewire PCI cards do not have any drivers on them,
and for that reason they are not bootable on older machines. On newer
machines, there is a Firewire driver in the machine's firmware that
allows for booting, but not on the older machines. And the mechanisms
for patching the firmware on the older machines are very limited.
The method I'm using to work around this is to start the boot process
from a different disk that is bootable (for instance, a SCSI disk), and
then switch to the Firewire drive at a later point in the boot process.
This is basically the same technique that I use to boot from the Mac OS
X Install CD.
The reason it's taken longer than I thought is synchronization issues.
The problem is that I need to keep the kernel and the kernel extensions
synchronized between the Firewire drive and the "helper" drive that I'm
using in the boot process. So if the user does an update (e.g. from
10.2 to 10.2.1 etc.), or installs a new driver for some new hardware,
then I need to notice that and synchronize the changes. And it turns
out that there are quite a few tricky issues to consider in doing that.
But I think I've just about got that solved -- I was doing some
testing, but then Panther intervened and I've been spending most of my
time on that lately.
The other problem is that some Firewire cards appear to have problems
on older machines in Mac OS X which affect the boot process. It appears
to relate to a problem in the Mac OS X Firewire drivers. I had been
hoping that Panther might make that better, but people have been
reporting Firewire problems in Panther even on supported machines, so
it's hard to say. It's a problem that I am going to be trying to debug,
but haven't had time to really tackle it yet.
Ryan: It's hard to come up with an exact figure for downloads, but it's in the hundreds of thousands. We've got about 2300 registered users, but we've been pretty laid back about getting users to register. With XPF 3, we're going to be encouraging registration a little more strongly. And, of course, there will be the Beige G3 and Wallstreet users to add to the mix.
Ryan:
I figure that a 300 MHz G3 is about the minimum. But the 450 MHz G4 is
better, and Sonnet's 700 MHz G4 is what I use in my 7300.
For RAM, Apple says the minimum is 128 MB, but I think that 256 MB is
more realistic. I have 384 MB in my 7300.
Ryan:
I haven't heard anything officially from Apple one way or another. But
I do have some contact with people at Apple from time to time. Some of
them are quite keen on what I'm doing, while others are less
interested. I've had some help on a few specific points, mainly through
the Darwin mailing lists.
Of course, XPostFacto would not have been possible without Darwin,
which is the open-source version of the underlying parts of Mac OS X.
Without seeing the source code, it just wouldn't have been possible to
figure out how to install Mac OS X on unsupported systems. And the
elegant design of the whole IOKit system in Mac OS X has certainly made
the process easier than it might have been.
Ryan:
Well, once I get Panther support and Firewire booting working, I'll
probably take a little rest! And catch up on user support -- one of my
biggest issues is how to divide my time between writing code and doing
user support -- it's easy to get that balance wrong.
And of course there is additional model support to work on. I'm very
keen on getting the Twentieth Anniversary Mac working, for instance.
I'd also like to get XPostFacto working on some of the supported
systems in the future, mainly for the sake of the supported systems
that can't boot from Firewire drives otherwise. And there are nagging
issues such as sound input, which hasn't been working properly in most
cases.
So, there are a fair number of things to keep me busy!
Ryan:
Hmm. That's a good question, and I don't really have an answer.
Traditionally, there are more legacy Macs around (by percentage) than
legacy PC's, because Macs tend to have a longer useful life, for a
variety of reasons. For some people, at least, there there is something
neat about working with older hardware. To some extent, it is
culturally conditioned -- there is a particular interest in XPostFacto
in Japan and Germany, for instance. And even if you buy a new machine,
there is often some good use that the older machine can be put to.
Ryan:
Still my 7300, which I bought new in 1997. It's been upgraded a little,
though :-)
I've also got (at last count) 12 other computers, most bought on eBay,
that I use for testing and development. My only supported computers are
a Blue & White G3, and an iBook, which I use quite a bit when away from
home.
Ryan:
I think the Mac I remember most fondly was the Powerbook 100. It was a
really nice little package back then -- not very impressive by today's
standards, but at the time I remember being very fond of it.
Now that I have a Twentieth Anniversary Mac, I think the Mac I most
long for is a Cube. Hopefully Apple will stop supporting it someday, so
I can buy one :-)
My least favourite Mac would be my Powerbook 5300. That gave me no end
of trouble.
Ryan: I'm a big fan of Carbon Copy Cloner. I met Mike Bombich at Macworld last January, and it was fun to talk about developing for Mac OS X. DiskWarrior has always done a great job for me. I use BBedit a lot for programming. (We posted an Interview with Mike Bombich last week.)
Ryan:
Well, I guess I'm pretty fond of their "old" hardware :-)
As for software, I'd love to see Apple "embrace and extend" something
like OpenOffice. Like what they did to create Safari out of KHTML.
There is a lot of scope these days for contributing to open-source
projects, or adding value to open-source projects in a variety of ways.
Ryan: For the kernel extensions, I've been using Project Builder, but I imagine I'll switch to XCode eventually. For the XPostFacto application itself, I use CodeWarrior, since I need to produce a Mac OS 9 version (of course).
Ryan: XCode looks great, but I haven't done very much with it yet. I've got enough on my plate at the moment without trying to switch development tools :-)
Ryan:
I've never had any formal education as a programmer, but it's been a
hobby since my parents bought an Apple IIe when I was in high school.
So I've basically picked things up as I needed to (which means there
are enormous gaps in my knowledge that might have been filled by some
education). But I suppose it's given me a knack for figuring things out.
I guess my pattern has been to spot something that needs doing, and
then figure out how to get it done. For instance, my wife Joanne was
working for Mennonite Central Committee
I was working for the Canadian Department of Justice at that time
(well, I still am), and our particular unit had a really
labour-intensive way of keeping track of correspondence and files and
the like, so I designed a database that simplified things considerably
(using Microsoft Access, which I thought was a pretty neat thing at the
time). They're still using it, and they say it's better than anything
they've been offered since, which is pretty amazing.
When Mac OS X Public Beta came out, it would install on my 7300, but
the L2 cache on my G3 upgrade card wasn't enabled. So I decided to try
and figure out how to do that. Once I got that working, I suppose it
was inevitable that I would take a crack at getting the final version
of Mac OS X to work as well.
Ryan:
For learning how to program applications using Cocoa, I'm very fond of
the Vermont Recipes (written by another lawyer, oddly enough). For the kernel programming side of
things, you basically need to work through Apple's documentation, which
is getting better all the time. And the Darwin mailing lists are an
enormous help.
But my main advice would be to find an open-source project that you're
interested in, and delve into it. Really, the best way to learn to
program is to read good code and try to understand what it's doing.
Basically, everything I know about kernel programming was learned by
reading Apple's code and trying to figure out how everything was
connected to everything else. So find a project you're interested in,
figure out how it works, and then contribute something. It's great
practice, and it can help get you noticed, too :-)
For more info or to download the latest version of Xpostfacto, see http://eshop.macsales.com/OSXCenter/XPostFacto/
The next interview planned in with Alsoft's "AL". (Thanks to Matthew Culmore for taking charge of that one.) Stay tuned... |
(site sponsor)
= HARD DRIVES =
ISP/VOIP ![]() |
= Other Site Topic Areas =
|
|
All brand or product names mentioned here are properties of their respective companies. Legal: Site Privacy and terms/conditions of use. |