Skip to content

hzx505/MacInfoPkg

 
 

Repository files navigation

MacInfoPkg

Build Status

Various information about Mac hardware used by multiple projects, including OpenCore.

Current database status maintained by @Andrey1970AppleLife.

macserial

macserial is a tool that obtains and decodes Mac serial number and board identifier to provide more information about the production of your hardware. Works as a decent companion to Apple Check Coverage and Apple Specs portal. Check the format description for more details.

Should be built with a compiler supporting C99. Prebuilt binaries are available for macOS 10.4 and higher.

Run with -h argument to see all available arguments.

macrecovery

macrecovery is a tool that helps to automate recovery interaction. It can be used to download diagnostics and recovery as well as analyse MLB.

Requires python to run. Run with -h argument to see all available arguments.

Improving database

To add a new hardware board, please create a file in DataBase directory, and then run ./update_generated.py. It should not output anything and return zero code.

To install PyYAML on macOS use the following commands:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo -H python get-pip.py
sudo -H pip install pyyaml

Unpacking firmwares

To update the database you can either get the information from firmware images or from running hardware. There currently are two places for firmware images: FirmwareUpdate.pkg for generic models and BridgeOSUpdateCustomer.pkg for T2 models (the entire restore list is available at mesu.apple.com) To use them do as follows:

  1. Visit suitable update catalogue by filling the OS versions (e.g. this one for 10.15 beta).
  2. Download most recent FirmwareUpdate.pkg and BridgeOSUpdateCustomer.pkg.
  3. Extract scap files from FirmwareUpdate.pkg files and use them as is.
  4. Extract /usr/standalone/firmware/bridgeOSCustomer.bundle/Contents/Resources/UpdateBundle.zip file from BridgeOSUpdateCustomer.pkg and unpack it.
  5. After unpacking UpdateBundle.zip go to boot/Firmware/MacEFI directory and unpack im4p files. You can use img4, img4tool, or our dedicated MacEfiUnpack. For example, for i in *.im4p ; do ./MacEfiUnpack.py "$i" ; done

Credits

  • All database maintainers, who continue to actualise data
  • AppleLife and VirtualSMC hardware dump databases
  • Chameleon and Clover teams for legacy Apple SMBIOS database
  • al3xjames for several hints and another database
  • CCC and ...numberinfo.com for hiding their work and inspiring others to reverse it
  • Several guys from AppleLife for conducting relevant parts of the research, thanks a lot!
  • vit9696

About

Mac Platform Information

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 74.8%
  • C 17.4%
  • Python 6.5%
  • Other 1.3%