Linked by Thom Holwerda on Mon 24th Apr 2017 22:40 UTC
Mac OS X

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.

Order by: Score:
Comment by Drumhellar
by Drumhellar on Mon 24th Apr 2017 23:08 UTC
Drumhellar
Member since:
2005-07-12

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.

Reply Score: 3

RE: Comment by Drumhellar
by neozeed on Tue 25th Apr 2017 02:47 UTC in reply to "Comment by Drumhellar"
neozeed Member since:
2006-03-03

Thanks! Always glad to have a fan!

Reply Score: 3

super cool to get mentinoed here!
by neozeed on Tue 25th Apr 2017 02:25 UTC
neozeed
Member since:
2006-03-03

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.

Reply Score: 2

malxau Member since:
2005-12-04

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

Reply Score: 2

neozeed Member since:
2006-03-03

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/https://developer.ap...

The Summer 1999 ADK has the Darwin 0.3 source on CD. And I know rabbid Apple fans love to packrat away stuff like this, so I asked around some Apple sites, and got a hit that someone had seen a file called Darwin-0.3.toast on a p2p network called KDX. So with that much information I was actually able to find it. After that it was a matter of getting Basilisk II to read the image, and copy the files out to a server, then mounting that with Rhapsody, and start building stuff.

Reply Score: 3

malxau Member since:
2005-12-04

Yeah, I know a lot of the history. Going to WWDC in 2000 meant working through these changes, not phone apps. Although I hadn't realized they totally replaced the kernel in DP3; they did tell us about Mach 3 but I hadn't internalized what that meant.

I'm sticking with the claim though that x86 versions of the xnu kernel were out and about, way before Apple moved to Intel hardware. See things like http://www.opendarwin.org:80/en/downloads/" rel="nofollow">https://web.archive.org/web/20060718154615/http://www.opendarwin.org... which showed they had an x86 Darwin 1.3.1 build. Obviously these wouldn't run DP2 userland, but they did run things like X.

Reply Score: 2

neozeed Member since:
2006-03-03

It's not surprising they not only had it running on intel, but showed it off. The earliest available I could find was 1.4.1

https://opensource.apple.com/static/iso/release-notes-1.4.1.txt

http://opensource.apple.com/static/iso/" rel="nofollow">http://web.archive.org/web/20090903180055/http://opensource.apple.c...

So yeah, not surprising there is other builds, but I never went to the ADC's or knew anyone who was connected so from the outside I didn't even know Darwin was a thing until much much later.

Reply Score: 2

neozeed Member since:
2006-03-03

Oh yeah Darwin 0.1 was recently discovered on a mirror of a dump of a wget of Apple's original ftp.

It looks incomplete, and the driverkit is from 0.2, which only took a little tweeking to get building, and another tweek to get running.

Darwin was doomed in the market of OS's as it doesn't do anything different or better than other stuff. Apple was and IS a hardware company. Giving away Darwin, and selling Aqua/Coca isn't a market, Selling new PowerBook's is.

Reply Score: 1

Just plugged another 512 MB into my G4 Cube
by rener on Tue 25th Apr 2017 14:30 UTC
rener
Member since:
2006-02-27

Guess the right time to install more things on it and "play" ;-) https://www.youtube.com/watch?v=zyHjKjF8zOs

Reply Score: 1

Is this anywhere
by Amanita on Sat 29th Apr 2017 19:58 UTC
Amanita
Member since:
2017-04-29

for download? Rhapsody always fascinated me somehow, maybe because this was the time when I started my interest in computers and happened to have an old PowerMac, so I was following the development of the Mac operating system ...

I'd love to try it in emulation (:

Reply Score: 1