- Download the full installer:
softwareupdate --list-full-installers
Finding available software
Software Update found the following full installers:
* Title: macOS Ventura, Version: 13.1, Size: 11931164KiB, Build: 22C65
* Title: macOS Ventura, Version: 13.0.1, Size: 11866460KiB, Build: 22A400
* Title: macOS Ventura, Version: 13.0, Size: 11866804KiB, Build: 22A380
* Title: macOS Monterey, Version: 12.6.2, Size: 12104568KiB, Build: 21G320
* Title: macOS Monterey, Version: 12.6.1, Size: 12108491KiB, Build: 21G217
* Title: macOS Monterey, Version: 12.6, Size: 12104042KiB, Build: 21G115
* Title: macOS Big Sur, Version: 11.7.2, Size: 12119307KiB, Build: 20G1020
* Title: macOS Big Sur, Version: 11.7.1, Size: 12119247KiB, Build: 20G918
* Title: macOS Big Sur, Version: 11.7, Size: 12118755KiB, Build: 20G817
* Title: macOS Big Sur, Version: 11.6.6, Size: 12121263KiB, Build: 20G624
* Title: macOS Big Sur, Version: 11.6.5, Size: 12121404KiB, Build: 20G527
* Title: macOS Big Sur, Version: 11.6.4, Size: 12147782KiB, Build: 20G417
* Title: macOS Big Sur, Version: 11.6.3, Size: 12143674KiB, Build: 20G415
* Title: macOS Big Sur, Version: 11.6.2, Size: 12141944KiB, Build: 20G314
* Title: macOS Big Sur, Version: 11.6.1, Size: 12137180KiB, Build: 20G224
* Title: macOS Big Sur, Version: 11.5.2, Size: 12149332KiB, Build: 20G95
* Title: macOS Catalina, Version: 10.15.7, Size: 8055650KiB, Build: 19H15
* Title: macOS Catalina, Version: 10.15.7, Size: 8055522KiB, Build: 19H2
* Title: macOS Catalina, Version: 10.15.6, Size: 8055450KiB, Build: 19G2021
* Title: macOS Mojave, Version: 10.14.6, Size: 5896894KiB, Build: 18G103
* Title: macOS High Sierra, Version: 10.13.6, Size: 5099306KiB, Build: 17G66
softwareupdate --fetch-full-installer --full-installer-version 12.6.2
-
Or use Mist or sus-inspector
-
For MacPro5,1 use this:
softwareupdate --fetch-full-installer --full-installer-version 10.14.6
cp /Applications/Install\ macOS\ Mojave.app/Contents/Resources/Firmware/MP51.fd ~/Desktop
- Catalina use the latest security update
- Mojave use the latest security update
- High Sierra use the latest security update
pkgutil --expand [Double click the dmg file and drop file here] /destination/path/
pkgutil --expand /Volumes/macOS\ Catalina\ Security\ Update\ 2021-008/SecUpd2021-008Catalina.pkg ~/Desktop/Expanded
cp ~/Desktop/Expanded/FirmwareUpdate.pkg/Scripts/Tools/EFIPayloads/MM61.scap ~/Desktop/MM61.scap
Please check here for the latest firmware version and the latest full installer version or latest security update.
- Mounting Big Sur SharedSupport disk image:
/usr/bin/hdiutil mount /Applications/Install\ macOS\ Big\ Sur*.app/Contents/SharedSupport/SharedSupport.dmg
- Store ZIP file path to variable (handle unpredictable file name)
ZIP_FILE=`ls /Volumes/Shared\ Support/com_apple_MobileAsset_MacSoftwareUpdate/*.zip`
- List firmware files in ZIP file:
unzip -l-qq "$ZIP_FILE" "AssetData/boot/EFI/EFIPayloads/*"
- In Terminal.app, first verify your EFI version using the following command:
/usr/libexec/firmwarecheckers/eficheck/eficheck --integrity-check | grep "EFI Version"
-
Note:
macOS Sonoma
no longer prifides theeficheck
utility. That has been removed fromSonoma
. All T2 and Apple silicon models automatically check the integrity of their firmware in the early part of the boot process anyway. -
locate the firmware file and store the exact file path into the variable FIRMWARE_FILE:
FIRMWARE_FILE=<firmware file path here>
- An example command would be:
FIRMWARE_FILE=AssetData/boot/EFI/EFIPayloads/MBP112.scap
- Extract the firmware file ( "-j" means don't create directory structure and "-d" designates that output directory):
unzip -j "$ZIP_FILE" $FIRMWARE_FILE -d ~/Desktop/
- Set your MacBook to upgrade the firmware on the next bootup (SIP must be disabled). Fill in the file name of your specific firmware file:
sudo /usr/sbin/bless -firmware ~/Desktop/<firmware file name here> --verbose --recovery
- Trigger firmware upgrade: Shut down your computer. (Do not choose the restart option!) After the MacBook is powered off, power it back on by pressing the power button. Next be patient, and if everything goes well your firmware will be updated.
@startergo this is potentially life saving information. I do need to flash a specific firmware version that's older to my mac pro 2019.
If I specify an older firmware file, will it indeed flash it anyway after blessing it?
Also, I'm curious why all the use of variables above. It makes sense if you're using a specific tool that looks for those environment variables but I don't see any 3rd party tools being used in the steps to change the firmware. Also for example :
Is a command line that uses the variable but then
doesn't use it. BTW if you just want to keep using the first variable you could have used
basename($FIRMWARE_FILE)
instead of
Anyway, are you using some sort of tool that's requiring these variables?