diff --git a/.VolumeIcon.icns b/.VolumeIcon.icns new file mode 100644 index 0000000..cdd4daf Binary files /dev/null and b/.VolumeIcon.icns differ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8286d73 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +**MacBRTool Changelog:** +- + +**Version 1.0.0** +``` + - Initial Release +``` \ No newline at end of file diff --git a/README.md b/README.md index 470880e..89763a2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,100 @@ -# MacBRTool +**Mac BootROM Tool by David R:** +- +MacBRTool is used to update targeted Mac BootROMs using Apples EFI ROM Updater in EFI mode. This makes it easy to add APFS support and update the system ROM without needing to manually flash the SPIROM IC, or boot an Operating System. Everything is done automatically from an EFI shell on a handy bootable memory stick. -Coming soon. bare with me whilst I research and test viability. +Before flashing the BootROM it's recommended to remove the internal storage device otherwise 'startup.nsh' may not run. Please also ensure the device is plugged in. + +☕ If you'd like to make a donation for my work, please [see here](https://www.buymeacoffee.com/Muerto). Cheers. ☕ + +--- +**Before you start:** +- +I'm not responsible if you do something wrong, if you're here I expect you to know what you're doing. Where I do my utmost to verify all information to my best ability, I'm also not responsible for any mistakes my end either. As they say, sometimes shit happens. + +If 'startup.nsh' does not run, you must manually find the USB filesystem, e.g. `fs7:`, then run it manually. + +--- +**Download:** +- +Current Version: `1.0.0` - (RD not set)\ +See the [Changelog](CHANGELOG.md).\ +Downloads can be acquired in the [releases](https://github.com/MuertoGB/MacBRTool/releases) section. + +--- +**Creating a USB disk:** +- +To begin, format a USB disk in ExFAT, FAT32, VFAT or HFS+ using a GPT or MBR partition table, then.... + +- Option A: Manually copy all MacBRTool.iso files to the formatted USB disk. +- Option B: Use a bootable USB creation tool (Such as Rufus) and select SMC_Tool.iso as the source file. + +--- +**Updating the BootROM:** +- + 1. Plug in your USB disk and power on the Mac whilst holding the `Option ⌥` key. + 2. Load into `MacBRTool` from the boot menu and let startup.nsh run. + 3. Type updatebr.nsh then press enter, the BootROM will then be updated (if necessary). + 4. The machine will power off automatically once completed. + +--- +**Compatible Systems:** +- +**iMac** +``` +iMac10,1 Mac-F2268CC8 +iMac11,1 Mac-F2238BAE +iMac11,2 Mac-F2238AC8 +iMac12,1 Mac-942B59F58194171B +iMac13,1 Mac-FC02E91DDD3FA6A4 +iMac14,1 Mac-031B6874CF7F642A +iMac14,2 Mac-27ADBB7B4CEE8E61 +iMac14,3 Mac-77EB7D7DAF985301 +iMac14,4 Mac-81E3E92DD6088272 +iMac16,1 Mac-A369DDC4E67F1C45 +iMac15,1 Mac-FA842E06C61E91C5 +iMac16,2 Mac-FFE5EF870D7BA81A +iMac17,1 Mac-B809C3757DA9BB8D +iMac18,1 Mac-4B682C642B45593E +iMac18,3 Mac-BE088AF8C5EB4FA2 +``` +**MacBook** +``` +MacBook6,1 Mac-F22CBAC8 +MacBook7,1 Mac-F22CB9C8 +MacBook8,1 Mac-BE0E8AC46FE800CC +MacBook9,1 Mac-9AE82516C7C6B903 +MacBook10,1 Mac-EE2EBD4B90B839A8 +``` +**MacBook Air** +``` +MacBookAir3,1 Mac-942452F5819B1C1B +MacBookAir4,1 Mac-742912EFDBEE19B3 +MacBookAir5,1 Mac-2E6FAB96566FE58C +MacBookAir6,1 Mac-7DF21CB3ED6977E5 +MacBookAir7,1 Mac-937CB26E2E02BB01 +``` +**MacBook Pro** +``` +MacBookPro10,1 Mac-C3EC7CD22292981F +MacBookPro10,2 Mac-AFD8A9D944EA4843 +MacBookPro11,1 Mac-189A3D4F975D5FFC +MacBookPro11,2 Mac-2BD1B31983FE1663 +MacBookPro11,4 Mac-06F11F11946D27C5 +MacBookPro12,1 Mac-E43C1C25D4880AD6 +MacBookPro13,1 Mac-473D31EABEB93F9B +MacBookPro13,2 Mac-66E35819EE2D0D05 +MacBookPro13,3 Mac-A5C67F76ED83108C +MacBookPro14,1 Mac-B4831CEBD52A0C4C +MacBookPro14,2 Mac-CAD6701F7CEA0921 +``` +--- +**Shell Screen resolution:** +- +Use the `mode` command to display a list of supported screen modes, type the highest mode available e.g. `mode 160 47`, then press return. + +--- +**Licenses and acknowledgements:** +- +Startup manager icon by [KBuHT](https://macosicons.com/#/u/KBuHT) on macOSicons. + +--- \ No newline at end of file diff --git a/ROMUpdate.efi b/ROMUpdate.efi new file mode 100644 index 0000000..d648acc Binary files /dev/null and b/ROMUpdate.efi differ diff --git a/efi/boot/._.disk_label b/efi/boot/._.disk_label new file mode 100644 index 0000000..338bd7b Binary files /dev/null and b/efi/boot/._.disk_label differ diff --git a/efi/boot/._.disk_label_2x b/efi/boot/._.disk_label_2x new file mode 100644 index 0000000..338bd7b Binary files /dev/null and b/efi/boot/._.disk_label_2x differ diff --git a/efi/boot/.disk_label b/efi/boot/.disk_label new file mode 100644 index 0000000..759d8aa Binary files /dev/null and b/efi/boot/.disk_label differ diff --git a/efi/boot/.disk_label_2x b/efi/boot/.disk_label_2x new file mode 100644 index 0000000..0df6a22 Binary files /dev/null and b/efi/boot/.disk_label_2x differ diff --git a/efi/boot/bootx64.efi b/efi/boot/bootx64.efi new file mode 100644 index 0000000..b520655 Binary files /dev/null and b/efi/boot/bootx64.efi differ diff --git a/roms/IM101_00CF_00B_LOCKED.scap b/roms/IM101_00CF_00B_LOCKED.scap new file mode 100644 index 0000000..ec8e807 Binary files /dev/null and b/roms/IM101_00CF_00B_LOCKED.scap differ diff --git a/roms/IM111_0037_00B_LOCKED.scap b/roms/IM111_0037_00B_LOCKED.scap new file mode 100644 index 0000000..f23d9df Binary files /dev/null and b/roms/IM111_0037_00B_LOCKED.scap differ diff --git a/roms/IM112_005B_00B_LOCKED.scap b/roms/IM112_005B_00B_LOCKED.scap new file mode 100644 index 0000000..e7ed465 Binary files /dev/null and b/roms/IM112_005B_00B_LOCKED.scap differ diff --git a/roms/IM121_004D_00B_LOCKED.scap b/roms/IM121_004D_00B_LOCKED.scap new file mode 100644 index 0000000..424370b Binary files /dev/null and b/roms/IM121_004D_00B_LOCKED.scap differ diff --git a/roms/IM131_010F_B00_LOCKED.scap b/roms/IM131_010F_B00_LOCKED.scap new file mode 100644 index 0000000..266a876 Binary files /dev/null and b/roms/IM131_010F_B00_LOCKED.scap differ diff --git a/roms/IM141_0123_B00_LOCKED.scap b/roms/IM141_0123_B00_LOCKED.scap new file mode 100644 index 0000000..f3d3c1f Binary files /dev/null and b/roms/IM141_0123_B00_LOCKED.scap differ diff --git a/roms/IM142_0123_B00_LOCKED.scap b/roms/IM142_0123_B00_LOCKED.scap new file mode 100644 index 0000000..1a79a1b Binary files /dev/null and b/roms/IM142_0123_B00_LOCKED.scap differ diff --git a/roms/IM143_0123_B00_LOCKED.scap b/roms/IM143_0123_B00_LOCKED.scap new file mode 100644 index 0000000..0fb7c3c Binary files /dev/null and b/roms/IM143_0123_B00_LOCKED.scap differ diff --git a/roms/IM144_0183_B00_LOCKED.scap b/roms/IM144_0183_B00_LOCKED.scap new file mode 100644 index 0000000..3b71636 Binary files /dev/null and b/roms/IM144_0183_B00_LOCKED.scap differ diff --git a/roms/IM151_0211_B00_LOCKED.scap b/roms/IM151_0211_B00_LOCKED.scap new file mode 100644 index 0000000..bef18a3 Binary files /dev/null and b/roms/IM151_0211_B00_LOCKED.scap differ diff --git a/roms/IM161_0212_B00_LOCKED.fd b/roms/IM161_0212_B00_LOCKED.fd new file mode 100644 index 0000000..878e50e Binary files /dev/null and b/roms/IM161_0212_B00_LOCKED.fd differ diff --git a/roms/IM162_0212_B00_LOCKED.fd b/roms/IM162_0212_B00_LOCKED.fd new file mode 100644 index 0000000..c8a4676 Binary files /dev/null and b/roms/IM162_0212_B00_LOCKED.fd differ diff --git a/roms/IM171_0110_B00_LOCKED.fd b/roms/IM171_0110_B00_LOCKED.fd new file mode 100644 index 0000000..3c566a7 Binary files /dev/null and b/roms/IM171_0110_B00_LOCKED.fd differ diff --git a/roms/IM181_0151_B00_LOCKED.fd b/roms/IM181_0151_B00_LOCKED.fd new file mode 100644 index 0000000..32ae9f3 Binary files /dev/null and b/roms/IM181_0151_B00_LOCKED.fd differ diff --git a/roms/IM183_0151_B00_LOCKED.fd b/roms/IM183_0151_B00_LOCKED.fd new file mode 100644 index 0000000..4669d50 Binary files /dev/null and b/roms/IM183_0151_B00_LOCKED.fd differ diff --git a/roms/MB101_0154_B00_LOCKED.fd b/roms/MB101_0154_B00_LOCKED.fd new file mode 100644 index 0000000..010cc00 Binary files /dev/null and b/roms/MB101_0154_B00_LOCKED.fd differ diff --git a/roms/MB61_00CB_00B_LOCKED.scap b/roms/MB61_00CB_00B_LOCKED.scap new file mode 100644 index 0000000..7c2f8af Binary files /dev/null and b/roms/MB61_00CB_00B_LOCKED.scap differ diff --git a/roms/MB71_003D_00B_LOCKED.scap b/roms/MB71_003D_00B_LOCKED.scap new file mode 100644 index 0000000..6904ce6 Binary files /dev/null and b/roms/MB71_003D_00B_LOCKED.scap differ diff --git a/roms/MB81_0168_B00_LOCKED.fd b/roms/MB81_0168_B00_LOCKED.fd new file mode 100644 index 0000000..eb2ee77 Binary files /dev/null and b/roms/MB81_0168_B00_LOCKED.fd differ diff --git a/roms/MB91_0159_B00_LOCKED.fd b/roms/MB91_0159_B00_LOCKED.fd new file mode 100644 index 0000000..9a2b55a Binary files /dev/null and b/roms/MB91_0159_B00_LOCKED.fd differ diff --git a/roms/MBA31_0067_00B_LOCKED.scap b/roms/MBA31_0067_00B_LOCKED.scap new file mode 100644 index 0000000..975144d Binary files /dev/null and b/roms/MBA31_0067_00B_LOCKED.scap differ diff --git a/roms/MBA41_007B_B00_LOCKED.scap b/roms/MBA41_007B_B00_LOCKED.scap new file mode 100644 index 0000000..394433b Binary files /dev/null and b/roms/MBA41_007B_B00_LOCKED.scap differ diff --git a/roms/MBA51_00F4_B00_LOCKED.scap b/roms/MBA51_00F4_B00_LOCKED.scap new file mode 100644 index 0000000..8b39599 Binary files /dev/null and b/roms/MBA51_00F4_B00_LOCKED.scap differ diff --git a/roms/MBA61_0103_B00_LOCKED.scap b/roms/MBA61_0103_B00_LOCKED.scap new file mode 100644 index 0000000..5f7c3f5 Binary files /dev/null and b/roms/MBA61_0103_B00_LOCKED.scap differ diff --git a/roms/MBA71_0171_B00_LOCKED.fd b/roms/MBA71_0171_B00_LOCKED.fd new file mode 100644 index 0000000..3ec6e97 Binary files /dev/null and b/roms/MBA71_0171_B00_LOCKED.fd differ diff --git a/roms/MBP101_00F2_B00_LOCKED.scap b/roms/MBP101_00F2_B00_LOCKED.scap new file mode 100644 index 0000000..5bdaedc Binary files /dev/null and b/roms/MBP101_00F2_B00_LOCKED.scap differ diff --git a/roms/MBP102_010B_B00_LOCKED.scap b/roms/MBP102_010B_B00_LOCKED.scap new file mode 100644 index 0000000..9edab55 Binary files /dev/null and b/roms/MBP102_010B_B00_LOCKED.scap differ diff --git a/roms/MBP111_0142_B00_LOCKED.scap b/roms/MBP111_0142_B00_LOCKED.scap new file mode 100644 index 0000000..4bcf712 Binary files /dev/null and b/roms/MBP111_0142_B00_LOCKED.scap differ diff --git a/roms/MBP112_0142_B00_LOCKED.scap b/roms/MBP112_0142_B00_LOCKED.scap new file mode 100644 index 0000000..6fbfde1 Binary files /dev/null and b/roms/MBP112_0142_B00_LOCKED.scap differ diff --git a/roms/MBP114_0177_B00_LOCKED.fd b/roms/MBP114_0177_B00_LOCKED.fd new file mode 100644 index 0000000..91920b7 Binary files /dev/null and b/roms/MBP114_0177_B00_LOCKED.fd differ diff --git a/roms/MBP121_0171_B00_LOCKED.fd b/roms/MBP121_0171_B00_LOCKED.fd new file mode 100644 index 0000000..60e624e Binary files /dev/null and b/roms/MBP121_0171_B00_LOCKED.fd differ diff --git a/roms/MBP131_0212_B00_LOCKED.fd b/roms/MBP131_0212_B00_LOCKED.fd new file mode 100644 index 0000000..4a4d179 Binary files /dev/null and b/roms/MBP131_0212_B00_LOCKED.fd differ diff --git a/roms/MBP132_0233_B00_LOCKED.fd b/roms/MBP132_0233_B00_LOCKED.fd new file mode 100644 index 0000000..41cb5a5 Binary files /dev/null and b/roms/MBP132_0233_B00_LOCKED.fd differ diff --git a/roms/MBP133_0233_B00_LOCKED.fd b/roms/MBP133_0233_B00_LOCKED.fd new file mode 100644 index 0000000..8ec3f1d Binary files /dev/null and b/roms/MBP133_0233_B00_LOCKED.fd differ diff --git a/roms/MBP141_0167_B00_LOCKED.fd b/roms/MBP141_0167_B00_LOCKED.fd new file mode 100644 index 0000000..eecffc1 Binary files /dev/null and b/roms/MBP141_0167_B00_LOCKED.fd differ diff --git a/roms/MBP142_0167_B00_LOCKED.fd b/roms/MBP142_0167_B00_LOCKED.fd new file mode 100644 index 0000000..63b1861 Binary files /dev/null and b/roms/MBP142_0167_B00_LOCKED.fd differ diff --git a/roms/MBP143_0167_B00_LOCKED.fd b/roms/MBP143_0167_B00_LOCKED.fd new file mode 100644 index 0000000..9827fe7 Binary files /dev/null and b/roms/MBP143_0167_B00_LOCKED.fd differ diff --git a/roms/MBP61_005A_00B_LOCKED.scap b/roms/MBP61_005A_00B_LOCKED.scap new file mode 100644 index 0000000..11afa08 Binary files /dev/null and b/roms/MBP61_005A_00B_LOCKED.scap differ diff --git a/roms/MBP71_003D_00B_LOCKED.scap b/roms/MBP71_003D_00B_LOCKED.scap new file mode 100644 index 0000000..277b520 Binary files /dev/null and b/roms/MBP71_003D_00B_LOCKED.scap differ diff --git a/roms/MBP91_00D7_B00_LOCKED.scap b/roms/MBP91_00D7_B00_LOCKED.scap new file mode 100644 index 0000000..e724689 Binary files /dev/null and b/roms/MBP91_00D7_B00_LOCKED.scap differ diff --git a/roms/MM41_0045_00B_LOCKED.scap b/roms/MM41_0045_00B_LOCKED.scap new file mode 100644 index 0000000..ee34708 Binary files /dev/null and b/roms/MM41_0045_00B_LOCKED.scap differ diff --git a/roms/MM51_007B_B00_LOCKED.scap b/roms/MM51_007B_B00_LOCKED.scap new file mode 100644 index 0000000..989e591 Binary files /dev/null and b/roms/MM51_007B_B00_LOCKED.scap differ diff --git a/roms/MM61_010B_B00_LOCKED.scap b/roms/MM61_010B_B00_LOCKED.scap new file mode 100644 index 0000000..b0ecdb4 Binary files /dev/null and b/roms/MM61_010B_B00_LOCKED.scap differ diff --git a/roms/MM71_0226_B00_LOCKED.scap b/roms/MM71_0226_B00_LOCKED.scap new file mode 100644 index 0000000..d1fcd6e Binary files /dev/null and b/roms/MM71_0226_B00_LOCKED.scap differ diff --git a/roms/MP61_0120_B00_LOCKED.scap b/roms/MP61_0120_B00_LOCKED.scap new file mode 100644 index 0000000..a4b2457 Binary files /dev/null and b/roms/MP61_0120_B00_LOCKED.scap differ diff --git a/roms/romlist.txt b/roms/romlist.txt new file mode 100644 index 0000000..471e988 --- /dev/null +++ b/roms/romlist.txt @@ -0,0 +1,45 @@ +IM101_00CF_00B_LOCKED.scap 52992 00CF.00 IM101 Mac-F2268CC8 +IM111_0037_00B_LOCKED.scap 14080 0037.00 IM111 Mac-F2238BAE +IM112_005B_00B_LOCKED.scap 23296 005B.00 IM112 Mac-F2238AC8 +IM121_004D_00B_LOCKED.scap 19712 004D.00 IM121 Mac-942B59F58194171B +IM131_010F_B00_LOCKED.scap 69376 010F.00 IM131 Mac-FC02E91DDD3FA6A4 +IM141_0123_B00_LOCKED.scap 74496 0123.00 IM141 Mac-031B6874CF7F642A +IM142_0123_B00_LOCKED.scap 74496 0123.00 IM142 Mac-27ADBB7B4CEE8E61 +IM143_0123_B00_LOCKED.scap 74496 0123.00 IM143 Mac-77EB7D7DAF985301 +IM144_0183_B00_LOCKED.scap 99072 0183.00 IM144 Mac-81E3E92DD6088272 +IM151_0211_B00_LOCKED.scap 135424 0211.00 IM151 Mac-FA842E06C61E91C5 +IM161_0212_B00_LOCKED.fd 135680 0212.00 IM161 Mac-A369DDC4E67F1C45 +IM162_0212_B00_LOCKED.fd 135680 0212.00 IM162 Mac-FFE5EF870D7BA81A +IM171_0110_B00_LOCKED.fd 69632 0110.00 IM171 Mac-B809C3757DA9BB8D +IM181_0151_B00_LOCKED.fd 86272 0151.00 IM181 Mac-4B682C642B45593E +IM183_0151_B00_LOCKED.fd 86272 0151.00 IM183 Mac-BE088AF8C5EB4FA2 +MB101_0154_B00_LOCKED.fd 87040 0154.00 MB101 Mac-EE2EBD4B90B839A8 +MB61_00CB_00B_LOCKED.scap 51968 00CB.00 MB61 Mac-F22CBAC8 +MB71_003D_00B_LOCKED.scap 15616 003D.00 MB71 Mac-F22CB9C8 +MB81_0168_B00_LOCKED.fd 92160 0168.00 MB81 Mac-BE0E8AC46FE800CC +MB91_0159_B00_LOCKED.fd 88320 0159.00 MB91 Mac-9AE82516C7C6B903 +MBA31_0067_00B_LOCKED.scap 26368 0067.00 MBA31 Mac-942452F5819B1C1B +MBA41_007B_B00_LOCKED.scap 31488 007B.00 MBA41 Mac-742912EFDBEE19B3 +MBA51_00F4_B00_LOCKED.scap 62464 00F4.00 MBA51 Mac-2E6FAB96566FE58C +MBA61_0103_B00_LOCKED.scap 66304 0103.00 MBA61 Mac-7DF21CB3ED6977E5 +MBA71_0171_B00_LOCKED.fd 94464 0171.00 MBA71 Mac-937CB26E2E02BB01 +MBP101_00F2_B00_LOCKED.scap 61952 00F2.00 MBP101 Mac-C3EC7CD22292981F +MBP102_010B_B00_LOCKED.scap 68352 010B.00 MBP102 Mac-AFD8A9D944EA4843 +MBP111_0142_B00_LOCKED.scap 82432 0142.00 MBP111 Mac-189A3D4F975D5FFC +MBP112_0142_B00_LOCKED.scap 82432 0142.00 MBP112 Mac-2BD1B31983FE1663 +MBP114_0177_B00_LOCKED.fd 96000 0177.00 MBP114 Mac-06F11F11946D27C5 +MBP121_0171_B00_LOCKED.fd 94464 0171.00 MBP121 Mac-E43C1C25D4880AD6 +MBP131_0212_B00_LOCKED.fd 135680 0212.00 MBP131 Mac-473D31EABEB93F9B +MBP132_0233_B00_LOCKED.fd 144128 0233.00 MBP132 Mac-66E35819EE2D0D05 +MBP133_0233_B00_LOCKED.fd 144128 0233.00 MBP133 Mac-A5C67F76ED83108C +MBP141_0167_B00_LOCKED.fd 91904 0167.00 MBP141 Mac-B4831CEBD52A0C4C +MBP142_0167_B00_LOCKED.fd 91904 0167.00 MBP142 Mac-CAD6701F7CEA0921 +MBP143_0167_B00_LOCKED.fd 91904 0167.00 MBP143 Mac-551B86E5744E2388 +MBP61_005A_00B_LOCKED.scap 23040 005A.00 MBP61 Mac-F22589C8 +MBP71_003D_00B_LOCKED.scap 15616 003D.00 MBP71 Mac-F222BEC8 +MBP91_00D7_B00_LOCKED.scap 55040 00D7.00 MBP91 Mac-4B7AC7E43945597E +MM41_0045_00B_LOCKED.scap 17664 0045.00 MM41 Mac-F2208EC8 +MM51_007B_B00_LOCKED.scap 31488 007B.00 MM51 Mac-7BA5B2794B2CDB12 +MM61_010B_B00_LOCKED.scap 68352 010B.00 MM61 Mac-F65AE981FFA204ED +MM71_0226_B00_LOCKED.scap 140800 0226.00 MM71 Mac-35C5E08120C7EEAF +MP61_0120_B00_LOCKED.scap 73728 0120.00 MP61 Mac-F60DEB81FF30ACF6 diff --git a/startup.nsh b/startup.nsh new file mode 100644 index 0000000..28c17e1 --- /dev/null +++ b/startup.nsh @@ -0,0 +1,9 @@ +@echo "" +@echo "MacBRTool V1.0.0 by David R (Muerto)" +@echo "Make sure the device is plugged in!" +@echo "" +@echo "To update the BootROM, type 'updatebr.nsh' and press return." +@echo "The machine will power down automatically after completion." +@echo "" +@echo "Type 'reset -s', then press enter to shut down." +@echo "" diff --git a/updatebr.nsh b/updatebr.nsh new file mode 100644 index 0000000..2a648fc --- /dev/null +++ b/updatebr.nsh @@ -0,0 +1,8 @@ +echo -off + +cls + +echo "Updating BootROM..." +echo "Do not unplug or power off the machine!" + +ROMUpdate.efi \ No newline at end of file