So the recently recovered source code to Darwin 0.1 corresponds with the release of the PowerPC only OS X Server 1.0. However as we all found out, Darwin will still built and maintained on Intel, as it was a very secretive plan B, in case something went wrong with the PowerPC platform. Being portable had saved NeXT before, and now it would save Apple.
So with this little background, and a lot of stumbling around in the dark, I came up with some steps, that have permitted me to build the Darwin 0.1 kernel under DR2.
This is beyond awesome.
This is pretty cool. I’m a long-time fan of Fun With Virtualization.
If you haven’t checked it out, well, I suggest that you do.
Thanks! Always glad to have a fan!
Also I did a super basic ‘single user mode’ only capable image, that runs in Qemu 0.90
https://sourceforge.net/projects/aapl-darwin/files/qemu-images/Darwi…
The larger issue being that the drivers from this era really are all NeXTSTEP on intel drivers circa 1993… They made some rather aggressive decicions it would seem, and won’t run on anything fast or slightly modern. Hopefully if anything, that much can be addressed.
I was at a session in WWDC 2000 where they showed booting an Intel PC into Darwin, which at the time was 1.0; then they gave us all CDs. Unfortunately the CDs included a PPC installer, and a CD of source. I always assumed the source was complete, in that it could support cross-compilation and install manually, but it may be missing things. What should I look for in terms of drivers? Which package(s) are they in?
Edit: I see you already have all that, and posted it to your Sourceforge area. Never mind me, nothing to see here…
On a related note, where did you get the Darwin 0.1/0.3 source from? It doesn’t seem to be on Apple’s site anymore.
That said, it’s not surprising Darwin didn’t go far. As you’re suggesting, to say it’s incomplete is an understatement. Linux of the day had an installer and a graphical environment; it’s no surprise developers preferred working with that.
Edited 2017-04-25 03:44 UTC
This is where things get confusing. Darwin 1.0 is more akin to the developer previews of OS X 10, not to be confused with OS X Server 1.0 … That and the shifting version numbers just further adds to the confusion.
Rewinding a bit, First there was NeXTSTEP. the kernel went from 0.8-3.0 Things made sense. Then NeXT couldn’t afford to make black hardware so they reached out and got help with i386/sparc/hppa ports which filled in the 3.1-3.3 versions. Then there was a push to make the object frameworks of NeXTSTEP portable, which added in some changes resulting in OPENSTEP versions 4-4.2
After this point NeXT went basically software only, and hit a homerun with the now utterly defunct WebObjects, a java port of it’s EOF + other stuff.
Anyways when Apple bought NeXT it bumped things up to version 5 for Rhapsody. Rhapsody had a few developer releases DR1 as 5.1 and DR2 as 5.2. This is the last publicly available build of Rhapsody that runs on the intel processor. Everything was PowerPC from here on. OS X S Server 1.0 was then later released which is Rhapsody version 5.3. There were several updates which mostly added support for newer hardware ending with 5.6 which supported the G4 towers which had been on sale a year prior (I know as I had one at the time, G4 Sawtooth! Great machine, but OS 8.6 sucked.).
After Adobe told Apple that they were in no way going to re-write for this new OS, it forced Apple to re-think what they were doing, and the result was OS X 10.0 with it’s killer feature which was Carbon, a common API to bridge the gap from OS 9 to OS X, just as Microsoft had Win32s to bridge from Windows 3.1 to Windows NT/Windows 95.
The first releases of OS X 10.0 DP’s also used the Rhapsody kernel, however DP 3 changed things, it used the XNU kernel. And here is where the wheels come off the wagon so to speak.
The XNU kernel is different from the Rhapsody/OPENSTEP/NeXTSTEP kernel. It’s fully Mach 3, and with the IOKit C++ driver framework, while the older kernel was Mach 2.5 + various 3.0 enhancements and a 4.4BSD kernel, along with the older ObjectiveC driverkit.
It’s no wonder people get this stuff confused, and Apple forcing a re-numbering several times just added to the confusion! XNU is different enough to be it’s own thing, it’s incompatible with the older software, where as a Rhapsody kernel can use the NeXTSTEP 3.3 CD as a root, and go into single user mode, although there is all kinds of issues beyond that, but XNU won’t work at all.
As for finding this stuff, I was looking at various UNIX stuff, and going nowhere, but as you’d mentioned Apple had given out CD’s and I saw mention of this:
https://developer.apple.com/products/darwinsdk.html“ rel=”nofollow”>https://web-beta.archive.org/web/19991126015240/