Skip to content

acidanthera/OpenCorePkg

Folders and files

NameName
Last commit message
Last commit date
Mar 27, 2023
Nov 20, 2024
Sep 18, 2024
Jan 17, 2024
Dec 8, 2023
Nov 8, 2023
Dec 30, 2024
Dec 22, 2024
Jul 26, 2024
Dec 28, 2024
Mar 5, 2022
Dec 28, 2024
Dec 29, 2024
Apr 13, 2023
May 31, 2024
Nov 26, 2024
Aug 8, 2021
May 17, 2020
Nov 23, 2023
May 9, 2020
Dec 29, 2024
May 6, 2020
Feb 29, 2020
Jul 26, 2024
Nov 30, 2024
Feb 21, 2023
Aug 31, 2022
Nov 30, 2024
Nov 23, 2023
Nov 30, 2024
Nov 6, 2023
May 8, 2022
Apr 24, 2024
Nov 30, 2024
Aug 9, 2023
Dec 16, 2020

Repository files navigation

Build Status Scan Status

OpenCore bootloader with development SDK.

Libraries

This repository also contains additional UEFI support common libraries shared by other projects in Acidanthera. The primary purpose of the library set is to provide supplemental functionality for Apple-specific UEFI drivers. Key features:

  • Apple disk image loading support
  • Apple keyboard input aggregation
  • Apple PE image signature verification
  • Apple UEFI secure boot supplemental code
  • Audio management with screen reading support
  • Basic ACPI and SMBIOS manipulation
  • CPU information gathering with timer support
  • Cryptographic primitives (SHA-256, RSA, etc.)
  • Decompression primitives (zlib, lzss, lzvn, etc.)
  • Helper code for ACPI reads and modifications
  • Higher level abstractions for files, strings, UEFI variables
  • Overflow checking arithmetics
  • PE image loading with no UEFI Secure Boot conflict
  • Plist configuration format parsing
  • PNG image manipulation
  • Text output and graphics output implementations
  • XNU kernel driver injection and patch engine

Early history of the codebase could be found in AppleSupportPkg and PicoLib library set by The HermitCrabs Lab.

OcGuardLib

This library implements basic safety features recommended for the use within the project. It implements fast safe integral arithmetics mapping on compiler builtins, type alignment checking, and UBSan runtime, based on NetBSD implementation.

The use of UBSan runtime requires the use of Clang compiler and -fsanitize=undefined argument. Refer to Clang documentation for more details.

Credits

Discussion

Please refer to the following list of OpenCore discussion forums.