appleserial / NUC8I5BEH

Hackintosh NUC8I5BEH - 黑苹果 - OpenCore & Clover - Big Sur
https://t.me/hackintash
BSD 2-Clause "Simplified" License
363 stars 52 forks source link

OpenCore EFI is not working for me on my NUC8 using Mojave. Stalls at EndRandomSeed #5

Closed leesureone closed 3 years ago

csrutil commented 4 years ago

Do you change your serial numbers and what's your specs?

leesureone commented 4 years ago

Same NUC model as you except its an i3, the cpu model shouldn't make a difference. I already have Mojave installed on it using Clover and tried using your EFI folder on a USB boot drive. It gets to the boot choices (1.EFI 2. My Hard Drive, 3. Rescue Partition) but if I choose the hard drive with Mojave on it nothing happens. It doesn't even start the boot process. I also copied your EFIOC folder to the EFI partition on the hard drive same results, once I get to the boot menu that's pretty much it, black screen, no text output from OC loading OS X.

Gaulomatic commented 4 years ago

Same for me. Booting in verbose shows just a black screen with a cursor; kernel is not starting to boot.

ts1g commented 4 years ago

@leesureone did you ever get past the random seed issue? I found I could get to a point where I could move past that if I used the Hac Mini v 2.5 (also have an NUC8i7HVK which works almost flawlessly, save a few Wacom tablet errors, thanks to the efforts of @osy86) but when I attempt to do a NUC8BEB specific boot from the 0.5.4 version here I also hit the Random Seed error

leesureone commented 4 years ago

@leesureone did you ever get past the random seed issue? I found I could get to a point where I could move past that if I used the Hac Mini v 2.5 (also have an NUC8i7HVK which works almost flawlessly, save a few Wacom tablet errors, thanks to the efforts of @osy86) but when I attempt to do a NUC8BEB specific boot from the 0.5.4 version here I also hit the Random Seed error

I did and I posted my EFI folder here https://www.tonymacx86.com/threads/guide-intel-nuc7-nuc8-using-clover-uefi-nuc7i7bxx-nuc8i7bxx-etc.261711/post-1968320

Gaulomatic commented 4 years ago

I have perfectly fine working EFI using N-D-K's Open Core fork (compiled today from the latest commit). This fork is only hours behind and adds a GUI.

EFI.zip

ts1g commented 4 years ago

@leesureone did you ever get past the random seed issue? I found I could get to a point where I could move past that if I used the Hac Mini v 2.5 (also have an NUC8i7HVK which works almost flawlessly, save a few Wacom tablet errors, thanks to the efforts of @osy86) but when I attempt to do a NUC8BEB specific boot from the 0.5.4 version here I also hit the Random Seed error

I did and I posted my EFI folder here https://www.tonymacx86.com/threads/guide-intel-nuc7-nuc8-using-clover-uefi-nuc7i7bxx-nuc8i7bxx-etc.261711/post-1968320

@leesureone Thanks for the update. In reading your thread on tonymac, I noticed mention of Clover. Is your approach reliant on both Clover and OC, or is it possible to bypass Clover? I'd used it and multi- and uni- in the past, but with the NUC8i7HNK, I'd moved towards an OC-only approach so looking to avoid Clover if possible.

ts1g commented 4 years ago

@Gaulomatic thank you for that information. Is it based on a fork of a particular OC version (5.4, 5.5) and do you use it for Mojave or Catalina?

I have perfectly fine working EFI using N-D-K's Open Core fork (compiled today from the latest commit). This fork is only hours behind and adds a GUI.

EFI.zip

Gaulomatic commented 4 years ago

@ts1g I am using Catalina 10.15.3, but I can not think of a reason why it shouldn't work on Mojave as well.

N-D-K's fork based on the master branch of Open Core, so currently 0.5.6 (which is not yet released). You can use it with the non-forked version as well since there is no big difference really. Currently you have to compile OC from the sources since the structure of config.plist has changed a little from 0.5.5 to 0.5.6 (just invoke ndk-macbuild.tool).

