Contribute
Register

[Guide] Intel Skylake NUC6 (and Skull Canyon) using Clover UEFI (NUC6i5SYK, NUC6i7KYK, etc)

Status
Not open for further replies.
All has been running perfectly for ~8 months, I just updated itunes (i'm sure there was a security patch in there also), and now it won't boot, get's stuck with kernel panic. Here is a screen shoot with clover set with -v boot option.
2018021608355838-IMG_0119-X2.jpg


Normal boot options
2018021608310566-IMG_0118-X2.jpg


Any ideas would be much appreciated. I really don't want to rebuild the system and loose everything.


Quick update. It actually boots up in safe mode.
 

Attachments

  • RehabMan.zip
    50.2 KB · Views: 133
Last edited:
All has been running perfectly for ~8 months, I just updated itunes (i'm sure there was a security patch in there also), and now it won't boot, get's stuck with kernel panic. Here is a screen shoot with clover set with -v boot option.
2018021608355838-IMG_0119-X2.jpg


Normal boot options
2018021608310566-IMG_0118-X2.jpg


Any ideas would be much appreciated. I really don't want to rebuild the system and loose everything.


Quick update. It actually boots up in safe mode.

You forgot to update kexts... and as a result your Lilu.kext is not the correct version.
Read post guide, post #1, "System updates".
 
Thanks for your quick reply. I did update, now it get's further, but crashes/reboots at the point where the apple logo starts to flash.

Ran the following, no errors all compleated successfully.
cd ~/Projects/nuc.git
git pull
sudo make clean
sudo make
sudo make install_nuc6
sudo ./download.sh
sudo ./install_downloads.sh

I've also tried the latest config.plist from the git repo, and that didn't make any differance.

Not sure how to get a valid output of the screen, since it goes all pixelated. But this is the last thing shown just before the screen goes pixilated.
(EDIT. Uploaded a better screen shot)
2018021613222785-IMG_0125-X3.png


This is what happens directly after that.
2018021613222785-IMG_0127-X3.png


Then it reboots.

Again. I can boot in "safe mode", but I can't seem to find a way to see the last boot log, (i.e. from the boot that failed, ie before current safe-mode boot)
 

Attachments

  • RehabMan.zip
    47.2 KB · Views: 163
Last edited:
Quick update, I think I know the problem. But I haven't fixed it yet.

Looks like the scripts from the RehabMan nuc repo update /EFI/CLOVER/xxxxx. (or /Volumes/<disk-name>/EFI/CLOVER as it's same) but when you boot in safe-mode that's not the same EFI partition that Clover uses to boot. So looks like I'm still booting with the old/out of date kexts. Now I just need to figure out the EFI partition that Clover is using, and copy the files over manually.

SUCCESS.
That was the problem. (below is probably common knowledge to most, but just incase someone else has the problem)
In safe-mode you can't mount a msdos partition, and EFI is msdos partition.
So booted in single-user mode, set / to rw, mount EFI, copy new files over. Then reboot. - all is working.

Thanks RehabMan for pointing me in the right direction.
 
Last edited:
Quick update, I think I know the problem. But I haven't fixed it yet.

Looks like the scripts from the RehabMan nuc repo update /EFI/CLOVER/xxxxx. (or /Volumes/<disk-name>/EFI/CLOVER as it's same) but when you boot in safe-mode that's not the same EFI partition that Clover uses to boot. So looks like I'm still booting with the old/out of date kexts. Now I just need to figure out the EFI partition that Clover is using, and copy the files over manually.

SUCCESS.
That was the problem. (below is probably common knowledge to most, but just incase someone else has the problem)
In safe-mode you can't mount a msdos partition, and EFI is msdos partition.
So booted in single-user mode, set / to rw, mount EFI, copy new files over. Then reboot. - all is working.

Thanks RehabMan for pointing me in the right direction.

The install_downloads.sh script *does* update the kexts at EFI/Clover/kexts/Other.
Of course, if you were actually booting from USB, those kexts you must update manually.

And, FYI, the laptop has instructions for mounting EFI in safe mode:
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
It is as documented in post #1. I excluded the internal ports as I did not need them.

You can see how I created the custom SSDT for USBInjectAll.kext in my guide... I actually used the NUC6i7KYK as an example.
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/

You can use the guide to create an SSDT-USB.aml that has the internal ports included. It can be included in the repo as an alternate.



If you want to provide details on the adapter used and specific Apple WiFi module, I can add the info to post #1.

Hi, thank you for your guide;
I get the same adapter with my NUC6i7KYK, and I got the some problem;

The guide you post above is too long for me, and lots of new names ''XHCI, EHCx"... I have no idea what they stand for.

So, I just try to edit `nut.git/SSDT-USB.dsl` with MaciASL. I replace all '255' to '3', and run in Terminal:


```
Code:
make

make install_nuc6sc
```
I reboot the device, and Bluetooth still doesn't work;

I tried to add below patch to `KextsToPatch` in `EFI/CLOVER/config.plist`(I am installing Sierra 10.12.6), it still doesn't work.
Code:
<dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////Gw==</data>
           </dict>

Then I tried to add below patch to `DSDT>Patches` in `EFI/CLOVER/config.plist`, it still doesn't work.
Code:
<dict>
                   <key>Comment</key>
                   <string>change EHC1 to EH01</string>
                   <key>Find</key>
                   <data>RUhDMQ==</data>
                   <key>Replace</key>
                   <data>RUgwMQ==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change EHC2 to EH02</string>
                   <key>Find</key>
                   <data>RUhDMg==</data>
                   <key>Replace</key>
                   <data>RUgwMg==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change XHCI to XHC</string>
                   <key>Find</key>
                   <data>WEhDSQ==</data>
                   <key>Replace</key>
                   <data>WEhDXw==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change XHC1 to XHC</string>
                   <key>Find</key>
                   <data>WEhDMQ==</data>
                   <key>Replace</key>
                   <data>WEhDXw==</data>
               </dict>

Also, I tried to copy code below to MaciASL and saved as SSDT-UIAC.aml at `EFI/CLOVER/ACPI/patched`.
Code:
// Port trimmed with port comments SSDT-UIAC.dsl for NUC6i7KYK
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
{
[INDENT]   Device(UIAC)
    {
        Name(_HID, "UIA00000")
        Name(RMCF, Package()
        {
            "8086_a12f", Package()
            {
                "port-count", Buffer() { 26, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package() // HS USB3 front left
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HS02", Package() // HS USB3 front right
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package() // HS USB3 rear bottom
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package() // HS USB3 rear top
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS09", Package() // bluetooth
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 9, 0, 0, 0 },
                    },
                    "SS01", Package() // SS USB3 front left
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 17, 0, 0, 0 },
                    },
                    "SS02", Package() // SS USB3 front right
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package() // SS USB3 rear bottom
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package() // SS USB3 rear top
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                },
            },
        })
    }[/INDENT]
}
//EOF
I reboot the device, Bluetooth still doesn't work and I lost Audio.
Now I deleted SSDT-UIAC.aml, Audio works fine, but don't know what to do with Bluetooth.
 
