8

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
7

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.

| improve this answer | |
  • 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
1

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

| improve this answer | |
  • 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
0

Generally, the files installed are generic to all Macs that the OS supports.

There are two caveats:

  1. New Macs launched after the current OS release may be given a special build of the OS that adds drivers for new hardware. Those drivers will be rolled into the next release of the OS.
  2. Macs with the T2 chip complicate things a bit. If you've turned off Secure Boot, it is possible to boot from an external drive with a generic OS installation; but cloning the internal disk from another Mac doesn't work, and you have to install the OS again. However, what it is exactly that gets changed is unknown, and may be some configuration rather than different hardware drivers.
| improve this answer | |
-1

macOS installers are indeed specific to the Mac that they are downloaded onto, even when using softwareupdate --fetch-full-installer --full-installer-version. This was not always the case, as I have clear memories of downloading earlier versions of OS X/macOS on say a MacBook Pro and using the installer successfully on an iMac, Mac Mini, etc.

More info and a workaround from munki's installinstallmacos.py script:

Since it is using Apple's installer, any install check or volume check scripts are run. This means that you can only use this tool to create a diskimage containing the versions of macOS that will run on the exact machine you are running the script on.

For example, to create a diskimage containing the version 10.13.6 that runs on 2018 MacBook Pros, you must run this script on a 2018 MacBook Pro, and choose the proper version.

...

Use a compatible Mac or select a different build compatible with your current hardware and try again. You may also have success running the script in a VM; the InstallationCheck script in versions of the macOS installer to date skips the checks (and returns success) when run on a VM.

| improve this answer | |
  • That is only the case for "new" Macs, released after the latest OS version. The drivers for the new hardware are folded into the next OS release. – benwiggy Jun 25 at 9:01
  • @benwiggy The same problem affects much older Macs. Recently ran into it on a 2012 Mac Pro, 2012 iMac, and 2013 iMac; Mojave and Catalina installers downloaded on a 2012 MacBook Pro would boot but not install on those machines, but did work on the same MacBook Pro (of course Catalina was not attempted on the unsupported 2012 Mac Pro). After downloading the same installers in a VM instead, they worked on all tested hardware. – Miles Wolbe Jun 25 at 17:05

You must log in to answer this question.

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