Beside the GUI there is only one added setting in NDK's config.plist: ACPI->Quirks->EnableForAll. If set to false, ACPI patches and SSDTs are only applied when booting macOS. That's the main reason why I use the fork, it makes multi boot much less painful. Plus the GUI is a nice-to-have.

leesureone commented 4 years ago

@leesureone did you ever get past the random seed issue? I found I could get to a point where I could move past that if I used the Hac Mini v 2.5 (also have an NUC8i7HVK which works almost flawlessly, save a few Wacom tablet errors, thanks to the efforts of @osy86) but when I attempt to do a NUC8BEB specific boot from the 0.5.4 version here I also hit the Random Seed error

I did and I posted ymy EFI folder here https://www.tonymacx86.com/threads/guide-intel-nuc7-nuc8-using-clover-uefi-nuc7i7bxx-nuc8i7bxx-etc.261711/post-1968320

@leesureone Thanks for the update. In reading your thread on tonymac, I noticed mention of Clover. Is your approach reliant on both Clover and OC, or is it possible to bypass Clover? I'd used it and multi- and uni- in the past, but with the NUC8i7HNK, I'd moved towards an OC-only approach so looking to avoid Clover if possible.

Yes you can completely bypass Clover.

ts1g commented 4 years ago

@Gaulomatic thank you.

I tested out your EFI and ran into one issue; at first I thought it was because my German's a bit rusty (although I learned a new word "ungefähr" lol). However, I ran into the same issue when I tried @leesureone approach, too: partway through the initial boot up (when the white Apple and the progress bar are on the initial black background) the screen would flash and go black with no cursor.

Since it occurred with both approaches, I switched monitors and while I got the same momentary flash, the loading continued to where I could then install Mojave on the internal NVME in my NUC8i3BEH. Turns out my ancient 39" Seiki 4K monitor didn't like the momentary out-of-range and reset display settings so it never recovered. Time to get a modern 4K display :)

When you mention that

Currently you have to compile OC from the sources since the structure of config.plist has changed a little from 0.5.5 to 0.5.6 (just invoke ndk-macbuild.tool).

is that across the board for all OC implementations or just N-D-K's fork?

Gaulomatic commented 4 years ago

@ts1g Yeah, "ungefähr" means something like "roughly" or "circa" :-) Sorry for that, where did you run into German? Usually I use English exclusively when doing computer stuff, even my own personal commits are in English. The only localized thing I remember putting in is the value for the variable prev-lang:kbd under NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82. It is set to de:3 (in HEX), you revert this change.

The only semantic difference of the config.plist when comparing the vanilla OC with N-D-K's fork is the mentioned ACPI->Quirks->EnableForAll; which come in really handy when using the box for multi-booting. Everything else is untouched. So the changes apply to vanilla OC 0.5.6 as well. You can confirm this by editing a config file with Mackie's Open Core Configurator: It has already been tuned for 0.5.6., so editing a 0.5.5. config results in OC 0.5.5. complaining (and refusing to start) at boot time.

So if you are hesitant to use NDK's fork, you can simply compile the vanilla one (or wait for 0.5.6. to release) and use it with my config.plist. Just remember to remove ACPI->Quirks->EnableForAll since OC will complain about that otherwise.

Currently 0.5.6. is still in flux, just recently they added a bunch of entries to the config.plist regarding audio / boot chime.

ts1g commented 4 years ago

I'd copied your EFI folder to the EFI folder of a test USB with Mojave, @Gaulomatic , and everything from the main install screen came up in German :) I just followed the standard icons and worked my way through things, and was able to load Mojave with no issue.

The only other time it came up was when I did an update to the OS on a second machine, while using the USB with your EFI as the base EFI to get access to an SSD that had an incompatible EFI. When it had to reboot a few times, and do the OS update that's when I learned "ungefähr" meant approximately lol. Thanks again for the help, will wait to finalize this once 0.5.6 is officially released.

@ts1g Yeah, "ungefähr" means something like "roughly" or "circa" :-) Sorry for that, where did you run into German? Usually I use English exclusively when doing computer stuff, even my own personal commits are in English. The only localized thing I remember putting in is the value for the variable prev-lang:kbd under NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82. It is set to de:3 (in HEX), you revert this change.

