Jump to content
28 posts in this topic

Recommended Posts

LauncherOption instead of Bootstrap.efi

In OC 0.6.6 there is a major change from previous versions. Until now OC was an EFI driver and it needed a loader. Bootstrap.efi or BOOTx64.efi performed this function. But now OC is an app and it no longer needs a loader. This improves compatibility with UEFI firmwares.
End user will notice this change by the absence of Bootstrap folder and the substitution in config.plist of Misc> Security> BootProtect key with LauncherOption and LauncherPath keys, both in Misc> Boot.

In Dortania's 
guide they explain this change but in summary the process can be similar to this:

  • Enter into Boot section of BIOS setup to erase entries that contain OpenCore, placing macOS disk as the first option
  • ResetNVRAM in OC menu
  • Prepare OC 0.6.6 EFI folder
  • Configure LauncherOption and LauncherPath
    LauncherOption=Disabled
    LauncherPath=Default
  • Reboot by removing OpenCore entries in BIOS again and cleaning NVRAM.

 

From now on there are 2 ways to work.

  • LauncherOption=Disabled (equivalent to BootProtect=None in OC 0.6.5): computer's boot menu shows connected disks but OC does not write its own entry into BIOS
  • LauncherOption=Full (equivalent to BootProtect=Bootstrap in OC 0.6.5): OC writes an entry into BIOS pointing directly to OpenCore.efi and the computer's boot menu shows OC and connected disks.

 

LauncherOption=Full must be accompanied by UEFI> Quirks> RequestBootVarRouting=True.

config.plist

 

  • Kernel> Quirks> added SetApfsTrimTimeout (number) to improve trim command on APFS disks, it can be -1
  • Misc> Boot> added LauncherOption (string) and LauncherPath (string)
  • Misc> Security> removed BootProtect
  • Platform> Generic> added MaxBIOSVersion (boolean), can be False
  • Platform> added UseRawUuidEncoding (boolean) to choose the encoding style of SMBIOS UUID, can be False
  • UEFI> Audio> PlayChime (string) cannot be empty
  • UEFI> Input> KeySupportMode (string) cannot be empty, default is Auto
  • UEFI> Input> PointerSupportMode (string) cannot be empty if PointerSupport is enabled
  • UEFI> Quirks> added DisableSecurityPolicy (boolean) to disable various security measures in the firmware eliminating the possibility of having Secure Boot. It can be False. It should not be True if UEFI Secure Boot is used.

 

Files and folders

 

  • Bootstrap folder has been removed.
  • VBoxHfs.efi driver has been replaced by OpenHfsPlus.efi derived from Apple's proprietary driver, it still does not reach the performance of HfsPlus.efi but outperforms VBoxHfs.efi.
  • OpenPartitionDxe.efi driver has been added incorporating Apple Partition Management scheme to support older systems (mac OS 10.8 and 10.9).
  • ocvalidate tool has been improved in the Misc, NVRAM and UEFI sections
  • OpenCanopy has been improved. In this version I have had to use the Resources folder from the @Andrey1970 GitHub site because OC 0.6.6 needs 2 new icons, Left and Right. If they are missing, the Picker is displayed in text mode.
    In Misc> Boot, PickerVariant key can have different values (Auto, Default, Old, Modern) and Images folder within Resources can have icon sets of 3 groups: no prefix (Default), prefixed with Modern and prefixed with Old. Auto option chooses the set of icons according to the NVRAM variable DefaultBackgroundColor, for Light Gray it chooses the Old prefix, for any other color it chooses the set without prefix.
    OpenCanopy has also added the option of image as the background of the Picker screen.

 

Note: for OpenCanopy updated icons, it's recommended to read this post by @blackosx with a detailed explanation of changes in OpenCanopy in OC 0.6.6. This user also has icons suitable for 0.6.6 and a command to generate custom icon sets, you have them in post 1 of OpenCanopy icons.

@chris1111 also has updated icons for 0.6.6 and icon pack generator. In the thread My Simple theme OC + Icnspack-Builder.

If you have an Aorus mobo, try the @blackosxBOCIP_3_LE_OrangeGlow_AORUS pack, including background. I love it. Very nice.

 

Note: remember that, if you boot Windows from OC, to prevent OC from injecting SMBIOS values you have to act on these keys in config.plist:

  • Kernel> Quirks> CustomSMBIOSGuid> True (default is False)
  • PlatformInfo> UpdateSMBIOSMode> Custom (default is Create).


As extra help, I attach my config.plist from OC 0.6.6 configured for Coffee Lake processor. Serial numbers have been changed to not match mine.

config.plist

Edited by miliuco
DisableSecurityPolice changed to DisableSecurityPolicy
  • Like 4
  • Thanks 5
8 hours ago, Bernardo415 said:

I have OpenHfsPlus.efi and HfsPlus.efi configured in my config.plist, is it fine or should I take only one, and if so, which one should I leave configured? 

Only one of them. Difference in performance is negligible in the real world.  HfsPlus is proprietary of Apple and OpenHfsPlus is open souce.

Edited by miliuco
  • Thanks 2
9 hours ago, Hervé said:

Happy to report that with this 0.6.6 version, the quirks that mean to prevent values to be injected into Windows appear to work. Well mostly... I no longer have Windows telling me it's running on a MacBookPro11,1 but the SSDT-UIAC still pushes an unknown device in Win10; no impact though so I can live with his.

Yes, in my case it works fine too. No data is injected. I don't use SSDT-UIAC, only UsbMap.kext.

Edited by miliuco

By using LaucherOption, can someone please tell me how the next upgrade will be done? I really screwed this up and needed to reflash by BIOS as the Opencore configurator automatically updated to latest version, thus removing BootProtect option before I upgraded. Ended in a "Halt on Critical Error" boot time and required a BIOS reflash to regain boot.

On 2/6/2021 at 1:18 AM, miliuco said:

LauncherOption instead of Bootstrap.efi

In OC 0.6.6 there is a major change from previous versions. Until now OC was an EFI driver and it needed a loader. Bootstrap.efi or BOOTx64.efi performed this function. But now OC is an app and it no longer needs a loader. This improves compatibility with UEFI firmwares.
End user will notice this change by the absence of Bootstrap folder and the substitution in config.plist of Misc> Security> BootProtect key with LauncherOption and LauncherPath keys, both in Misc> Boot.

In Dortania's 
guide they explain this change but in summary the process can be similar to this:

  • Enter into Boot section of BIOS setup to erase entries that contain OpenCore, placing macOS disk as the first option
  • ResetNVRAM in OC menu
  • Prepare OC 0.6.6 EFI folder
  • Configure LauncherOption and LauncherPath
    LauncherOption=Disabled
    LauncherPath=Default
  • Reboot by removing OpenCore entries in BIOS again and cleaning NVRAM.

 

From now on there are 2 ways to work.

  • LauncherOption=Disabled (equivalent to BootProtect=None in OC 0.6.5): computer's boot menu shows connected disks but OC does not write its own entry into BIOS
  • LauncherOption=Full (equivalent to BootProtect=Bootstrap in OC 0.6.5): OC writes an entry into BIOS pointing directly to OpenCore.efi and the computer's boot menu shows OC and connected disks.

 

LauncherOption=Full must be accompanied by UEFI> Quirks> RequestBootVarRouting=True.

config.plist

 

  • Kernel> Quirks> added SetApfsTrimTimeout (number) to improve trim command on APFS disks, it can be -1
  • Misc> Boot> added LauncherOption (string) and LauncherPath (string)
  • Misc> Security> removed BootProtect
  • Platform> Generic> added MaxBIOSVersion (boolean), can be False
  • Platform> added UseRawUuidEncoding (boolean) to choose the encoding style of SMBIOS UUID, can be False
  • UEFI> Audio> PlayChime (string) cannot be empty
  • UEFI> Input> KeySupportMode (string) cannot be empty, default is Auto
  • UEFI> Input> PointerSupportMode (string) cannot be empty if PointerSupport is enabled
  • UEFI> Quirks> added DisableSecurityPolice (boolean) to disable various security measures in the firmware eliminating the possibility of having Secure Boot. It can be False. It should not be True if UEFI Secure Boot is used.

 

Files and folders

 

  • Bootstrap folder has been removed.
  • VBoxHfs.efi driver has been replaced by OpenHfsPlus.efi derived from Apple's proprietary driver, it still does not reach the performance of HfsPlus.efi but outperforms VBoxHfs.efi.
  • OpenPartitionDxe.efi driver has been added incorporating Apple Partition Management scheme to support older systems (mac OS 10.8 and 10.9).
  • ocvalidate tool has been improved in the Misc, NVRAM and UEFI sections
  • OpenCanopy has been improved. In this version I have had to use the Resources folder from the @Andrey1970 GitHub site because OC 0.6.6 needs 2 new icons, Left and Right. If they are missing, the Picker is displayed in text mode.
    In Misc> Boot, PickerVariant key can have different values (Auto, Default, Old, Modern) and Images folder within Resources can have icon sets of 3 groups: no prefix (Default), prefixed with Modern and prefixed with Old. Auto option chooses the set of icons according to the NVRAM variable DefaultBackgroundColor, for Light Gray it chooses the Old prefix, for any other color it chooses the set without prefix.
    OpenCanopy has also added the option of image as the background of the Picker screen.

 

Note: for OpenCanopy updated icons, it's recommended to read this post by @blackosx with a detailed explanation of changes in OpenCanopy in OC 0.6.6. This user also has icons suitable for 0.6.6 and a command to generate custom icon sets, you have them in post 1 of OpenCanopy icons.

@chris1111 also has updated icons for 0.6.6 and icon pack generator. In the thread My Simple theme OC + Icnspack-Builder.

If you have an Aorus mobo, try the @blackosxBOCIP_3_LE_OrangeGlow_AORUS pack, including background. I love it. Very nice.

 

Note: remember that, if you boot Windows from OC, to prevent OC from injecting ACPI values you have to act on these keys in config.plist:

  • Kernel> Quirks> CustomSMBIOSGuid> True (default is False)
  • PlatformInfo> UpdateSMBIOSMode> Custom (default is Create).


As extra help, I attach my config.plist from OC 0.6.6 configured for Coffee Lake processor. Serial numbers have been changed to not match mine.

config.plist 18.68 kB · 13 downloads

I confirm the fact that opencore can inject Acpi values to Windows I found myself with the SN and SNID of the machine equal to that of the hack, thanks to you I put everything back in place

4 hours ago, mengshi said:

By using LaucherOption, can someone please tell me how the next upgrade will be done? I really screwed this up and needed to reflash by BIOS as the Opencore configurator automatically updated to latest version, thus removing BootProtect option before I upgraded. Ended in a "Halt on Critical Error" boot time and required a BIOS reflash to regain boot.

I have not seen that error that you comment. Now do you start fine with 0.6.6 or do you have to go back to 0.6.5 to be able to start? Do you have LauncherOption = Disabled?

 

Edited by miliuco
2 hours ago, antuneddu said:

I confirm the fact that opencore can inject Acpi values to Windows I found myself with the SN and SNID of the machine equal to that of the hack, thanks to you I put everything back in place

:) you're wellcome.

On 2/6/2021 at 1:18 AM, miliuco said:

 

 

From now on there are 2 ways to work.

  • LauncherOption=Full (equivalent to BootProtect=Bootstrap in OC 0.6.5): OC writes an entry into BIOS pointing directly to OpenCore.efi and the computer's boot menu shows OC and connected disks.

 

 

 

 

So after bootstrap is gone with 0.6.6 anyway , does that consequently mean that /Boot/BOOTx64.efi won't be needed anymore and can be removed too from /EFI/EFI ??

Edited by polkaholga
17 minutes ago, polkaholga said:

So after bootstrap is gone with 0.6.6 anyway , does that consequently mean that /Boot/BOOTx64.efi won't be needed anymore and can be removed too from /EFI/EFI ??

From Dortania’s guide:

 

If everything is set up correctly, the first boot will have OpenCore create a new boot option in our BIOS (pointing to EFI/OC/OpenCore.efi) and future boots will update the entry making sure it's correct and ensuring it is still present. This now allows us to remove BOOTx64.efi and not worry about other OSes overwriting the EFI/BOOT/BOOTx64.efipath.

 

I think it’s not needed only with LauncherOption=Full. 

Edited by miliuco
Misspelling corrected.
12 minutes ago, miliuco said:

From Dortania’s guide:

 

If everything is set up correctly, the first boot will have OpenCore create a new boot option in our BIOS (pointing to EFI/OC/OpenCore.efi) and future boots will update the entry making sure it's correct and ensuring it is still present. This now allows us to remove BOOTx64.efi and not worry about other OSes overwriting the EFI/BOOT/BOOTx64.efipath.

 

I think it’s not needed only with LauncherOption=Full. 

Just gave it a try...

Can confirm it works.

 

Edited by polkaholga
typos
  • Like 1
1 hour ago, miliuco said:

I have not seen that error that you comment. Now do you start fine with 0.6.6 or do you have to go back to 0.6.5 to be able to start? Do you have LauncherOption = Disabled?

 

 

Now running ok with LauncherOption = Disabled now.

 

My screw up was the sequence of doing things that I got wrong and it was unrecoverable due to the the Halt on Critical Error until I flash the ROM. It was from using an autoupdated OpenCore Configurator. Basically I didn't do the steps in "Updating Bootstrap in 0.6.6" in the Dortania guide properly because there was no entry for Misc->Security->Bootprotect that I could set for "None"

 

I think the guide has to be written better due to this. I only read the PSA on Reddit later after I used my installer USB to get back to look for solutions.

1 hour ago, miliuco said:

With LauncherOption=Full?

Yes, 1st removed all OpenCore boot options from BIOS

- booted from my OSX drive

- rebootet from new created OpenCore option (in BIOS)

- removed /EFI/EFI/Boot/BOOTx64.efi and removed /EFI/EFI/OC/Bootstrap/BOOTx64.efi

- set Misc/Boot/LauncherOption = Full in config

- rebooted...

 

Works !

 

 

  • Like 1
38 minutes ago, MorenoAv said:

Hi @polkaholga

how do you removed the OpenCore boot options from the bios?

Thanks

 

- set /Misc/LauncherOption = Disabled in config

- booted and cleared NVRAM in the picker

- rebooted to BIOS ( now only shows my Windows and OSX drive )

- set my OSX drive as 1st and only boot option in BIOS

- booted from my OSX drive

- did the rest as described in my previous post

 

Edited by polkaholga
spelling
56 minutes ago, MorenoAv said:

Hi @polkaholga

how do you removed the OpenCore boot options from the bios?

Thanks

 

You have to enter BIOS configuration> boot order (or something similar), where you see the boot devices ordered from the first one onwards, entries that have the word OpenCore, delete them, and leave only those that are disks connected to the computer.

This is in step 4 of the @polkaholga instructions.

 

 

Edited by miliuco
Info added.
  • Thanks 1
49 minutes ago, mengshi said:

Mine is working also with LauncherOption=full

Yes, you can work in 2 ways. 

  • LauncherOption=Disabled (equivalent to BootProtect=None in OC 0.6.5): computer's boot menu shows connected disks but OC does not write its own entry into BIOS
  • LauncherOption=Full (equivalent to BootProtect=Bootstrap in OC 0.6.5): OC writes an entry into BIOS pointing directly to OpenCore.efi and the computer's boot menu shows OC and connected disks.
54 minutes ago, miliuco said:

Yes, you can work in 2 ways. 

  • LauncherOption=Disabled (equivalent to BootProtect=None in OC 0.6.5): computer's boot menu shows connected disks but OC does not write its own entry into BIOS
  • LauncherOption=Full (equivalent to BootProtect=Bootstrap in OC 0.6.5): OC writes an entry into BIOS pointing directly to OpenCore.efi and the computer's boot menu shows OC and connected disks.

In either case 1)  /EFI/EFI/Boot/BOOTx64.efi and 2) /EFI/EFI/OC/Bootstrap/BOOTx64.efi are history right? I have deleted these.

  • 2 weeks later...

 

On 2/5/2021 at 4:18 PM, miliuco said:

Note: remember that, if you boot Windows from OC, to prevent OC from injecting ACPI values you have to act on these keys in config.plist:

 

  • Kernel> Quirks> CustomSMBIOSGuid> True (default is False)
  • PlatformInfo> UpdateSMBIOSMode> Custom (default is Create).

ACPI is still injected no matter what you set and what OS you boot
It's just that the SMBIOS data won't be modified in the eyes of Windows/Linux

  • Like 3
9 hours ago, 1Revenger1 said:

 

ACPI is still injected no matter what you set and what OS you boot
It's just that the SMBIOS data won't be modified in the eyes of Windows/Linux

Yes, my mistake, lack of attention when writing, corrected.

Edited by miliuco
×
×
  • Create New...