Code Monkey home page Code Monkey logo

macinfopkg's Introduction

MacInfoPkg

This fork includes a linux build of macserial (downlaodable from releases)

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

macinfopkg's People

Contributors

andrey1970applelife avatar vit9696 avatar vandroiy2013 avatar al3xtjames avatar cattyhouse avatar chriswayg avatar kylon avatar pavo-im avatar rickmark avatar sher1ocks avatar benbaker76 avatar roddy20 avatar

Stargazers

Bill McGonigle avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.