Gaulomatic commented 4 years ago

@ts1g You need to edit or remove NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82->prev-lang:kbd to get rid of the German crap from me :-)

By the way, 0.5.6. has been officially released yesterday.

ts1g commented 4 years ago

@ts1g You need to edit or remove NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82->prev-lang:kbd to get rid of the German crap from me :-)

By the way, 0.5.6. has been officially released yesterday.

Excellent, @Gaulomatic thank you on both counts! If it's not too much trouble, would you mind, in case someone else is chasing this same issue down, attaching a version of your 0.5.6 based EFI here that has no German? While I lived in a German-speaking canton in .ch for a time, and could work my way through, I suspect non-German readers of this git message thread would appreciate an English-based example :)

ts1g commented 4 years ago

Just a quick update @Gaulomatic : after I removed `NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82->prev-lang:kbd via the plist configurator, it dropped me back to a point where I could choose a language. Thanks!

leesureone commented 4 years ago

@ts1g You need to edit or remove NVRAM->Add->7C436110-AB2A-4BBB-A880-FE41995C9F82->prev-lang:kbd to get rid of the German crap from me :-)

By the way, 0.5.6. has been officially released yesterday.

Hi Gaulomatic, thanks for posting your EFI folder. I tried it and my NUC8i5 boots fine and everything except sleep/wake seems to work. I've tried modifying how USB is configured (USBInjectAll and your USBPort kext should not both be needed) and I've tried various settings in the config.plist, turning off the port limit patch and using my SSDT-UAIC instead with no change. Do you have sleep working?

Gaulomatic commented 4 years ago

@ts1g I have updated the EFI.zip and removed the NVRAM variable which made the UI german.

@leesureone The USBInjectAll.kext is disabled in the config.plist and the USBPortsNUC8.kext handles the injection. Sleep / wake works fine for my NUC8I5BEH2, there are only two quirky things: Most of the time, the first sleep insta-wakes the device back up - after that has happened, there is no issue. And secondly, some USB devices screw up suspend mode. I have an old Logitech mouse and the receiver dongle does strange things. Sometimes it works, sometimes it doesn't.

leesureone commented 4 years ago

So really sleep isn't functioning correctly which is a nonstarter for me. Probably not as big a deal for others but it's something I have working perfectly in 5.5 so it would be a downgrade for me. I tried rebuilding 5.6 from the ground up and had the same problem so there something I'm missing .

When you say USBInjectall.kext is disabled in the config.plist where is that happening (and why include it if it's not needed)?

Thanks for replying

On Fri, Mar 6, 2020, 6:43 AM Tobias Punke notifications@github.com wrote:

@ts1g https://github.com/ts1g I have updated the EFI.zip and removed the NVRAM variable which made the UI german.

@leesureone https://github.com/leesureone The USBInjectAll.kext is disabled in the config.plist and the USBPortsNUC8.kext handles the injection. Sleep / wake works fine for my NUC8I5BEH2, there are only two quirky things: Most of the time, the first sleep insta-wakes the device back up - after that has happened, there is no issue. And secondly, some USB devices screw up suspend mode. I have an old Logitech mouse and the receiver dongle does strange things. Sometimes it works, sometimes not.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/csrutil/NUC8I5BEH/issues/5?email_source=notifications&email_token=ALMJJ3LJL5LANTVIX2R74CTRGEDX3A5CNFSM4KCXQASKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOBST4Y#issuecomment-595798515, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALMJJ3I4TW3E3MZG2AXLITDRGEDX3ANCNFSM4KCXQASA .

Gaulomatic commented 4 years ago

@leesureone That is configured here: image

leesureone commented 4 years ago

Duh...

On Fri, Mar 6, 2020, 7:41 AM Tobias Punke notifications@github.com wrote:

@leesureone https://github.com/leesureone That is configured here: [image: image] https://user-images.githubusercontent.com/7631781/76098214-56599c80-5fc9-11ea-874f-fba71cba651d.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/csrutil/NUC8I5BEH/issues/5?email_source=notifications&email_token=ALMJJ3JTAAQJCK3AJLLBGWTRGEKTRA5CNFSM4KCXQASKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOBZICQ#issuecomment-595825674, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALMJJ3L3PSTCKRNIEEHS5NDRGEKTRANCNFSM4KCXQASA .

leesureone commented 4 years ago

One last question. I am on my phone but if I remember right you have the Xhciportlimit set to yes in Kernel Quirks which can work with an SSDT or a usbport.kext but isnt it supposed to be one or the other? Changing didn't help me but it might make a difference for you

On Fri, Mar 6, 2020, 7:44 AM Lee Henderson leesureone@gmail.com wrote:

Duh...

On Fri, Mar 6, 2020, 7:41 AM Tobias Punke notifications@github.com wrote:

@leesureone https://github.com/leesureone That is configured here: [image: image] https://user-images.githubusercontent.com/7631781/76098214-56599c80-5fc9-11ea-874f-fba71cba651d.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/csrutil/NUC8I5BEH/issues/5?email_source=notifications&email_token=ALMJJ3JTAAQJCK3AJLLBGWTRGEKTRA5CNFSM4KCXQASKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOBZICQ#issuecomment-595825674, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALMJJ3L3PSTCKRNIEEHS5NDRGEKTRANCNFSM4KCXQASA .

leesureone commented 4 years ago

I made some changes and this version of your EFI sleeps reliably on my NUC8i5. I'm going to try and port it to the main branch EFI-5.6 .zip

nickhx commented 4 years ago

I made some changes and this version of your EFI sleeps reliably on my NUC8i5. I'm going to try and port it to the main branch EFI-5.6 .zip

@leesureone Same issue here. any idea what setting fixed sleep?

leesureone commented 4 years ago

I made some changes and this version of your EFI sleeps reliably on my NUC8i5. I'm going to try and port it to the main branch EFI-5.6 .zip

@leesureone Same issue here. any idea what setting fixed sleep?

Well, it is a different approach than I had going in 5.5 so major kudos to Gaulomatic for that. What I did was eliminate the ACPI/patches for the CPU renaming because the SSDT-PLUG.aml is supposed to take care of that (seemed redundant). I also added the SSDT-RTC0.aml to ACPI because for this reason (see AWAC vs RTC). All my reasoning came from the ACPI guide. https://khronokernel.github.io/Getting-Started-With-ACPI/Universal/awac.html

Remove Patches SSDT-RTCO
nickhx commented 4 years ago

Thanks. Turns out I had a slightly different issue - kernel panics after sleep which was related to my DisplayPort monitor (I don’t use HDMI). I solved it by injecting No-hda-gfx into HDEF to disable HDMI audio.

Well, it is a different approach than I had going in 5.5 so major kudos to Gaulomatic for that. What I did was eliminate the ACPI/patches for the CPU renaming because the SSDT-PLUG.aml is supposed to take care of that (seemed redundant). I also added the SSDT-RTC0.aml to ACPI because for this reason (see AWAC vs RTC). All my reasoning came from the ACPI guide.

leesureone commented 4 years ago

Thanks. Turns out I had a slightly different issue - kernel panics after sleep which was related to my DisplayPort monitor (I don’t use HDMI). I solved it by injecting No-hda-gfx into HDEF to disable HDMI audio.

Well, it is a different approach than I had going in 5.5 so major kudos to Gaulomatic for that. What I did was eliminate the ACPI/patches for the CPU renaming because the SSDT-PLUG.aml is supposed to take care of that (seemed redundant). I also added the SSDT-RTC0.aml to ACPI because for this reason (see AWAC vs RTC). All my reasoning came from the ACPI guide.

Interesting, glad that worked out. You might also try removing FakePCIID_Intel_HDMI_Audio.kext and possibly FakePCIID.kext as well. Might not work but this two are what is enabling HDMI sound. Less is more if you will.

ts1g commented 4 years ago

I made some changes and this version of your EFI sleeps reliably on my NUC8i5. I'm going to try and port it to the main branch EFI-5.6 .zip

Now that it seems that @Gaulomatic EFI for 0.5.6 has been enhanced and is headed to a main branch port, via @leesureone I've got a quick question for both of you that's been bugging me as I try to go backwards with Open Core to Haswell machines:

Whether it's Haswell (4th gen) or Coffee Lake (8th gen), when I read the most recent Open Core Vanilla guides (March 2, 2020) they reference using at a minimum SSDT-EC.aml or SSDT-PLUG.aml But when I look at your setup it uses SSDT-BASE-PLUGIN.aml and SSDT-BASE-USBX.aml and doesn't have SSDT-EC and SSDT-PLUG. Are yours just newer versions of the same SSDTs?

Thanks in advance for answering what seems like a n00b question...

leesureone commented 4 years ago

Really there are two branches, of OpenCore which Gaulomatic explains earlier in this thread. The changes we made are to accommodate this specific platform and allow the computer to boot but doing that doesn’t create a new or main branch or port. Maybe I didn’t need to explain that.... Because I don’t turn off my computer it’s also important to me the device will sleep reliably and that’s why I dug into this a little more.

Meanwhile you are correct but you can name an SSDT whatever you like as long as the config.plist also references/ calls out the name you gave it. So SSDT-BASE-PLUGIN is actually the same as SSDT-PLUGIN. It does the same thing, if you open and compare the two files with MaciASL they are the same. Make sense?

Sent from my iPad

On Mar 9, 2020, at 9:48 AM, ts1g notifications@github.com wrote:

 I made some changes and this version of your EFI sleeps reliably on my NUC8i5. I'm going to try and port it to the main branch EFI-5.6 .zip

Now that it seems that @Gaulomatic EFI for 0.5.6 has been enhanced and is headed to a main branch port, via @leesureone I've got a quick question for both of you that's been bugging me as I try to go backwards with Open Core to Haswell machines:

Whether it's Haswell (4th gen) or Coffee Lake (8th gen), when I read the most recent Open Core Vanilla guides (March 2, 2020) they reference using at a minimum SSDT-EC.aml or SSDT-PLUG.aml But when I look at your setup it uses SSDT-BASE-PLUGIN.aml and SSDT-BASE-USBX.aml and doesn't have SSDT-EC and SSDT-PLUG. Are yours just newer versions of the same SSDTs?

Thanks in advance for answering what seems like a n00b question...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

ts1g commented 4 years ago

So SSDT-BASE-PLUGIN is actually the same as SSDT-PLUGIN. It does the same thing, if you open and compare the two files with MaciASL they are the same. Make sense?

It does, thanks. Sorry for the delay in responding, got married in the middle of all this...now if I can help her move to the Mac bandwagon during lockdown ;-)

Gaulomatic commented 4 years ago

@ts1g Salute, gratulations! @leesureone Sorry for the late response, the files are the same. The only reason why I named it differently is because I like to categorize things. The SSDT is totally essential (to all Hack's), hence the name "base". Nothing different else.

csrutil commented 4 years ago

Hi guys, I update the EFI to the latest, please have a try. Also the Intel wifi is working now.

ts1g commented 4 years ago

Hi guys, I update the EFI to the latest, please have a try. Also the Intel wifi is working now.

I tried it today, @csrutil by updating just the EFI, but it kept kicking me out. It may be, since I'd used @Gaulomatic build before, which had the OS picker, that I'd have to do something else to test. Happy to test the Intel WiFi especially, if I can get some help troubleshooting whether I need to replace the entire OC folder or just parts of it. Thanks!

phi-alek commented 4 years ago

Hi guys, I update the EFI to the latest, please have a try. Also the Intel wifi is working now.

I have tried it as well and it works really good. i just wished i could use the intel bluetooth kext. i have injected it, but it doesnt do anything. looks like you have disabled bluetooth. with my clover efi the bluetooth works perfectly. so could you please open the bluetooth in your efi??? thank you.

csrutil commented 4 years ago

The bluetooth and Wi-Fi are not stable yet, so I will integrate them later.