Git Product home page Git Product logo

opencorepkg's Introduction

Additional features/changes implemented by this fork Build Status

[ Multi-Boot ]

     - ACPI patches and Booter Quirks are optional for non macOS with setting ACPI->Quirks->EnableForAll / Booter->Quirks->EnableForAll to yes (default is no).
     - SMBIOS and Device Properties patches will only applied to macOS.

[ Hotkeys ]

     - Full functional Hotkeys [1-9] corresponding to Boot Entry's Index number and dedicated W (Windows) / X (macOS) keys can be used without seeing Boot Picker. While in boot picker, F10 can use to take a snapshot of the screen.

[ Ui Boot Picker ]

      - Mouse support.
      - Bios Date/time, auto boot to the same OS or manual set to always boot one OS mode, and OC version are displayed in boot picker.
      - Auto boot to previous booted OS (if Misc->Security->AllowSetDefault is NO/false).
      - macOS Recovery/Tools Entries are hidden by default, use Spacebar/Mouse ClickRight in Boot Menu as a toggle on/off to show/hide hidden entries.

[ Custom Entries ]

      - Custom entries are now listed first in picker menu and by the orders they are appeared in Misc->Boot->Entries, before all other entries.
      - Ability to change entry name found by auto scanner by adding custom entry with the exact same device path, this will give users the option to complete change how all boot entries listed in Boot Picker.

[ Others ]

      - No verbose apfs.efi driver loading (if using apfs.efi instead of ApfsDriverLoader.efi).
      - ndk-macbuild.tool script are set to compile with latest edk2 (One can easily set to stable edk2 if prefer).

Usage:

  • To build OpenCore, run "./ndk-macbuild.tool" at Terminal (require Xcode and Xcode Command Line Tool installed, and open xcode to accept license agreement before compiling).

N-D-K fork discussion:

InsanelyMac.com in English

OpenCore bootloader with development SDK.

Discussion

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

opencorepkg's People

Contributors

al3xtjames avatar andrey1970applelife avatar cattyhouse avatar christian0101 avatar cotsog avatar crazyi avatar dhinakg avatar dreamwalkerxz avatar gengik84 avatar goldfish64 avatar hieplpvip avatar leoyzen avatar lvs1974 avatar macos86-it avatar mhaeuser avatar midi1996 avatar mrmiller avatar n-d-k avatar nms42 avatar notiflux avatar pavo-im avatar pmheart avatar reitermarkus avatar rockjesus avatar savvamitrofanov avatar taiphamd avatar usr-sse2 avatar vandroiy2013 avatar vit9696 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opencorepkg's Issues

New boot menu: os_mac.icns missing (not recognizing os_cata or os_win10)

The new boot menu is really beautiful, but there is no icon showing for my macOS Catalina system drive (which must have been os_mac.icns in the previous versions). Windows 10 shows the os_win.icns icon (which has always been that way) – I wonder why it’s not showing the os_win10 icon instead (and of course why os_cata.icns is not shown for the Catalina drive).
ScreenShot-2020-03-18-004017
EDIT: SOLVED by using custom entries named "macOS Catalina" and "Windows 10". Now the correct icons appear. :-)
ScreenShot-2020-03-18-005323

ACPI not properly loaded without -v boot-arg

I know it sounds really strange and doesn't make much sense but i tested this many times and it checks out. When NOT having verbose (-v) as a boot-arg, when booting (at the first Apple Logo) my keyboard does NOT light up and i need to unplug and replug it.

However, when enabling verbose in boot-args i can see in the logs that ACPI is properly supplying power to my USBs and the keyboard lights up as it should.

It is a race condition of some sort. Any ideas on how this could be fixed?

** i have been using your fork . Also i can provide my config.plist upon request and any other needed info.

Specs:

  • Ryzen 7 2700
  • MSI B450 Mortar Max
  • RX 460

Font issues in menu

There are font issues in the menu (see pictures). In my case the issues occur in the names of my custom entries for macOS and Windows.
On my 4K monitor the font and the icons all look very pixelated, but this is not a new issue. It would be nice to have font and icons which look clear on a 4K display anyway.
ScreenShot-2020-03-11-131826
ScreenShot-2020-03-11-131833

BUG report

I found i can't boot into RecoveryHD, maybe your mod discriminate it as an other OS not a part of macos ,but the version 3 days ago can

Windows is always default Boot Device in New Version with Icon Support

Nice Work n-d-k.
To me it turns out now, that Windows is always the default boot device, even with selected macOS in System Preferences->Startup Disk. I have set Windows in Misc->Entries->Hidden to YES, but the Windows Icon appears anyway. With the previous version (without Icons) it worked like expected. I just got the two macOS disks and the whole rest (Windows, Recoverys, Shell and Reset Nvram) appeared only after pressing the space key. Do you have any Suggestions?

