Firmware and macOS upgrades

One of the side-effects of upgrading your Mac to a new version of macOS such as Ventura is that it will almost inevitably have its firmware updated. While that should be an important part of running the newer macOS, it may not be what you want if you also plan to run an older version on the same Mac.

Conventional wisdom is that firmware and kernel versions are closely linked, after all the firmware launches the kernel, and any mismatch between them could lead to instability. However, Apple’s firmware appears more flexible, in that most supported Macs happily run any of the three supported kernels on the same version of their firmware. When Apple releases Ventura, it’s likely to release parallel security updates to both Big Sur and Monterey with the same firmware but quite different kernels.

The basic rule when installing any macOS update, upgrade or complete installer is that, when it could install a more recent version of that Mac’s firmware, it will do so, and there’s no way to opt out of that.

This applies regardless of whether that update or installation is applied to an external disk, but doesn’t apply to macOS within Virtual Machines, which work completely differently and can’t touch that Mac’s firmware.

There is one workaround that can preserve the current firmware on a Mac even though it’s upgraded to run a more recent version of macOS: install the newer version to a bootable external disk using another Mac, then move that disk to the Mac you don’t want to undergo firmware upgrade. However, should you install a later update on the same Mac, that would then result in firmware upgrade. It’s also important to remember that could result in instability when running the newer version of macOS with older firmware.

Intel Macs without a T2 chip

Older Macs, with neither a T2 chip nor Apple silicon, only have EFI firmware, which should still be checked by eficheck to ensure that their firmware isn’t too old and hasn’t been corrupted in any way. This is updated by an installer within macOS updates and installers, which contains a complete suite of EFI firmware. Some advanced users extract the firmware updater and use it to update the firmware on their Mac independently of its kernel, but that is hazardous and not something you should attempt on any production Mac.

The rule with EFI firmware is that the user can’t downgrade it. If you run a macOS or firmware installer containing an older version of that Mac’s firmware, it simply won’t be installed. Updating is thus a one-way trip.

Intel Macs with a T2 chip

These have both EFI firmware, used by the Intel side of the hardware, and iBridge or BridgeOS firmware for the T2 chip. Although these are installed separately during updates, I haven’t heard of any T2 Mac that has only updated one, not both. iBridge updates are unmistakable, as the whole of the Intel side including the display shuts down and plays dead for a minute or so, while the T2 firmware is updated.

Supported T2 Macs are also unusual in that they all have exactly the same EFI and iBridge versions, regardless of which of the supported versions of macOS they’re running, and which model they are.

Apple supports two processes for fixing firmware problems on T2 Macs, both requiring another Mac running Apple Configurator 2 (free from the App Store). One merely updates iBridge firmware to the current version, the other restores the whole Mac by updating iBridge and erasing macOS and its Recovery volume on its internal storage, which also wipes all user data. These are described in detail in the Help book for Configurator, and in greater depth by Mr. Macintosh.

Apple silicon Macs

M1 and M2 Macs are at once simpler and more complex. Like T2 Macs, all Apple silicon Macs running current versions of supported macOS (in this case, Big Sur or Monterey) have the same firmware version. However, the iBoot version number, normally used as the firmware version, isn’t actually their firmware at all.

What is definitely more complex is that the iBoot version number normally quoted as the firmware version isn’t firmware as such. Apple silicon Macs start their Secure Boot process from the Boot ROM in hardware, which can’t be changed. That verifies and loads the Low-Level Bootloader (LLB), which is true firmware, and that in turn verifies and loads iBoot, which goes on to load and run the kernel. Usage, though, has made the iBoot version number that given as the Mac’s firmware.

Apple silicon Macs are also unique in that they’re the only type of Mac that can have their firmware downgraded, using Apple Configurator. As with T2 Macs, Configurator can perform a firmware refresh to update their firmware, or a full restore, which installs an IPSW image to replace their current firmware and macOS, and wipe all user data. As Apple provides IPSW images for some older versions, those can be used to downgrade when necessary. Full instructions are given in the Configurator Help book, and IPSW images are available through Mr. Macintosh.

Summary

  • Mac firmware is normally only updated by macOS updaters and installers;
  • macOS updaters and installers can’t downgrade firmware;
  • when you install a macOS update or installer, if it contains a more recent version of the firmware, that Mac will be updated to that version;
  • that applies even when installing/updating to an external disk, but not inside a Virtual Machine;
  • T2 firmware problems can be fixed by refreshing firmware in Apple Configurator;
  • Apple silicon Macs can be similarly refreshed, and can also have their firmware downgraded to an older release of macOS, using the right IPSW image and Apple Configurator.