Last edited:
Hi, thank you for your guide;
I get the same adapter with my NUC6i7KYK, and I got the some problem;

The guide you post above is too long for me, and lots of new names ''XHCI, EHCx"... I have no idea what they stand for.

So, I just try to edit `nut.git/SSDT-USB.dsl` with MaciASL. I replace all '255' to '3', and run in Terminal:


```
Code:
make

make install_nuc6sc
```
I reboot the device, and Bluetooth still doesn't work;

I tried to add below patch to `KextsToPatch` in `EFI/CLOVER/config.plist`(I am installing Sierra 10.12.6), it still doesn't work.
Code:
<dict>
               <key>Comment</key>
               <string>change 15 port limit to 26 in XHCI kext</string>
               <key>MatchOS</key>
               <string>10.12.x</string>
               <key>Name</key>
               <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
               <key>Find</key>
               <data>g710////EA==</data>
               <key>Replace</key>
               <data>g710////Gw==</data>
           </dict>

Then I tried to add below patch to `DSDT>Patches` in `EFI/CLOVER/config.plist`, it still doesn't work.
Code:
<dict>
                   <key>Comment</key>
                   <string>change EHC1 to EH01</string>
                   <key>Find</key>
                   <data>RUhDMQ==</data>
                   <key>Replace</key>
                   <data>RUgwMQ==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change EHC2 to EH02</string>
                   <key>Find</key>
                   <data>RUhDMg==</data>
                   <key>Replace</key>
                   <data>RUgwMg==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change XHCI to XHC</string>
                   <key>Find</key>
                   <data>WEhDSQ==</data>
                   <key>Replace</key>
                   <data>WEhDXw==</data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>change XHC1 to XHC</string>
                   <key>Find</key>
                   <data>WEhDMQ==</data>
                   <key>Replace</key>
                   <data>WEhDXw==</data>
               </dict>

Also, I tried to copy code below to MaciASL and saved as SSDT-UIAC.aml at `EFI/CLOVER/ACPI/patched`.
Code:
// Port trimmed with port comments SSDT-UIAC.dsl for NUC6i7KYK
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
{
[INDENT]   Device(UIAC)
    {
        Name(_HID, "UIA00000")
        Name(RMCF, Package()
        {
            "8086_a12f", Package()
            {
                "port-count", Buffer() { 26, 0, 0, 0 },
                "ports", Package()
                {
                    "HS01", Package() // HS USB3 front left
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                    "HS02", Package() // HS USB3 front right
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package() // HS USB3 rear bottom
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package() // HS USB3 rear top
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS09", Package() // bluetooth
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 9, 0, 0, 0 },
                    },
                    "SS01", Package() // SS USB3 front left
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 17, 0, 0, 0 },
                    },
                    "SS02", Package() // SS USB3 front right
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package() // SS USB3 rear bottom
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package() // SS USB3 rear top
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                },
            },
        })
    }[/INDENT]
}
//EOF
I reboot the device, Bluetooth still doesn't work and I lost Audio.
Now I deleted SSDT-UIAC.aml, Audio works fine, but don't know what to do with Bluetooth.

The guide and scripts in post #1 includes a suitable UIAC customization. No need to do anything there. The text in the guide was just explaining part of the process that went into creating the .aml and scripts.

Follow the guide in post #1 exactly as written.

If you have an issue, attach problem reporting files as per FAQ.

The only reason to go through USB customization would be if you were to use one or more of the internal headers.

Intel Bluetooth is not supported.
 
Status
Not open for further replies.
Back
Top