Update 2020: If you want to skip all this, I have a pre-made OpenStep 4.2 Virtual Appliance (OVA) for Oracle VirtualBox that is ready-to-use with apps, games and pre-configured networking. Download it here.
I’ve been hankering to learn more about the origins of OS X, so I figured the best place to start would be the OS at its core — NextStep (later named OpenStep.)
When Steve Jobs was ousted from Apple, he set out to create a new company that would deliver elite hardware, and a revolutionary operating system. NeXT was started to build powerful hardware and software that would leapfrog the Mac (and everyone else on the market.) They eventually had to kill off the hardware line (after making some very nice, uber-high-end machines) but the software they made changed the industry. It was on a NextStation computer, using the NextStep OS that Tim Berners Lee would invent the World Wide Web, and its the true Object Oriented approach of the OS that many companies have imitated or borrowed.
By the mid-90s Apple was in truly rough shape. Their archaic OS, once the greatest thing on the market, was showing its age, and Apple had tried, and failed (mostly due to mismanagement) to replace it. It was determined that they should buy an existing next-gen OS, and re-build on top of it. After flirting with IBM and BeOS, Apple settled on a deal with NeXT — a deal that grew until Apple acquired the company, re-acquiring Steve Jobs in the process. He became the iCEO (interim CEO) and the de-facto leader of the company. Existing ideas were rapidly brought over from the Mac onto NextStep/OpenStep, layered on top of its rock-solid BSD Mach microkernel, Object Oriented underpinnings, and a re-vamped version of its graphics layer, was a new Interface, and a Classic emulator to allow old Mac apps to run.
The end product, after many variations, pre-releases, betas, and one or two fairly ugly general releases, was what we know today as Mac OS X. Much of NextStep is still intact, including low-level OS APIs, visual and development concepts, and culture.
If you’re interested in getting NextStep up and running in VMWare (I’m using a Windows Vista 64-Bit Host OS, but these steps should work with most versions of VMWare — including Fusion) you’ll need to find an ISO of the NextStep OS somewhere, and maybe these steps will help you…
After much frustration, I finally got past the initial hurdle of configuring it so the installer would run off a CD image. Here’s what I had to do:
Get the NextStep 3.3 floppy disc images from this great resource site, nextstepcomputers.org. It has pretty much everything you need, plus some forums that you may or may not find helpful. You’re going to need at least:
- Boot Disk
- Driver Disk
- Beta Drivers
- Core Drivers
Here’s the basic setup steps:
- Configure a new VM, and tell VMWare that the Guest OS will be BSD.
- Create a virtual hard drive no larger than 2GB — and it must be pre-allocated, since NeXTStep will try to check the whole drive.
- 64MB of RAM will be more than enough
- “Insert” the Boot Disk floppy image (rename the extensions of all the disc images you downloaded to .flp to make VMWare find them easily) and “Insert” the ISO for the Install CD.
- Your Hard Drive and CD-ROM should be configured as IDE. The Hard Disk must be configured as IDE 0:0 and the CD-ROM MUST be configured as IDE 1:0 due to the primitive driver support.
Installing NextStep 3.3 and Drivers
- Start up the VM, following the prompts until you’re asked for driver discs.
- Start with the Core Drivers. It’ll only need that disk for a second to load keyboard support, and other basics.
- When asked for SCSI drivers, first use the “3.3 Driver Disk” and tell it to use option 4 — Adaptec 2940. This isn’t really present on your VM (no configuration in VMWare will let you use the SCSI drivers) but we just need to make the installer get past this step — note you may have to do it twice; just pick the same option again.
- You’ll be asked a second time for drivers. I assume the first time is looking for drives on the SCSI bus, and the second time is about IDE — which is what we’ll be using. That means this is the important driver step. Insert the “3.3 Beta Drivers” disc, and press 2 to list its drivers. Press 7 to go to the next page, and press 2 to choose “Dual IDE” option.
- Finally press 1 to skip loading any other drivers, and continue…
- The installer will ask a whole bunch of times if you really want to wipe out your hard drive (just the hard drive image, don’t worry!) and then it’ll copy the files it needs. When its done, it’ll ask you to remove (disconnect) the floppy and reboot. You should disconnect the floppy and CD at this point — and make sure they don’t automatically re-connect on boot, or you’ll get errors.
- When you boot from the hard drive, the OS will begin to load, and then notice it needs some drivers again. It’ll list the devices it doesn’t know about on its own. Supply the “3.3 Beta Drivers” disc, and any other disks it asks for.
- Soon you’ll see the Graphical OS Loader kick-in. It’ll take a few minutes and then it’ll want the “3.3 Beta Drivers” disc again. At this point you should have mouse support, so things get a little nicer. If you don’t get this far, make sure your hard drive image was pre-allocated, so that it passes the NeXTStep disk check.
- You’ll see the famous beach ball from OS X (but in grayscale instead of color) and then a Summary of Devices.
Just to start out, I clicked on Monitors and added the Default VGA Adapter. I’ll have to mess with this, and what’s available online. I’ve heard its possible to get a much better resolution than VGA.
- The mouse was working, so I didn’t mess with that. Networking is another whole ball of wax, and I never got it working in NeXTStep.
- In sound, I added Sound Blaster 16, since that used to be very compatible — but it didn’t work. I didn’t touch the SCSI or Hard Drive drivers, since the ones I was using got me this far!
- In the next step, I unchecked the languages I didn’t want, and installed everything else so I could play with it. It struck me that much of the terminology used in the installer looked similar to that used in the OS X installer.
When its done copying, remove the floppy (like it tells you to!) and go ahead and reboot.
Pretty soon you’ll be up and running inside NeXTStep! Check your e-mail — there’s a note there from our old friend Steve!
I have had some mouse problems — it behaves erratically, so I’ll be searching the forums for fixes on that. I found that if I hit “Ctrl + Alt” to release the mouse, then click inside NeXTStep again to send control back to the Guest OS, that clears up the problem… for a bit. Obviously I’ll be working on display and network drivers, but that’s outside of the scope of this article. It’s alive, and that’s all we were after today.
From here I’m going to point you to a couple links that should help you finish up a good install. I’ve also made a drivers ISO that will simplify things greatly.
- Install ISOs from WinWorld
- Custom NextStep/VMWare video drivers for higher resolutions and color!
- Custom SoundBlaster sound drivers.
- A pre-made disc full of all VMWare NextStep custom drivers — including a mouse driver that will get increasingly more important with each boot!
- How to copy files onto your NextStep VM (harder than it sounds!)
- How to set-up networking on NextStep (once the custom drivers are installed)
- This other guy’s more detailed instructions on setting up Rhapsody (basically the same process)
- If you prefer VirtualBox, this guy has instructions and bits for you to run OpenStep 4.2
- NeXTStep Apps I’ve found on the Interwebs that you might enjoy.
- Mounting NFS File Shares from a modern server (Raspberry Pi)
Enjoy your bit of Apple/technology nostalgia…