Can you update your fork to OpenCore 0.6.0?

I need the latest version of OpenCore to boot correctly my Hackintosh! So can you update your fork to OpenCore 0.6.0, because with the original OpenCore Windows doesn't want to boot!
Thanks!

auto scanner could be more robust

Auto scanner seems to stop once it finds the first EFI when scanning the EFI Partition.

My disk structure is as follows:

EFI (main NVMe)
--OC
--Windows

EFI (TM Backup)
(Nothing)

NDK OC does not detect the Windows boot loader in this scenario.

How's it going

How's it going bro and when will you continue to update?

Opencore 0.5.9 release breaks N-D-K Build

Hi there, I can't seem to build the latest release of open core. I am familiar with the process and have always succeeded in the past, but now the build fails every time.

What I've tried:
Xtools 1.4 beta (with command line tool)
Xtools 1.5 (with command line tool)

I'm running Catalina 10.15.2,
also tried on Catalina 10.15.4
NDK fail.txt

OcSimpleBootMenuInternal.h add UI_ICON error

In the OcSimpleBootMenuInternal.h file, add a new UI_ICON name to the UI_ICON section
If you build, it will automatically change to version 0.5.9.
In version 0.5.9
The added icon definition does not work properly.
Are there any further modifications?
Or in version 0.5.8
Is there a way to build it?

ScreenShot-2020-05-08-215533
스크린샷 2020-05-09 오전 6 51 27

linux boot error

in opencore 0.5.6-0.5.8 Dev version
When booting KaliLinux with open core,
A ramdisk error occurs and a freeze occurs.
And when I mount the Kalin Linux efi partition on my Mac, I get an error that the Kalin Linux EFI boot partition is saved in the BIOS.
Opencore 0.5.5 was able to boot normally, but after updating
This happens.
Is there any other way to boot KaliLinux normally from open core?

NVRAM problem

This version of the OC bootloader has been modified very well, but there is a problem with the ResetNVRAM option not showing up in the startup menu, how to fix it

OpenShell not show in boot menu

With recent release of NDK OpenShell.efi not show on boot menu. All other icons and tool items work. Same plist works on standard fork.

question

There are several questions I would like to ask:

  1. I tried to use OC to boot my laptop. It was HP-840G3. It turned out to be 10.14.6 with CLOVER boot. Everything is normal. However, using OC boot, I found only another Windows partition in the boot menu instead of showing the existing one NVME MAC system partition. This is the reason for scanning. The scanning policy value in the configuration file is already 0.
  2. I guided your version on my laptop, and unexpectedly found that the startup interface has a LOGO character and a version number on the lower right corner, but it cannot be displayed on my desktop computer
    THANK YOU!

about AllowsetDefault

Does The original OC AllowsetDefault option conflict with your Auto boot to last booted macOs or Windows feature?

Select boot drives in Startup Disk preference panel

  • If i select macOS boot drive in Startup Disk preference panel, macOS won't boot with error "OCB: LoadImage failed - Not Found. Halting on critical error."
  • If i select Windows boot drive in Startup Disk preference panel i get message "You can't change the startup disk to the selected disk. The bless tool was unable to set the current boot disk.".

On the original OpenCore fork this works without problem.

btw, good work with your customization :-)

Would it be possible to update to current upstream version?

Would it be possible to merge downstream updates from mbarbierato/OpenCorePkg and then update the code to implement commits from upstream version 0.6.4 (last release tag from mbarbierato repo) onwards?

Really don't have enough coding skills myself to try that, and mbarbierato GitHub repo lacks an "issues" page, so I couldn't even try to ask them.

Thanks in advance.

Latest build not compiling

Hello n-d-k,

Latest build isn't compiling, throws this error:
clang: error: no such file or directory: 'brotli/c/tools/brotli.o' clang: error: no such file or directory: 'brotli/c/common/dictionary.o' clang: error: no such file or directory: 'brotli/c/common/transform.o' clang: error: no such file or directory: 'brotli/c/dec/bit_reader.o' clang: error: no such file or directory: 'brotli/c/dec/decode.o' clang: error: no such file or directory: 'brotli/c/dec/huffman.o' clang: error: no such file or directory: 'brotli/c/dec/state.o' clang: error: no such file or directory: 'brotli/c/enc/backward_references.o' clang: error: no such file or directory: 'brotli/c/enc/backward_references_hq.o' clang: error: no such file or directory: 'brotli/c/enc/bit_cost.o' clang: error: no such file or directory: 'brotli/c/enc/block_splitter.o' clang: error: no such file or directory: 'brotli/c/enc/brotli_bit_stream.o' clang: error: no such file or directory: 'brotli/c/enc/cluster.o' clang: error: no such file or directory: 'brotli/c/enc/compress_fragment.o' clang: error: no such file or directory: 'brotli/c/enc/compress_fragment_two_pass.o' clang: error: no such file or directory: 'brotli/c/enc/dictionary_hash.o' clang: error: no such file or directory: 'brotli/c/enc/encode.o' clang: error: no such file or directory: 'brotli/c/enc/encoder_dict.o' clang: error: no such file or directory: 'brotli/c/enc/entropy_encode.o' clang: error: no such file or directory: 'brotli/c/enc/histogram.o' clang: error: no such file or directory: 'brotli/c/enc/literal_cost.o' clang: error: no such file or directory: 'brotli/c/enc/memory.o' clang: error: no such file or directory: 'brotli/c/enc/metablock.o' clang: error: no such file or directory: 'brotli/c/enc/static_dict.o' clang: error: no such file or directory: 'brotli/c/enc/utf8_util.o' make[2]: *** [../bin/Brotli] Error 1 make[1]: *** [BrotliCompress] Error 2 make: *** [Source/C] Error 2

Can't boot to Linux but success boot to Windows

After adding entries to config.plist for windows and Linux, booting to Windows 10 is OK event on Same SSD (my Dell e7270 laptop only have 1 SSD slot)after renaming bootx64.efi to bootx64-OC.efi.
Never success boot to Linux, pickers is show but after pick and grub show, is black screen.
Any clues for boot to Linux?

There was one problem I never knew why

On my desktop computer, the motherboard is Asus B150-plus, why use OC boot, in the entry BIOS interface is black screen, but confirmed that has entered the BIOS settings interface, can not see any screen, however, if ResetNvram can be normal access to the display BIOS interface

ACPI->Quirks->EnableForAll ignores os listed in entries

my computer has a 1T ssd, so I installed the mac and windows both on this ssd, and I really don't know how to create two esp on one ssd and make each os use only one of these esps. So I only have one esp on ssd.

So opencore can not detect windows on same esp, I have to use custom entries to add a windows boot option.

then here comes the problem, I have enabled the Hyper-V on windows 10, then no matter EnableForAll is true or false, windows 10 will always boot into BSOD, if I use F12 to boot windows at bios, then everything is fine.

so either EnableForAll doesn't work for entries or opencore has something conflict with Hyper-V feature.

and another thing, seems you forgot to tag the 0.5.5 version.

Using OpenCanopy.efi

I have OpenCanopy.efi in the Drivers folder and declared in the config.plist, but when I set Picker to External, I am not greeted with OpenCanopy. How can this be remedied?

Ender.

about resetnvram

The allow resetnvram option is already enabled in config.plist, and the same config file can be displayed using the original OC, but not with your modified version, and the option to use the keyboard up and down in the startup menu can only be cycled through the first three options, and can not choose after the fourth item, why?

Using Tools from Boot Picker

When i use some Tool from Boot Picker (e.g. Shell) so after i quit this tool it won't go back to Boot Picker but i get this error "OC: Tool Tools<null string> cannot be found! Halting on critical error".

No problem on the original OpenCore.

Custom entry prevents mounting "Install MacOS" Partition for macOS updates

Hi there,

i'm running your fork 0.5.6 with three custom entries.

  1. macOS
  2. Win10
  3. Carboncopy-Clone

Yesterday I want to update my macOS installation to 10.15.3.
Sadly - the well known "install macOS" partition wasn't shown up in the boot picker after the initial reboot. So no way to update macOS. :(

After some testing I found out that this seems to be a problem of the custom entries.
As soon as I deactivate the custom entry of my macOS, the "install macOS"-partition was listed in the boot picker and I was able to make the update.

But - hopefully - that workaround isn't the planned solution and you'll provide a fix for this.

About the OC changing the bios boot sequence

If enter windows with a boot menu or keyboard shortcut, the next boot will automatically reset the windows boot manage option to the first entry in the bios, something the previous version didn't seem to have?

Transparent Icons are not supported in Picker

I am trying to port a Clover theme to this forked version of OpenCore. But if I uses icns from other Clover themes (which is transparent) will end up in this:

ScreenShot-2020-03-10-142049

I have noticed the icns files given in the repo all have background. Does that mean the transparent icns and images are not supported yet?

hotkey W invalid

After your version update, pressing W to start windows doesn't seem to work?

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.