Can you elaborate please?
I have two versions of OpenCore in my EFI as shown below:
/EFI/OC
has a config file for Acceleration
/EFI/OC_Basic
has a standard config file.
/EFI/refind/refind_GOPx64.efi
is blessed. It loads
/EFI/refind/refind.conf
, a standard refind conf file, which pulls in
/EFI/refind/chainloader/config.conf
where overrides live.
/EFI/refind/chainloader/config.conf
is setup to give an option to boot into either one of the OpenCore versions by using manual stanzas.
I found it was important that the HWAccelarated version be in OC and be booted via
/EFI/BOOT/BOOTx64.efi
as the acceleration did not work otherwise.
Extract from
/EFI/refind/chainloader/config.conf
below.
Code:
# OpenCore Stanza
# OpenCore with video hardware acceleration.
# Loaded from "/EFI/OC" Folder and is the default.
menuentry "OpenCore Accel" {
icon /EFI/refind/chainloader/images/os_opencore.png
loader /EFI/BOOT/BOOTx64.efi
}
# OpenCore Stanza
# Basic OpenCore Instance.
# Loaded from "/EFI/OC_Basic" Folder.
menuentry "OpenCore Basic" {
icon /EFI/refind/chainloader/images/os_opencore.png
loader /EFI/OC_Basic/OpenCore.efi
}
# Mac OS Stanza
# Update this stanza to allow Refind to boot directly to a working installation of macOS
# Bypasses Opencore and can be useful for recovery.
# Also allows easy loading of things such as Single User Mode
# Update "volume" and remove "disabled" flag to update
menuentry "Mac OS" {
icon /EFI/refind/chainloader/images/os_mac.png
volume "Macintosh HD"
loader /System/Library/CoreServices/boot.efi
ostype "MacOS"
}
Left myself an option to boot directly into macOS from Refind if needed.
Also loading a next-loader from a non-EFI card works on cMP5.1. What does not work is the boot screen. So you are not able to see what you are doing, but you can select a boot option blindly.
Probably the same with Refind in that case.
By default next-loader default boot drive is the last booted volume, so if you just click enter it should go to OC.
Refind also has the same default but my setup has it to always pick the "OpenCore Accel" menu entry and the entries are always arranged in the order they appear in the manual stanzas. I disabled Refind scanning for anything and it only shows what I have put in the maunal stanzas.
Order is:
- OpenCore Accel
- OpenCore Basic
- Mac OS
- Windows
- Linux
So when it loads, if you press enter immediately, it will load OpenCore Accel. Press arrow key three times and enter to load Windows. Positions never change.
I think the best approach is to create a GOP EFI loader based on the OC GOP replacement code and put it in refind/next-loader drivers folder.
Way above my knowledge level. Luckily,
@DearthnVader managed to get a version of Refind to load the Boot Screen on cMP 3,1 but with the fixed position, it is possible to do it blind if needed.
I wrote a suite of small apps and pulled a few others together to help manage things as i think I must have rebooted a thousand times in the last few days trying to figure out the OpenCore Boot Coups and it was getting tiring typing in commands.
- CheckOC.sh: Bash Script to verify OC has been loaded
- gxutil: Displays Device Properties (Used by CheckOC.sh)
- VDADecoderChecker: Checks for HWAcceleration. (Used by CheckOC.sh)
- BootBlesser: Applescript App to bless Refind or OpenCore.
- EFI_Util: Applescript App to load EFI Partition.
- RefindReBlesser: Applescript App that enables or disables LaunchDaemon that thwarts OpenCore Boot Coups
- ResetStartDisk: Applescript App to Reset Start Disk
Also
- Loader Folder contains copy of EFI folder shown earlier
- DefaultVolume file contains name of volume if EFI is put in a Volume as opposed to an EFI Partition. BootBlesser and RefindReblesser can read contents so no need to navigate each time these are used.
- DefaultLabel file contains name of any volume on the disk containing EFI partition if EFI is in EFI Partition. EFI_Util, BootBlesser and RefindReblesser can read contents so no need to navigate each time these are used.
Will package as a toolkit and put a post together on this later.