Skip to content

Instantly share code, notes, and snippets.

@dreamcat4
Last active September 4, 2024 21:12
Show Gist options
  • Save dreamcat4/7172737 to your computer and use it in GitHub Desktop.
Save dreamcat4/7172737 to your computer and use it in GitHub Desktop.
macmini 1,1 to 2,1 EFI firmware update
Guide & Discussion Thread:
http://forum.netkas.org/index.php?topic=874.0
http://forum.netkas.org/index.php?action=printpage;topic=874.0
For the best guide, use search keyword: chmod. Scrolls down to -->
Post by: Shinso on September 18, 2012, 07:28:35 PM
Post by: Shinso on September 18, 2012, 07:30:19 PM
* First: upgrade cpu to Core2Duo
* Download the specially modified EFI files from Mediafile (Archive.zip)
janitors-Mac-mini:~ id$ open "/System/Library/CoreServices/Firmware Updates"
* cp the 2 files to:
janitors-Mac-mini:~ id$ cd "/System/Library/CoreServices/Firmware Updates"
* relax the file permissions, (world-readable) so the files can be seen at boot-time
chmod -R 777 "/System/Library/CoreServices/Firmware Updates/*"
* run cmd
janitors-Mac-mini:~ id$ sudo bless -mount / -firmware /System/Library/CoreServices/Firmware\ Updates/EFIUpdaterApp.efi -payload /System/Library/CoreServices/Firmware\ Updates/LOCKED_MM11_0055_08B.fd -options "-x efi-apple-payload0-data" --verbose
* Successful output will look like this:
=======================================================================================================
EFI found at IODeviceTree:/efi
Aggregate boot path is IODeviceTree:/PCI0@0/SATA@1F,2/PRT2@2/PMP@0/@0:2
GPT detected
Booter partition required at index 3
System partition found
Booter partition found
Returning booter information dictionary:
<CFBasicHash 0x102d1b3a0 [0x7fff7688afa0]>{type = mutable dict, count = 3,
entries =>
0 : <CFString 0x102c3bfb0 [0x7fff7688afa0]>{contents = "System Partitions"} = (
disk1s1
)
1 : <CFString 0x102c3bf70 [0x7fff7688afa0]>{contents = "Data Partitions"} = (
disk1s2
)
2 : <CFString 0x102c3bf50 [0x7fff7688afa0]>{contents = "Auxiliary Partitions"} = (
disk1s3
)
}
Substituting ESP disk1s1
Mounting at /Volumes/bless.ncNG
Executing "/sbin/mount"
Returned 0
Creating /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE if needed
Deleting previous contents of /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE
Opened dest at /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi for writing
preallocation not supported on this filesystem for /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi
/Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi created successfully
Relative path of /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi is \EFI\APPLE\FIRMWARE\EFIUpdaterApp.efi
IOMedia disk1s1 has UUID F5CCE164-3EFF-40E8-86C8-0697C03012E3
Opened dest at /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//LOCKED_MM11_0055_08B.fd for writing
preallocation not supported on this filesystem for /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//LOCKED_MM11_0055_08B.fd
/Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//LOCKED_MM11_0055_08B.fd created successfully
Relative path of /Volumes/bless.ncNG//EFI/APPLE/FIRMWARE//LOCKED_MM11_0055_08B.fd is \EFI\APPLE\FIRMWARE\LOCKED_MM11_0055_08B.fd
IOMedia disk1s1 has UUID F5CCE164-3EFF-40E8-86C8-0697C03012E3
Setting EFI NVRAM:
<CFBasicHash 0x7fe980502410 [0x7fff7688afa0]>{type = mutable dict, count = 2,
entries =>
1 : <CFString 0x102c3bfd0 [0x7fff7688afa0]>{contents = "efi-boot-next"} = <CFString 0x102d1b5f0 [0x7fff7688afa0]>{contents = "<array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>F5CCE164-3EFF-40E8-86C8-0697C03012E3</string></dict></dict><key>BLLastBSDName</key><string>disk1s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\EFIUpdaterApp.efi</string></dict><dict><key>IOEFIBootOption</key><string>-x efi-apple-payload0-data</string></dict></array>"}
2 : <CFString 0x102d1b150 [0x7fff7688afa0]>{contents = "efi-apple-payload0"} = <CFString 0x7fe980502e10 [0x7fff7688afa0]>{contents = "<array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>F5CCE164-3EFF-40E8-86C8-0697C03012E3</string></dict></dict><key>BLLastBSDName</key><string>disk1s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\LOCKED_MM11_0055_08B.fd</string></dict></array>"}
}
Executing "/sbin/umount"
Returned 0
janitors-Mac-mini:~ id$ echo $?
0
janitors-Mac-mini:~ id$
=======================================================================================================
* shutdown the mac normally
* from POWER OFF, press and hold power button until light starts flashing and you will hear a loud speaker sound
* let go of power button, progress bar should have started going (and lasts for about 2-5 minutes)
* if problem reasing the EFI updater files, then you will be sent back immediately to the regular boot OS X startup screen. remember to CHMOD 777 both the updater files you copied to System, as to make them world-readable by any boot-time unix system user ids
* system reboots automatically after completing the EFI update
* if successful, you should experience for kind of screen / video corruption. Power off the system via the power button
* now do PRAM reset: power on with a short-press of power button, and immediately:
* hold down cmd + opt + p + r
* unil you head the startup chime should sounding for a second time. then let go
* system boots normally.
* check "About this Mac" dialog
* Overview still says "2006 Mac Mini"
* however "System Profiler.app" should now report "macmini2,1" hardware revision. this is immediately displayed as the root node after you have clicked to launch the System Profiler program (which is the older legacy program).
* install 4GB RAM upgrade (as 2x2GB SODIMMS)
* reset PRAM again, so that the new SODIMMS are recognised
* Has also been reported that: macmini2,1 should now be recognised as newer hardware and included as one of the officially supported mac hardware for the official Lion 10.7 installer. If not, you can still install Lion on the macmini1,1 by adding it's logic_board_id to the PlatformSupport.plist. And by also editing (disabling) the logic board checks inside the Mac OS X's main installer script. (the correct Installer.pkg requires unpacking / repacking first by Pacifist to access that script). Can all be done on USB thumb drive. It's pretty easy.
@MggMuggins
Copy link

Any chance you'd convert this to markdown?

@mchccc
Copy link

mchccc commented Sep 26, 2017

Submit a pull request :D

On a more serious note, thank you very much for this!

@ikir83
Copy link

ikir83 commented Oct 15, 2017

Awesome thanks

@alexdelorenzo
Copy link

Thanks

@disco0
Copy link

disco0 commented Aug 4, 2020

Did a quick markdown of this and the original post for those interested—realized I couldn't do this mid writing these so I haven't run though them myself
https://gist.github.com/disco0/836903e61bccac66b4c98f1a0592f367

@nikbex-sno
Copy link

No sign or sight of:-
/System/Library/CoreServices/PlatformSupport.plist
In Snow Leopard after cpu upgrade and scripts as above, Lion still refuses to be installed!!
I'll boot Tiger and see there.
Regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment