Jump to content

Customized OpenCore with additional features


n.d.k
1,348 posts in this topic

Recommended Posts

13 hours ago, davidm71 said:


Thanks. About extracting path using uefishell.efi. You mean use openshell.efi and find it via map -r and adjust custom boot entry accordingly? Anyhow looked at the config.plist file. All you did was add the path to Blessedoverride?

Will try again tomorrow,

 

Thanks again.

Here's the method I use for booting windows in OC and it is 100% effective:

If you can boot windows thru Clover:

Select your Windows Icon, press spacebar, you'll get something like this: ( screenshot attached )

 

PciRoot(0x0)\Pci(0x17,0x0)\Sata(0x5,0xFFFF,0x0)\HD(1,GPT,4C15DB92-F532-11E9-AF6E-E172391D34E9,0x800,0xFA000)\EFI\microsoft\Boot\bootmgfw.efii

 

But the custom entry path recognized by OC is actually this one: ( The custom entry path I use in my config.plist )

 

PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x5,0xFFFF,0x0)/HD(1,GPT,4C15DB92-F532-11E9-AF6E-E172391D34E9,0x800,0xFA000)/\EFI\Microsoft\Boot\bootmgfw.efi

( some dashes are reversed & clover efi is written "efii" )

 

Create a new entry with your path in OpenCore/Misc/Entries 

Done.

 

clover screenshot.png

Edited by Ellybz
  • Like 3
  • Confused 1
Link to comment
Share on other sites

9 hours ago, ken394 said:

I am not an expert but am booting Windows with OC by adding to my SSDT's so they are dead to windows.

If (_OSI ("Darwin"))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)

I think in NDK config setting EnableForAll to NO in ACPI-Quirks does the same.
NDKpicker replaces Opencanopy

This may or may not be of some use and I am on OC 0.5.8 at the moment, also win and Mac on different drives.

 

would you please share your SSDT's where you added the _OSI checks ?

Link to comment
Share on other sites

16 hours ago, ken394 said:

I am not an expert but am booting Windows with OC by adding to my SSDT's so they are dead to windows.

If (_OSI ("Darwin"))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)

I think in NDK config setting EnableForAll to NO in ACPI-Quirks does the same.
NDKpicker replaces Opencanopy

This may or may not be of some use and I am on OC 0.5.8 at the moment, also win and Mac on different drives.

 

Not sure setting 'EnableForAll' to 'false' or 'no' is appropriate because NDK said it should be set to yes or true:

 

Quote

[ 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).

 

Furthermore I was able to finally boot into Windows 10 but it wasn't even in the NDK fork! I made a couple changes adding the Microsoft boot loader path to 'BlessOverride' and here's the real important part which I am not sure is responsible but I think the character case, wether upper case or lower case, of the microsoft path was important! Because last night it didn't work with BlessOverride but maybe I did it wrong I don't know. Anyhow thanks to @Ellybz idea to boot Clover and press spacebar I noticed the path to bootmgfw.efi was '\EFI\microsoft\Boot\bootmgfw.efi' with a lowercase 'M'! Not sure if it mattered.

 

Also thanks to @anmool for helping with editing the config.plist. I didn't use it but took from it the 'BlessOverride' section and 'SyncRuntimeServices=true'. I studied the file in detail and can now with same changes adding in 'EnableForAll=true' can boot from the NDK fork as well but still have one problem in that OpenShell fails to get listed with either NdkBootPicker or OpenCanopy. Heres my relevant part of my plist. Opencore main branch 5.8 has no issues with this:

 

Quote

<key>Tools</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>CleanNvram.efi</string>
                <key>Name</key>
                <string>CleanNvram.efi</string>
                <key>Enabled</key>
                <true/>
                <key>Arguments</key>
                <string></string>
                <key>Path</key>
                <string>CleanNvram.efi</string>
                <key>Auxiliary</key>
                <false/>
            </dict>
            <dict>
                <key>Comment</key>
                <string>OpenShell.efi</string>
                <key>Name</key>
                <string>OpenShell.efi</string>
                <key>Enabled</key>
                <true/>
                <key>Arguments</key>
                <string></string>
                <key>Path</key>
                <string>OpenShell.efi</string>
                <key>Auxiliary</key>
                <false/>
            </dict>
        </array>

 

I went as far as comparing the EFI folder I made directly with files copied from NDK_Opencore Xcode compiled project and as well as just replacing bootx64.efi and opencore.efi into the working main fork efi folder. Also copied the 'Bootstrap' folder or files over. Not sure if they are needed but point is don't see openshell for some reason. Maybe I have to create a direct boot entry for it..

 

Anyhow wow what a ride and learning experience this has been!

 

Thank you all for your help.

 

 

 

Edited by davidm71
  • Like 1
Link to comment
Share on other sites

9 hours ago, MacNB said:

 

would you please share your SSDT's where you added the _OSI checks ?

 

9 hours ago, MacNB said:

 

would you please share your SSDT's where you added the _OSI checks ?

They are already in SSDT's if you are using the ones provided in Opencore, in my comment above  related to 2 I had that did not have the check and was having trouble

with windows till  I came across the If (_OSI ("Darwin")) in one of the PDF Instructions.

Edited by ken394
Link to comment
Share on other sites

59 minutes ago, ken394 said:

 

They are already in SSDT's if you are using the ones provided in Opencore, in my comment above  related to 2 I had that did not have the check and was having trouble

with windows till  I came across the If (_OSI ("Darwin")) in one of the PDF Instructions.

 

Thx. Yes I know there some SSDT's provided with OC and know the PDF very well.

I was asking if you would share what modifications you made to your SSDT's to be able to boot Windows. 

Link to comment
Share on other sites

@n.d.k

 

I think theres a bug with latest fork release. I checked the spelling and case of 'OpenShell.efi' and have it registered in the plist file such that the main branch has no issues displaying it on the boot gui menu. And its where its suppose to be in the Tools folder. So wonder why it works with main branch and not with the fork?

 

Thanks

 

Link to comment
Share on other sites

 

33 minutes ago, davidm71 said:

@n.d.k

 

I think theres a bug with latest fork release. I checked the spelling and case of 'OpenShell.efi' and have it registered in the plist file such that the main branch has no issues displaying it on the boot gui menu. And its where its suppose to be in the Tools folder. So wonder why it works with main branch and not with the fork?

 

Thanks

 

replace these two attached file in correct location

i hope that your windows will work

make sure you are using ndk version of OpenCore

386262280_ScreenShot2020-04-28at1_12_28AM.png.d38dfec3d8e8c630cf544788ab7939d1.png

set like this

BOOT.zip

Edited by anmool
  • Like 1
Link to comment
Share on other sites

33 minutes ago, davidm71 said:

@n.d.k

 

I think theres a bug with latest fork release. I checked the spelling and case of 'OpenShell.efi' and have it registered in the plist file such that the main branch has no issues displaying it on the boot gui menu. And its where its suppose to be in the Tools folder. So wonder why it works with main branch and not with the fork?

 

Thanks

 

 

With latest commit, You can now skip the custom/tools entry file checks with Misc->Boot->SkipCustomEntryCheck = YES.

fyi, original OC doesn't check custom/tool entries before they are added to boot menu.

  • Like 1
Link to comment
Share on other sites

1 minute ago, anmool said:

 

replace these two attached file in correct location

i hope that your windows will work

set to 

BOOT.zip


 

Windows works now. Was able to fix it earlier. See my last couple posts. Just having issue with OpenShell being recognized with NDK fork off of usb stick. Maybe its because its off of a Usb stick but   it works completely with the main Opencore branch. So not sure why NDK doesnt want to display the openshell. Maybe i have to clean nvram. Idk.

3 minutes ago, n.d.k said:

 

With latest commit, You can now skip the custom/tools entry file checks with Misc->Boot->SkipCustomEntryCheck = YES.

fyi, original OC doesn't check custom/tool entries before they are added to boot menu.


Good to know. Thank you!

 

Will try it out soon!

 

Thanks

 

Btw: Default behavior must be true?

Link to comment
Share on other sites

14 minutes ago, n.d.k said:

 

With latest commit, You can now skip the custom/tools entry file checks with Misc->Boot->SkipCustomEntryCheck = YES.

fyi, original OC doesn't check custom/tool entries before they are added to boot menu.

@n.d.k windows blue screen issue during windows boot 

this issue is appear in latest commit changes 

i think that this is bug of BootProtect option

anyidea

Link to comment
Share on other sites

2 hours ago, MacNB said:

 

Thx. Yes I know there some SSDT's provided with OC and know the PDF very well.

I was asking if you would share what modifications you made to your SSDT's to be able to boot Windows. 

I only added the If (_OSI ("Darwin")) to EC-USBX after mapping USP ports and seeing a reference in one of the PDF

Guides, getting windows to boot was hope and poke till it worked. The CPU management SSDT works either way which makes sense.

  What I tried and I have no idea which one or both 

Blessing window thru terminal and Startup Disk after getting NVRAM sorted

BootCamp

  1. What additional software do I need?

    To enable operating system switching and install relevant drivers in the majority of cases you will need Windows support software from Boot Camp. For simplicity of the download process or when configuring an already installed Windows version a third-party utility, Brigadier, can be used successfully. Note, that you may have to download and install 7-Zip prior to using Brigadier.

    Remember to always use the latest version of Windows support software from Boot Camp, as versions prior to 6.1 do not support APFS, and thus will not function correctly. To download newest software pass most recent Mac model to Brigadier, for example ./brigadier.exe -m iMac19,1. To install Boot Camp on an unsupported Mac model afterwards run PowerShell as Administrator and enter msiexec /i BootCamp.msi. In case you already have a previous version of Boot Camp installed you will have to remove it first by running msiexec /x BootCamp.msi command. BootCamp.msi file is located in BootCamp/Drivers/Apple directory and can be reached through Windows Explorer.

    While Windows support software from Boot Camp solves most of compatibility problems, sometimes you may have to address some of them manually:

SSDT-EC-USBX.aml

!-5 9600K SSDT.aml

  • Thanks 1
Link to comment
Share on other sites


only this word -flto caused  windows to boot and disappear
i removed this word -flto from OpenCorePkg.dsc and compiled worked
i solved my problem removing this word -flto
windows icon appearing and booting worked fine like before
close this conversation
mark solved

Link to comment
Share on other sites

1 hour ago, anmool said:


only this word -flto caused  windows to boot and disappear
i removed this word -flto from OpenCorePkg.dsc and compiled worked
i solved my problem removing this word -flto
windows icon appearing and booting worked fine like before
close this conversation
mark solved

Is this parameter related to displaying Windows startup items?

Link to comment
Share on other sites

3 hours ago, anmool said:

 

replace these two attached file in correct location

i hope that your windows will work

make sure you are using ndk version of OpenCore

386262280_ScreenShot2020-04-28at1_12_28AM.png.d38dfec3d8e8c630cf544788ab7939d1.png

set like this

BOOT.zip

 

Those boot files are from the standard fork and not the NDK source. Anyhow giving up on getting it to work. @n.d.k I'm sorry I tried everything to get your fork to recognize the OpenShell.efi. I mean it recognized the CleanNvram.efi utility and even posted whatever name I chose to give it on screen in the menu. I even tried two different versions of OpenShell and it completely got ignored. Tried setting SkipCustomBootEntries to false and made no difference. So going to use NDK fork on my main hard drive to multiboot and OC main source on my usb when I need a shell for those odd occasions. Wish it worked but it doesn't.

 

thanks

Edited by davidm71
Cleaned up text
Link to comment
Share on other sites

25 minutes ago, davidm71 said:

 

Those boot files are from the standard fork and not the NDK source. Anyhow giving up on getting it to work.

@n.d.k I'm sorry I tried everything to get your fork to recognize the OpenShell.efi. I mean it recognized 

the CleanNvram.efi utility and even posted whatever name I chose to give it on screen in the menu. I 

even tried two different versions of OpenShell and it completely got ignored. Tried setting SkipCustomBootEntries

and made no difference. So going to use NDK fork on my main hard drive to multiboot and OC main source

on my usb when I need a shell for those odd occasions. Wish it worked but it doesn't.

 

thanks

sorry for wrong file uploaded

try this ndk version with latest commit changes

 

NDK-OpenCore-0.5.8-RELEASE.zip

  • Like 1
Link to comment
Share on other sites

2 hours ago, ameenjuz said:

sorry for wrong file uploaded

try this ndk version with latest commit changes

 

NDK-OpenCore-0.5.8-RELEASE.zip

 

Thanks. Will install it and take it for a test drive tomorrow. Looked at file size and the Opencore.efi + bootx64.efi files are rather large, at 586 + 32 kb large, compared to the one I compiled a couple days ago at 436 + 9 kb in size. Main fork is even smaller so I wonder if theres anyway to get those files smaller in size?

 

Any how will try them out tomorow. Thanks

Link to comment
Share on other sites

3 minutes ago, davidm71 said:

 

Thanks. Will install it and take it for a test drive tomorrow. Looked at file size and the Opencore.efi + bootx64.efi files are rather large, at 586 + 32 kb large, compared to the one I compiled a couple days ago at 436 + 9 kb in size. Main fork is even smaller so I wonder if theres anyway to get those files smaller in size?

 

Any how will try them out tomorow. Thanks

just replace bootx64.efi to bootx64.efi and OpenCore.efi to OpenCore.efi sample

don't touch your working config

 

  • Like 1
Link to comment
Share on other sites

12 hours ago, ameenjuz said:

just replace bootx64.efi to bootx64.efi and OpenCore.efi to OpenCore.efi sample

don't touch your working config

 

 

Tried out your boot files and had same result. Also think your compiler needs to be optimized as those file sizes were kind of large compared to my NDK compiled files from couple days ago. Anyhow had no problem booting Windows up with your boot files but still no Openshell showing up in the menu..

 

@n.d.k

 

This explanation doesn't make sense: 

Quote

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.

 

 

I mean its counter intuitive to enable for all (meaning all OS's and setting them to true) the ACPI patches you would otherwise want to hide from Windows. Shouldn't it be set to NO? Or rather change the name in next release to 'ACPIPatchesOptional'..

 

Update: Was able to get Openshell in my boot menu but had to create a custom entry. Only one problem. When I go into the shell and then type 'EXIT' and return to the menu it becomes impossible to load up OS X and kernel panics. Possibly because ACPI data is shielded at this point?

 

Thanks

 

 

Edited by davidm71
Link to comment
Share on other sites

On 3/29/2020 at 7:07 AM, Pene said:

Hi,


Latest sources assert when starting shell with debug build.

Problem doesn't occur with release build.

 

And a couple of more questions, if I may:

- Mouse pointer is broken on my firmware. Is there a way to hide the cursor from appearing?

- When using HideAuxiliary=true, Shell entry is being hidden even if its entry specifies Auxiliary=false. Is this intentional? 

 

Thanks.

@Pene   Have you found a solution to the Shell entry being hidden? I have HideAuxiliary set to False and it still is not showing.

 

Thanks

Link to comment
Share on other sites

19 minutes ago, davidm71 said:

@Pene   Have you found a solution to the Shell entry being hidden? I have HideAuxiliary set to False and it still is not showing.

 

Thanks

 

@davidm71

 

I've OpenShell when I press Space Bar using this settings:

 

            <key>HideAuxiliary</key>
            <true/>

             ....

           <key>Auxiliary</key>
            <true/>

 

  • Like 1
Link to comment
Share on other sites

40 minutes ago, Matgen84 said:

 

@davidm71

 

I've OpenShell when I press Space Bar using this settings:

 

            <key>HideAuxiliary</key>
            <true/>

             ....

           <key>Auxiliary</key>
            <true/>

 


Ok Thanks. I will try it out. Assume the Auxiliary key is from the Entries section.

 

Thanks.

 

 

  • Like 1
Link to comment
Share on other sites

Desculpe pelo meu inglês, mas eu, como um usuário entusiasmado simples que adora ou hackintosh, tenho um problema aqui com o NDK aberto ainda em desenvolvimento, mas sei, mas na inicialização dupla catalítica 10.15.4 x Windows 10 x64. Toda vez que entra no Windows através do ícone, tudo bem, mas quando o computador é reiniciado, ele não entra mais na tela do OpenCore e vai diretamente para o SO de Bill. O que poderia estar acontecendo? A configuração do BIOS do meu sistema é a seguinte: gigabyte z170 gaming 6, I7 6700k, RX580 (8gb), 16gb memória Gskill red 2400mhz, monitor LG ultrawide 29 '2560 x1080

Edited by francisjfl
Link to comment
Share on other sites

9 hours ago, francisjfl said:

Desculpe pelo meu inglês, mas eu, como um usuário entusiasmado simples que adora o hackintosh, tenho um problema aqui com o NDK opecore ainda em desenvolvimento, mas sei, mas na inicialização dupla catalina 10.15.4 x Windows 10 x64. Toda vez que entro no Windows através do ícone, tudo bem, mas quando reinicio o computador, ele não entra mais na tela do OpenCore e vai diretamente para o SO de Bill. O que poderia estar acontecendo? A configuração na BIOS do meu sistema é a seguinte: gigabyte z170 gaming 6, I7 6700k, RX580 (8gb), memória Gskill red 2400mhz, monitor LG ultrawide 29 '2560 x1080

If your Windows is booting thru a custom entry make sure the "Arguments" section inside Misc/Entries is empty.1793821990_ScreenShot2020-04-28at20_45_27.thumb.png.6a57ca02df45aae8068c2968c5babe5a.png

Se o Windows estiver inicializando através de uma entrada personalizada, verifique se a seção "Argumentos" dentro de Misc / Entradas está vazia.

Edited by Ellybz
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...