installSeed.py v3.8 released…

Here is a new update of installSeed.py (v3.8) that you need for EFIver.py v2.2+

Change log for version 3.8

– fall back to en_US if selectLanguage fails.
– run pkgutil without sudo.
– add the regular update CatalogURL.
– read SystemVersion.plist from target volume.
– read seed enrollment plist from target volume.
– renamed targetPath to sourcePath.

How To Update

1.) Remove the current version of installSeed.py
2.) Run efiver.py.

That’s all you need to do.

EFIver.py v2.2 released

The last time that I blogged about EFIver.py was a week ago, for version 1.5, and today I like to share EFIver.py v2.2 with you. Let’s start with the output. As usual.

---------------------------------------------------------------------------
         EFIver.py v2.2 Copyright (c) 2017 by Dr. Pike R. Alpha
---------------------------------------------------------------------------
          Mac-F2268CC8 |       iMac10,1 |   IM101.88Z.00CF.B00.1708080133
          Mac-F2268DAE |       iMac11,1 |   IM111.88Z.0037.B00.1708080241
          Mac-F2238AC8 |       iMac11,2 |   IM112.88Z.005B.B00.1708080439
  Mac-942B5BF58194151B |       iMac12,1 |   IM121.88Z.004D.B00.1708080012
  Mac-00BE6ED71E35EB86 |       iMac13,1 |   IM131.88Z.010F.B00.1708080805
  Mac-031B6874CF7F642A |       iMac14,1 |   IM141.88Z.0123.B00.1708211404
  Mac-27ADBB7B4CEE8E61 |       iMac14,2 |   IM142.88Z.0123.B00.1708211454
  Mac-77EB7D7DAF985301 |       iMac14,3 |   IM143.88Z.0123.B00.1708211454
  Mac-81E3E92DD6088272 |       iMac14,4 |   IM144.88Z.0183.B00.1708080656
  Mac-42FD25EABCABB274 |       iMac15,1 |   IM151.88Z.0211.B00.1708080656
  Mac-FA842E06C61E91C5 |       iMac15,1 |   IM151.88Z.0211.B00.1708080656
          Mac-F22C8AC8 |     MacBook6,1 |    MB61.88Z.00CB.B00.1708080203
          Mac-F22C89C8 |     MacBook7,1 |    MB71.88Z.003D.B00.1708080317
  Mac-942452F5819B1C1B |  MacBookAir3,1 |   MBA31.88Z.0067.B00.1708080355
  Mac-C08A6BB70A942AC2 |  MacBookAir4,1 |   MBA41.88Z.007B.B00.1708072159
  Mac-66F35F19FE2A0D05 |  MacBookAir5,1 |   MBA51.88Z.00F4.B00.1708080803
  Mac-35C1E88140C3E6CF |  MacBookAir6,1 |   MBA61.88Z.0103.B00.1708080653
  Mac-7DF21CB3ED6977E5 |  MacBookAir6,2 |   MBA61.88Z.0103.B00.1708080653
  Mac-C3EC7CD22292981F | MacBookPro10,1 |  MBP101.88Z.00F2.B00.1708080809
  Mac-AFD8A9D944EA4843 | MacBookPro10,2 |  MBP102.88Z.010B.B00.1708080805
  Mac-189A3D4F975D5FFC | MacBookPro11,1 |  MBP111.88Z.0142.B00.1708080655
  Mac-D1FF70AF6D8C849A |        Unknown |  MBP111.88Z.0142.B00.1708080655
  Mac-3CBD00234E554E41 | MacBookPro11,2 |  MBP112.88Z.0142.B00.1708080655
  Mac-2BD1B31983FE1663 | MacBookPro11,3 |  MBP112.88Z.0142.B00.1708080655
          Mac-F22589C8 |  MacBookPro6,1 |   MBP61.88Z.005A.B00.1708072217
          Mac-F222BEC8 |  MacBookPro7,1 |   MBP71.88Z.003D.B00.1708080058
  Mac-94245B3640C91C81 |  MacBookPro8,1 |   MBP81.88Z.004D.B00.1708080655
  Mac-4B7AC7E43945597E |  MacBookPro9,1 |   MBP91.88Z.00D7.B00.1708080744
          Mac-F2208EC8 |     Macmini4,1 |    MM41.88Z.0045.B00.1708072325
  Mac-8ED6AF5B48C039E1 |     Macmini5,1 |    MM51.88Z.007B.B00.1708080744
  Mac-031AEE4D24BFF0B1 |     Macmini6,1 |    MM61.88Z.010B.B00.1708080649
  Mac-35C5E08120C7EEAF |     Macmini7,1 |    MM71.88Z.0224.B00.1708080033
  Mac-F60DEB81FF30ACF6 |      MacPro6,1 |    MP61.88Z.0120.B00.1708080652
---------------------------------------------------------------------------
> Mac-7BA5B2D9E42DDD94 |        Unknown |AAPJ1371.88Z.E064.D20.1709290920 <
---------------------------------------------------------------------------
  Mac-A369DDC4E67F1C45 |       iMac16,1 |   IM161.88Z.0212.B00.1708080033
  Mac-FFE5EF870D7BA81A |       iMac16,2 |   IM162.88Z.0212.B00.1708080033
  Mac-DB15BD556843C820 |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-B809C3757DA9BB8D |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-65CE76090165799A |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-4B682C642B45593E |       iMac18,1 |   IM181.88Z.0151.B00.1708080034
  Mac-77F17D7DA9285301 |       iMac18,2 |   IM183.88Z.0151.B00.1708080034
  Mac-BE088AF8C5EB4FA2 |       iMac18,3 |   IM183.88Z.0151.B00.1708080034
  Mac-EE2EBD4B90B839A8 |    MacBook10,1 |   MB101.88Z.0154.B00.1708080122
  Mac-BE0E8AC46FE800CC |     MacBook8,1 |    MB81.88Z.0168.B00.1708080033
  Mac-F305150B0C7DEEEF |        Unknown |    MB81.88Z.0168.B00.1708080033
  Mac-9AE82516C7C6B903 |     MacBook9,1 |    MB91.88Z.0159.B00.1708080011
  Mac-9F18E312C5C2BF0B |  MacBookAir7,1 |   MBA71.88Z.0171.B00.1708072210
  Mac-937CB26E2E02BB01 |  MacBookAir7,2 |   MBA71.88Z.0171.B00.1708072210
  Mac-06F11FD93F0323C5 | MacBookPro11,4 |  MBP114.88Z.0177.B00.1708080033
  Mac-06F11F11946D27C5 | MacBookPro11,5 |  MBP114.88Z.0177.B00.1708080033
  Mac-E43C1C25D4880AD6 | MacBookPro12,1 |  MBP121.88Z.0171.B00.1708080033
  Mac-473D31EABEB93F9B | MacBookPro13,1 |  MBP131.88Z.0212.B00.1708080127
  Mac-66E35819EE2D0D05 | MacBookPro13,2 |  MBP132.88Z.0233.B00.1708080034
  Mac-1BDAB09B689867E2 |        Unknown |  MBP132.88Z.0233.B00.1708080034
  Mac-A5C67F76ED83108C | MacBookPro13,3 |  MBP133.88Z.0233.B00.1708080034
  Mac-B4831CEBD52A0C4C | MacBookPro14,1 |  MBP141.88Z.0167.B00.1708080034
  Mac-CAD6701F7CEA0921 | MacBookPro14,2 |  MBP142.88Z.0167.B00.1708080034
  Mac-551B86E5744E2388 | MacBookPro14,3 |  MBP143.88Z.0167.B00.1708080129
          Mac-F221DCC8 |      MacPro5,1 |    MP51.88Z.0084.B00.1708080528
---------------------------------------------------------------------------
> WARNING: Your EFI ROM AAPJ1371.88Z.E087.B00.1708170938 is not up-to-date!! <
---------------------------------------------------------------------------

The highlighted board-id (Mac-7BA5B2D9E42DDD94) is the apparent new iMac Pro. One with a 8-core/16 threads and Intel W-2140B processor. And for people wondering about its performance. Well. Take a look at this OpenCL score. This SKU runs at a lower (500 MHz) base frequency than the W-2145. Which runs at a base frequency of 3.7GHz. The 10 core/20 thread SKU is the W-2150B with a base frequency of 3GHz. With a 300MHz lower base frequency than the W-2155.

There are also two (1, 2) CPU Geekbench results with an early SKU (showing Intel 0000%) with a matching CPUID of the one that I found, back in August, in the leaked firmware of the iMac Pro. These are running 1300MHz slower than the W-2145 but note that this may be in fact be the 18 core SKU. Thing is. Apple is using a core/thread limiter. In short. You should take the results with a grain of salt.

Another new one, at the bottom of the list, is the Mac-F221DCC8/MacPro5,1 which comes with the High Sierra installer app.

There are also a total of five board-id’s with an Apple model set to “Unknown”. I did this because we don’t officially know any of their real model names. You may count only four of them, but there’s also this one:

Mac-CF21D135A7D34AA6 |        Unknown |AAPLX589.88Z.0161.B00.1705100046

Which I left out intentionally. I have some ideas about the following board-id’s:

Mac-1BDAB09B689867E2 -> MacBookPro13,n
Mac-F305150B0C7DEEEF -> MacBook8,n
Mac-D1FF70AF6D8C849A -> MacBookPro11,n

But that’s educated guesswork only. Nothing official. Anyway. Here’s the change log. Per revision. From v1.5 up to v2.2

Changelog for v1.5:

– check for installSeed.py and download it when missing.
– code refactored (no more code duplication).
– the output of the scrit is now a lot quicker.
– now reads the supported board-id’s from the firmware payload files.
– changed version number to v1.5

Changelog for v1.6:

– support for older version of efiupdater added.

Changelog for v1.7:

– now using the right patch for support of older versions of efiupdater.

Changelog for v1.8:

– whitespace changes.
– now checking both UUID’s (for old and new hardware models).

Changelog for v1.9:

– read EFI version from IODeviceTree:/rom.

Changelog for v2.0:

– check for Mac-F221DCC8/MacPro5,1 Apple UUID added.
– made some preparation for the next major release.
– shebang line changed.

Changelog for v2.1:
– now also checks the firmware directory of the installer.
– use filename instead of myBoardID (for MacPro5,1).
– removed spaces in one of the Apple UUID’s (done to verify the UUID).

Changelog for v2.2:
– removed a spurious semicolon.
– convert board-id to string and remove the trailing null byte.

EFIver.py v1.5 released

Wait what? Another update? Yes indeed. But listen. The previous versions of EFIver.py where nothing more than a rewrite of a bash script, but the next latest update of EFIver.py (version 1.5) is an important update. It’s not only a rewrite of the first three versions of EFIver.py, but now it also reads the supported board-id’s from the actual firmware files. It will now also download installSeed.py for you (for people who haven’t already). Now take a look at the output:

---------------------------------------------------------------------------
          EFIver.py v1.5 Copyright (c) 2017 by Pike R. Alpha
---------------------------------------------------------------------------
          Mac-F2268CC8 |       iMac10,1 |   IM101.88Z.00CF.B00.1708080133
          Mac-F2268DAE |       iMac11,1 |   IM111.88Z.0037.B00.1708080241
          Mac-F2238AC8 |       iMac11,2 |   IM112.88Z.005B.B00.1708080439
  Mac-942B5BF58194151B |       iMac12,1 |   IM121.88Z.004D.B00.1708080012
  Mac-00BE6ED71E35EB86 |       iMac13,1 |   IM131.88Z.010F.B00.1708080805
  Mac-031B6874CF7F642A |       iMac14,1 |   IM141.88Z.0123.B00.1708211404
  Mac-27ADBB7B4CEE8E61 |       iMac14,2 |   IM142.88Z.0123.B00.1708211454
  Mac-77EB7D7DAF985301 |       iMac14,3 |   IM143.88Z.0123.B00.1708211454
  Mac-81E3E92DD6088272 |       iMac14,4 |   IM144.88Z.0183.B00.1708080656
  Mac-42FD25EABCABB274 |       iMac15,1 |   IM151.88Z.0211.B00.1708080656
  Mac-FA842E06C61E91C5 |       iMac15,1 |   IM151.88Z.0211.B00.1708080656
          Mac-F22C8AC8 |     MacBook6,1 |    MB61.88Z.00CB.B00.1708080203
          Mac-F22C89C8 |     MacBook7,1 |    MB71.88Z.003D.B00.1708080317
  Mac-942452F5819B1C1B |  MacBookAir3,1 |   MBA31.88Z.0067.B00.1708080355
  Mac-C08A6BB70A942AC2 |  MacBookAir4,1 |   MBA41.88Z.007B.B00.1708072159
  Mac-66F35F19FE2A0D05 |  MacBookAir5,1 |   MBA51.88Z.00F4.B00.1708080803
  Mac-35C1E88140C3E6CF |  MacBookAir6,1 |   MBA61.88Z.0103.B00.1708080653
  Mac-7DF21CB3ED6977E5 |  MacBookAir6,2 |   MBA61.88Z.0103.B00.1708080653
  Mac-C3EC7CD22292981F | MacBookPro10,1 |  MBP101.88Z.00F2.B00.1708080809
  Mac-AFD8A9D944EA4843 | MacBookPro10,2 |  MBP102.88Z.010B.B00.1708080805
  Mac-189A3D4F975D5FFC | MacBookPro11,1 |  MBP111.88Z.0142.B00.1708080655
  Mac-D1FF70AF6D8C849A |        Unknown |  MBP111.88Z.0142.B00.1708080655
  Mac-3CBD00234E554E41 | MacBookPro11,2 |  MBP112.88Z.0142.B00.1708080655
  Mac-2BD1B31983FE1663 | MacBookPro11,3 |  MBP112.88Z.0142.B00.1708080655
          Mac-F22589C8 |  MacBookPro6,1 |   MBP61.88Z.005A.B00.1708072217
          Mac-F222BEC8 |  MacBookPro7,1 |   MBP71.88Z.003D.B00.1708080058
  Mac-94245B3640C91C81 |  MacBookPro8,1 |   MBP81.88Z.004D.B00.1708080655
  Mac-4B7AC7E43945597E |  MacBookPro9,1 |   MBP91.88Z.00D7.B00.1708080744
          Mac-F2208EC8 |     Macmini4,1 |    MM41.88Z.0045.B00.1708072325
  Mac-8ED6AF5B48C039E1 |     Macmini5,1 |    MM51.88Z.007B.B00.1708080744
  Mac-031AEE4D24BFF0B1 |     Macmini6,1 |    MM61.88Z.010B.B00.1708080649
  Mac-35C5E08120C7EEAF |     Macmini7,1 |    MM71.88Z.0224.B00.1708080033
  Mac-F60DEB81FF30ACF6 |      MacPro6,1 |    MP61.88Z.0120.B00.1708080652
  Mac-A369DDC4E67F1C45 |       iMac16,1 |   IM161.88Z.0212.B00.1708080033
  Mac-FFE5EF870D7BA81A |       iMac16,2 |   IM162.88Z.0212.B00.1708080033
  Mac-DB15BD556843C820 |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-B809C3757DA9BB8D |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-65CE76090165799A |       iMac17,1 |   IM171.88Z.0110.B00.1708080012
  Mac-4B682C642B45593E |       iMac18,1 |   IM181.88Z.0151.B00.1708080034
  Mac-77F17D7DA9285301 |       iMac18,2 |   IM183.88Z.0151.B00.1708080034
---------------------------------------------------------------------------
> Mac-BE088AF8C5EB4FA2 |       iMac18,3 |   IM183.88Z.0151.B00.1708080034 <
---------------------------------------------------------------------------
  Mac-EE2EBD4B90B839A8 |    MacBook10,1 |   MB101.88Z.0154.B00.1708080122
  Mac-BE0E8AC46FE800CC |     MacBook8,1 |    MB81.88Z.0168.B00.1708080033
  Mac-F305150B0C7DEEEF |        Unknown |    MB81.88Z.0168.B00.1708080033
  Mac-9AE82516C7C6B903 |     MacBook9,1 |    MB91.88Z.0159.B00.1708080011
  Mac-9F18E312C5C2BF0B |  MacBookAir7,1 |   MBA71.88Z.0171.B00.1708072210
  Mac-937CB26E2E02BB01 |  MacBookAir7,2 |   MBA71.88Z.0171.B00.1708072210
  Mac-06F11FD93F0323C5 | MacBookPro11,4 |  MBP114.88Z.0177.B00.1708080033
  Mac-06F11F11946D27C5 | MacBookPro11,5 |  MBP114.88Z.0177.B00.1708080033
  Mac-E43C1C25D4880AD6 | MacBookPro12,1 |  MBP121.88Z.0171.B00.1708080033
  Mac-473D31EABEB93F9B | MacBookPro13,1 |  MBP131.88Z.0212.B00.1708080127
  Mac-66E35819EE2D0D05 | MacBookPro13,2 |  MBP132.88Z.0233.B00.1708080034
  Mac-1BDAB09B689867E2 |        Unknown |  MBP132.88Z.0233.B00.1708080034
  Mac-A5C67F76ED83108C | MacBookPro13,3 |  MBP133.88Z.0233.B00.1708080034
  Mac-B4831CEBD52A0C4C | MacBookPro14,1 |  MBP141.88Z.0167.B00.1708080034
  Mac-CAD6701F7CEA0921 | MacBookPro14,2 |  MBP142.88Z.0167.B00.1708080034
  Mac-551B86E5744E2388 | MacBookPro14,3 |  MBP143.88Z.0167.B00.1708080129
---------------------------------------------------------------------------
> WARNING: Your EFI ROM IM183.88Z.0058.B00.1705091711 is not up-to-date!! <
---------------------------------------------------------------------------

You may not spot the extra data right away, but this list is not only longer, but it is also a complete representation of the data in FirmwareUpdate.pkg

This version of EFIver.py will soon be made is now available. Need to do something for work first. Actually. No. That’s a lie. I first need my cappuccino. Then I can start doing some stuff for work 😉

Note: The warning was triggered by using fake EFI data. This is not a real world scenario. Hey. I had no other way to check it 😉

Tip: I got a tip from someone at a Github issue that people who are using python from homebrew, instead of the native version of python of macOS, should use this to launch the script:

/usr/bin/python efiver.py