Where can we find a list of Apple board-ID's?

donmontalvo
Esteemed Contributor II

I've been searching for a list of board-IDs. There seems to be a list in the NBI (below) but no way to link to the specific models. I checked GSX as well, and unless it's hidden somewhere, I haven't been able to find it. Anyone have any idea where we can get this info?

<key>SupportedBoardIds</key> <array> <string>Mac-031B6874CF7F642A</string> <string>Mac-F2268DC8</string> <string>Mac-50619A408DB004DA</string> <string>Mac-F2218EA9</string> <string>Mac-F42D86A9</string> <string>Mac-F22C8AC8</string> <string>Mac-F22586C8</string> <string>Mac-AFD8A9D944EA4843</string> <string>Mac-942B59F58194171B</string> <string>Mac-F226BEC8</string> <string>Mac-7DF2A3B5E5D671ED</string> <string>Mac-35C1E88140C3E6CF</string> <string>Mac-942459F5819B171B</string> <string>Mac-77EB7D7DAF985301</string> <string>Mac-2E6FAB96566FE58C</string> <string>Mac-7BA5B2794B2CDB12</string> <string>Mac-031AEE4D24BFF0B1</string> <string>Mac-00BE6ED71E35EB86</string> <string>Mac-4B7AC7E43945597E</string> <string>Mac-F22C89C8</string> <string>Mac-F22587A1</string> <string>Mac-F221DCC8</string> <string>Mac-F42388C8</string> <string>Mac-F223BEC8</string> <string>Mac-F4238CC8</string> <string>Mac-F222BEC8</string> <string>Mac-F227BEC8</string> <string>Mac-F2208EC8</string> <string>Mac-66F35F19FE2A0D05</string> <string>Mac-F4238BC8</string> <string>Mac-189A3D4F975D5FFC</string> <string>Mac-C08A6BB70A942AC2</string> <string>Mac-8ED6AF5B48C039E1</string> <string>Mac-F2238AC8</string> <string>Mac-FC02E91DDD3FA6A4</string> <string>Mac-6F01561E16C75D06</string> <string>Mac-F2268EC8</string> <string>Mac-F22589C8</string> <string>Mac-3CBD00234E554E41</string> <string>Mac-F22788AA</string> <string>Mac-F42C86C8</string> <string>Mac-F221BEC8</string> <string>Mac-942C5DF58193131B</string> <string>Mac-F2238BAE</string> <string>Mac-F22C86C8</string> <string>Mac-F2268CC8</string> <string>Mac-F2218FC8</string> <string>Mac-742912EFDBEE19B3</string> <string>Mac-27ADBB7B4CEE8E61</string> <string>Mac-F65AE981FFA204ED</string> <string>Mac-F42D89C8</string> <string>Mac-F22587C8</string> <string>Mac-F42D89A9</string> <string>Mac-F2268AC8</string> <string>Mac-F42C89C8</string> <string>Mac-942452F5819B1C1B</string> <string>Mac-F2218FA9</string> <string>Mac-F42D88C8</string> <string>Mac-94245B3640C91C81</string> <string>Mac-F42D86C8</string> <string>Mac-4BC72D62AD45599E</string> <string>Mac-F2268DAE</string> <string>Mac-2BD1B31983FE1663</string> <string>Mac-7DF21CB3ED6977E5</string> <string>Mac-F42C88C8</string> <string>Mac-94245A3940C91C80</string> <string>Mac-F42386C8</string> <string>Mac-C3EC7CD22292981F</string> <string>Mac-942B5BF58194151B</string> <string>Mac-F2218EC8</string> </array>

--
https://donmontalvo.com
4 ACCEPTED SOLUTIONS

thoule
Valued Contributor II

That's a challenging question. I don't have a real answer, but doing research on it and have the following info..

http://macops.ca/customizing-hardware-model-filters-for-netboot/

Apple makes use of the ‘board-id’ to determine whether a version of OS X 10.7 or 10.8 can be installed on a given machine. This can be retrieved via the ioreg command (ie. ioreg -l | grep board-id) and looks something like Mac-F4208CA9. Lists of these board-ids are in the Distribution files for the OS installers, and are also in a plist at /System/Library/CoreServices/PlatformSupport.plist within an InstallESD.dmg. What’s also interesting is that as of OS X 10.7.5 and 10.8.1, this plist contains a second array called SupportedModelProperties, which is a list of model identifiers. It would seem at first that perhaps this list could be directly mapped to the arrays we’re managing in the NBImageInfo.plist. However, there are several hardware models missing from SupportedModelProperties that I know are supported versions of the OS on those models, so unfortunately it looks like this isn’t a definitive list of models that’s used by installer, or at least not for determining eligibility for installation. A Mac will send its board-id and serial number to Apple via HTTP during Internet Recovery, but I’m not aware of a model-to-board-id mapping source anywhere. It’s possible that an organization with enough Macs could compile one itself.

And of course, 2 cents from Master Sutton. https://gist.github.com/timsutton/5189575

View solution in original post

Bruienne
New Contributor II

Another place to look is /System/Library/PrivateFrameworks/ServerInformation.framework/ServerInformation

Since BSDP (NetBoot) doesn't send a board ID (Mac-XXXXXXXX) but a system ID (ModelNameN,M) the BSDP server needs to do a lookup and match system ID to board ID if board IDs are used in an NBI's NBImageInfo.plist file. Aforementioned file appears to aid in that lookup operation though there may be other sources as well.

Speculation: older OS X Server versions may or may not be able to match board/system IDs of Macs released after the last OS update for it since the information in ServerInformation will not be updated with these newer board IDs and system IDs, explaining why some model filtering of new (MacPro6,1 etc.) may not work as expected with 10.6/10.7/10.8 Server versions.

View solution in original post

timsutton
Contributor

Also relevant:

http://managingosx.wordpress.com/2013/03/15/10-8-3-supported-platforms

Geekbench has a results browser, and each benchmark entry for a computer includes the board-id in the information, if you can filter out the results from Hackintoshes with spoofed board ID information.

Along with this in the result you can find at least one of 1) the model identifier (ie. iMac13,1), or 2) Apple's user-friendly model name (ie. "MacBook Pro (13-inch Mid 2012)"). If you don't have the model identifier in the result, you can map the model identifier to the user-friendly name via the Everymac website.

Combine this with the fact that the supported board IDs for a given installer are parseable from the Distribution in OSInstall.mpkg...

View solution in original post

7 REPLIES 7

thoule
Valued Contributor II

That's a challenging question. I don't have a real answer, but doing research on it and have the following info..

http://macops.ca/customizing-hardware-model-filters-for-netboot/

Apple makes use of the ‘board-id’ to determine whether a version of OS X 10.7 or 10.8 can be installed on a given machine. This can be retrieved via the ioreg command (ie. ioreg -l | grep board-id) and looks something like Mac-F4208CA9. Lists of these board-ids are in the Distribution files for the OS installers, and are also in a plist at /System/Library/CoreServices/PlatformSupport.plist within an InstallESD.dmg. What’s also interesting is that as of OS X 10.7.5 and 10.8.1, this plist contains a second array called SupportedModelProperties, which is a list of model identifiers. It would seem at first that perhaps this list could be directly mapped to the arrays we’re managing in the NBImageInfo.plist. However, there are several hardware models missing from SupportedModelProperties that I know are supported versions of the OS on those models, so unfortunately it looks like this isn’t a definitive list of models that’s used by installer, or at least not for determining eligibility for installation. A Mac will send its board-id and serial number to Apple via HTTP during Internet Recovery, but I’m not aware of a model-to-board-id mapping source anywhere. It’s possible that an organization with enough Macs could compile one itself.

And of course, 2 cents from Master Sutton. https://gist.github.com/timsutton/5189575

Bruienne
New Contributor II

Another place to look is /System/Library/PrivateFrameworks/ServerInformation.framework/ServerInformation

Since BSDP (NetBoot) doesn't send a board ID (Mac-XXXXXXXX) but a system ID (ModelNameN,M) the BSDP server needs to do a lookup and match system ID to board ID if board IDs are used in an NBI's NBImageInfo.plist file. Aforementioned file appears to aid in that lookup operation though there may be other sources as well.

Speculation: older OS X Server versions may or may not be able to match board/system IDs of Macs released after the last OS update for it since the information in ServerInformation will not be updated with these newer board IDs and system IDs, explaining why some model filtering of new (MacPro6,1 etc.) may not work as expected with 10.6/10.7/10.8 Server versions.

timsutton
Contributor

Also relevant:

http://managingosx.wordpress.com/2013/03/15/10-8-3-supported-platforms

Geekbench has a results browser, and each benchmark entry for a computer includes the board-id in the information, if you can filter out the results from Hackintoshes with spoofed board ID information.

Along with this in the result you can find at least one of 1) the model identifier (ie. iMac13,1), or 2) Apple's user-friendly model name (ie. "MacBook Pro (13-inch Mid 2012)"). If you don't have the model identifier in the result, you can map the model identifier to the user-friendly name via the Everymac website.

Combine this with the fact that the supported board IDs for a given installer are parseable from the Distribution in OSInstall.mpkg...

donmontalvo
Esteemed Contributor II

@thoule][/url @Bruienne][/url @timsutton][/url Thanks for your responses, I was hoping a lists exists. Doesn't look like one does.

@gregneagle][/url Thanks for your response over on IRC too. it was quite helpful. ;)

http://osx.michaellynn.org/freenode-osx-server/freenode-osx-server_2014-02-14.html

external image link

--
https://donmontalvo.com

sean
Valued Contributor

donmontalvo
Esteemed Contributor II

Thanks @sean, this is perfect!

--
https://donmontalvo.com

ClassicII
Contributor III

It only took 6 years, but here you go!

I was able to identify 137 Intel Mac BoardIDs from 2006-2019.

https://mrmacintosh.com/list-of-mac-boardids-model-identifiers-machine-models-updated/