When OS X is installed, does the installer:

  • write only generic files (that will work on any machine supported by that OS), or

  • customise the installation to a specific machine type in any way? (If so, presumably this is based on the machine that the installer is running on?)

In the past, I have assumed that the answer is "OS X installs are generic", and used various tricks based on that assumption. But I've only ever done this in various temporary workarounds, because I don't really trust that assumption.

If I had a trustworthy (so preferably referenced) answer "OS X installs are generic", here are some examples of what I could do:

  • Boot a Mac Pro using the software on a MacBook Pro (ie laptop is in target disk mode, connected to desktop via FireWire, I hold down alt when booting the desktop and choose the laptop drive).

  • Run an installer on one machine, writing to a hard drive that I intend to install in a different machine.

  • Create an installation in a virtual machine (via VirtualBox etc), then write it to a standard volume for use in a physical machine, or vice-versa.

  • etc

To try and limit the question:

  • Considering Intel only: let's ignore older PPC hardware

  • Let's say this is about 10.8 onwards

  • Apple hardware only: I'm not asking about Hackintosh

  • I understand that some applications may be confused in various ways by a change in the underlying hardware environment, but I'm just wondering about the OS itself here.

  • I would guess it adjust the drivers specific to the host hardware. – Ruskes Jun 9 '14 at 12:58
  • Thanks, @Buscar웃 - that's what I would guess too, but I have used tricks like this in the past (eg the Mac Pro / MacBook Pro one from my list) and they seemed to work in my limited testing, so perhaps the installer actually produces generic results. Or generic results, except in certain edge cases: and that's what I'd like to know about. – Ashley Jun 9 '14 at 13:41

Yes and no.

In regards to retail installation discs / upgrades "purchased" from the Mac App Store, no, they are typically not machine specific. These are general builds that are meant to install on any supported hardware.

Machine specific builds DO exist although at this point of time they aren't an issue for most people. When Macs shipped with physical restore media (multiple CDs/DVDs) that media was very specific to that particular generation/model of Mac. What this meant was that you could have an early 2008 MacBook and an early 2008 MacBook Pro, the MacBook media would display an error when booting the MacBook Pro and vice versa.

In regards to the actual installed files, yes, these days the installations are pretty generic. I don't want to say that the installed files on a MacBook Pro Retina are the exact same as those on a MacBook Air, but for the most part this will be true. In the past (early/mid PowerPC days) there were some differences but even then you could usually use one Mac to boot another. The main problem we used to run into was remotely installing Tiger or Leopard using a mix of Intel and PowerPC Macs. In those situations it was best to use PowerPC to PowerPC or Intel to Intel.

The only time this may not hold true is if you're trying to boot a newer Mac using the disk of an older Mac that has an older (older than the system the newer Mac shipped with) system installed. For instance, if a new iMac was released tomorrow and I tried to boot it using 10.9.1 installed on my MacBook Pro Retina there's a good chance that it wouldn't boot because the iMac requires 10.9.3 or above.

  • Thanks: this is a useful clarification of the difference between the specificity of the install media and the install itself. Also, the advice about making sure the install is newer than the Mac is practical and useful. It’s a shame about the hedging (“… for the most part…”) in this answer. Perhaps it just isn’t possible to give a full answer here: I guess Apple can cause the installer to create customised results and we can just offer our experience about whether we have observed them doing so. – Ashley Jun 9 '14 at 14:33
  • 1
    A few questions raised by your answer, though: 1) I wonder if non-retina resources are installed on a retina Mac? (I don't own one yet.) 2) I like your iMac / MacBook Pro example. I think you imply that the code for the new iMac would be embedded in 10.9.3, so if you were to update the MacBook Pro to that release, you could then run the iMac from it… do I understand right? – Ashley Jun 9 '14 at 14:34
  • 1) I believe they are simply because the opposite is usually true, resources for Retina models are found in non-Retina models. Thats actually how a lot of rumors start, when people dig through and find resources that seem out of place on the current Mac. 2) Correct, if I was to update the MacBook Pro then the iMac would almost certainly run off of it. This doesn't always hold true, sometimes it takes another software update immediately following a new release. Reason behind this is architecture specific drivers/code in the OS that ships with the Mac. Older Macs/OS don't yet have the code. – Mr Rabbit Jun 9 '14 at 15:38

The simplest thing you can do is run the same installer on 2 different hardware (on a blank HDD) then compare the exact size of those installations. If the sizes are the same, then it's a generic install, if not, it's a specific one :)

You can ever make a diff ( diff -rq dirA dirB ) between the directories to see what change between the 2 installs

  • That's a nice idea: thanks! But that only tells me about those two machines. I'm after a more general answer if possible. – Ashley Jun 9 '14 at 13:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .