SavageAUS Posted April 16, 2020 Share Posted April 16, 2020 On 11/11/2019 at 10:15 AM, Ellybz said: Not Sure I understood. Similarly to Clover, You can use OC to boot any OS you'd like. Have you tried the following boot entry ? PciRoot(0x0)/Pci( 0xXX, 0x0 )/XXXX.(0x0xXXXX.0x0)/HD ((1,XXX,,XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX,0xXX,0xXXXXX) /\EFI\Archlinux\vmlinuz-itz You can find the hidden path thru the Clover Bootlog. ( Shell method for linux is incomplete ). Is this correct? XXXXXXXXXXX,0xXX,0xXXXXX) /\EFI\Archlinux\vmlinuz-itz Im trying to boot Arch via OC as well but im confused with the space and the slashes go different ways? Link to comment Share on other sites More sharing options...
insanefrancis Posted April 16, 2020 Share Posted April 16, 2020 Hello, Well I am quite sure that this isn't the right place to ask this but I'm thinking it has a higher chance of being noticed and answered. Please do delete it if it's totally irrelevant. I'm on the process of making my SSDT-PLUG.aml for my Z390 system. According to the sample SSDT-PLUG.dsl included with the OpenCore package, it advices to delete all irrelevant CPU paths. I have done my research and found my CPU scope and device name, PR00 under _PR scope. Now using the sample SSDT-PLUG.dsl, should I just delete all the "blocks" not relevant to my CPU and just leave the code below? /* * XCPM power management compatibility table. * * Please note that this table is only a sample and may need to be * adapted to fit your board's ACPI stack. For instance, both scope * and device name may vary (e.g. _SB_.PR00 instead of _PR_.CPU0). * * While the table contains several examples of CPU paths, you should * remove all the ones irrelevant for your board. */ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_PR_.PR00, DeviceObj) If (CondRefOf (\_PR.PR00)) { Scope (\_PR.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } } I believe I can make the code cleaner by removing it from the If statement because it is now directly targeting the correct CPU. I don't know how to do that though. Technically, it will still work regardless but with a web development background, I do think we can make the code a bit cleaner. Just not sure how to do with this language. For a quick reference of the full SSDT-PLUG.dsl sample /* * XCPM power management compatibility table. * * Please note that this table is only a sample and may need to be * adapted to fit your board's ACPI stack. For instance, both scope * and device name may vary (e.g. _SB_.PR00 instead of _PR_.CPU0). * * While the table contains several examples of CPU paths, you should * remove all the ones irrelevant for your board. */ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_SB_.CPU0, DeviceObj) External (_PR_.CPU0, DeviceObj) External (_PR_.C000, DeviceObj) External (_PR_.P000, DeviceObj) External (_SB_.PR00, DeviceObj) External (_PR_.PR00, DeviceObj) External (_SB_.SCK0.CP00, DeviceObj) External (_SB_.SCK0.PR00, DeviceObj) If (CondRefOf (\_SB.CPU0)) { Scope (\_SB.CPU0) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.CPU0)) { Scope (\_PR.CPU0) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.PR00)) { Scope (\_SB.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.C000)) { Scope (\_PR.C000) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.P000)) { Scope (\_PR.P000) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.PR00)) { Scope (\_PR.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.SCK0.CP00)) { Scope (\_SB.SCK0.CP00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.SCK0.PR00)) { Scope (\_SB.SCK0.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } } Link to comment Share on other sites More sharing options...
Paksman Posted April 16, 2020 Share Posted April 16, 2020 56 minutes ago, insanefrancis said: Hello, Well I am quite sure that this isn't the right place to ask this but I'm thinking it has a higher chance of being noticed and answered. Please do delete it if it's totally irrelevant. I'm on the process of making my SSDT-PLUG.aml for my Z390 system. According to the sample SSDT-PLUG.dsl included with the OpenCore package, it advices to delete all irrelevant CPU paths. I have done my research and found my CPU scope and device name, PR00 under _PR scope. Now using the sample SSDT-PLUG.dsl, should I just delete all the "blocks" not relevant to my CPU and just leave the code below? /* * XCPM power management compatibility table. * * Please note that this table is only a sample and may need to be * adapted to fit your board's ACPI stack. For instance, both scope * and device name may vary (e.g. _SB_.PR00 instead of _PR_.CPU0). * * While the table contains several examples of CPU paths, you should * remove all the ones irrelevant for your board. */ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_PR_.PR00, DeviceObj) If (CondRefOf (\_PR.PR00)) { Scope (\_PR.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } } I believe I can make the code cleaner by removing it from the If statement because it is now directly targeting the correct CPU. I don't know how to do that though. Technically, it will still work regardless but with a web development background, I do think we can make the code a bit cleaner. Just not sure how to do with this language. For a quick reference of the full SSDT-PLUG.dsl sample /* * XCPM power management compatibility table. * * Please note that this table is only a sample and may need to be * adapted to fit your board's ACPI stack. For instance, both scope * and device name may vary (e.g. _SB_.PR00 instead of _PR_.CPU0). * * While the table contains several examples of CPU paths, you should * remove all the ones irrelevant for your board. */ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_SB_.CPU0, DeviceObj) External (_PR_.CPU0, DeviceObj) External (_PR_.C000, DeviceObj) External (_PR_.P000, DeviceObj) External (_SB_.PR00, DeviceObj) External (_PR_.PR00, DeviceObj) External (_SB_.SCK0.CP00, DeviceObj) External (_SB_.SCK0.PR00, DeviceObj) If (CondRefOf (\_SB.CPU0)) { Scope (\_SB.CPU0) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.CPU0)) { Scope (\_PR.CPU0) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.PR00)) { Scope (\_SB.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.C000)) { Scope (\_PR.C000) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.P000)) { Scope (\_PR.P000) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_PR.PR00)) { Scope (\_PR.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.SCK0.CP00)) { Scope (\_SB.SCK0.CP00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } If (CondRefOf (\_SB.SCK0.PR00)) { Scope (\_SB.SCK0.PR00) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "plugin-type", One }) } } } } I think you are right, i have simplified SSDT-PLUG.dsl sample, removed all the if statements and references irrelevant to my cpu (PR.CPU0). It’s working as intended and it looks like this: DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_PR_.CPU0, ProcessorObj) Scope (\_PR.CPU0) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "plugin-type", One }) } } } 1 Link to comment Share on other sites More sharing options...
insanefrancis Posted April 16, 2020 Share Posted April 16, 2020 3 minutes ago, Paksman said: I think you are right, i have simplified SSDT-PLUG.dsl sample, removed all the if statements and references irrelevant to my cpu (PR.CPU0). It’s working as intended and it looks like this: DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000) { External (_PR_.CPU0, ProcessorObj) Scope (\_PR.CPU0) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "plugin-type", One }) } } } Cool. Will do this as well. Thanks. Link to comment Share on other sites More sharing options...
dracon Posted April 16, 2020 Share Posted April 16, 2020 I tried upgrading to OpenCore 0.5.7 today from 0.5.6 but when I rebooted everything boots, but I'm unable to get past the login screen with FileVault. I entered the password and hit enter, the password prompt disappears and nothing else happens, it's just stuck. If I revert back to 0.5.6, everything works just fine. config-0.56.plist config-0.57.plist Link to comment Share on other sites More sharing options...
davidm71 Posted April 17, 2020 Share Posted April 17, 2020 On 4/15/2020 at 1:41 PM, noreason said: Heya, I switched from Clover to OpenCore recently (fresh install, new ssd) and everything "works" lovely except a few things... I am randomly getting hard lockups that require a power off (reset button doesn't even work). I can't seem to figure out why... One thing that might be causing it is strange USB behavior i am having. My non USB 3.0 ports work for about 3 or so minutes after booting up, then completely shut down. No power coming out of them or anything. Like they crash completely. Initially i thought maybe it was the port limit patch / usbinjectall but after creating a USB map kext and removing the limit patch / usbinjectall kext it still does this. I have another SSD that i use to boot windows for gaming, and i can game for days without freezes / USB issues, so i don't believe its hardware failure. -- Random bits of info that might help: Mobo is asrock Z77 Extreme4, running OpenCore 0.5.7, used the Ivy Bridge section of the vanilla guide to build my config.plist Mobo has onboard Intel graphics, but I am running a Geforce GTX 780 with 'build in' apple drivers. Not sure if my integrated card needs to be configured or just ignored? I read that it helps with encoding/decoding media, etc. Not sure if this would cause my issues though I am using FakePCIID and the BCM57XXX as BCM57765 kext to get ethernet to work. "Sanity checker" says FakePCIID is no good, but couldn't find a way to get ethernet working... Not sure if that would cause freezing / usb crashing though? I have not yet implemented CPU-PM (could that cause this? seems unlikely?) CSM is enabled in bios, guides usually always say to disable, but never could get it to boot with this mobo. This worked lovely in clover for 4 years enabled, so who knows config.plist Are you on 15.4? If so was wondering if you would do me a favor and run the 'CONSOLE' app and check its crash reports and see if you see any mention of your video card at being at fault? I'm having a similar issue and narrowed it down to the drivers for my 5700 XT. Thanks Link to comment Share on other sites More sharing options...
markl18 Posted April 17, 2020 Share Posted April 17, 2020 (edited) I figured out this lockup config.plist-> UEFI-> Quirks-> IgnoreInvalidFlexRatio-> True / YES but now I got stuck here with no apperant errors Edited April 27, 2020 by markl18 Link to comment Share on other sites More sharing options...
foster Posted April 17, 2020 Share Posted April 17, 2020 How do I eliminate having two entries in boot picker for Windows 10? Otherwise no issues. Link to comment Share on other sites More sharing options...
ammoune78 Posted April 17, 2020 Share Posted April 17, 2020 On 4/14/2020 at 5:13 AM, SavageAUS said: Hey @SavageAUS, what is that: Clover or OpenCore boot menu theme? Link to comment Share on other sites More sharing options...
Guest Posted April 17, 2020 Share Posted April 17, 2020 17 minutes ago, ammoune78 said: Hey @SavageAUS, what is that: Clover or OpenCore boot menu theme? Standard opencore icon you can find in Resource folder Link to comment Share on other sites More sharing options...
ammoune78 Posted April 17, 2020 Share Posted April 17, 2020 I still don't have Xcode installed to compile from the source, and the resources folder in the release OC 0.5.7 is empty Link to comment Share on other sites More sharing options...
Intel6600 Posted April 17, 2020 Share Posted April 17, 2020 Here you have Resources. Or just download it from here https://github.com/acidanthera/OcBinaryData Resources OC.zip 1 1 Link to comment Share on other sites More sharing options...
edenpulse Posted April 17, 2020 Share Posted April 17, 2020 (edited) Okay, so compiled and tried the fork. I added the EnableForAll quirks to boot Windows, and even tried to add a custom entry to the bootloader. Neither works. Enableforall set to true of false doesn't do change the fact that it won't boot. In one case I get the BSOD ACPI_BIOS_ERROR, in the other case, Windows doesn't seem to find bootmgfw (i don't remember the exact error) and tells me to repair it. Edited April 17, 2020 by edenpulse Link to comment Share on other sites More sharing options...
mhaeuser Posted April 17, 2020 Share Posted April 17, 2020 @edenpulse Fork discussion belongs in the fork topic: 1 Link to comment Share on other sites More sharing options...
johnnync21 Posted April 17, 2020 Share Posted April 17, 2020 Is it possible in the future install to an AMD Ryzen 4000 laptop? It known that the micro-code of Ryzen is on 10.15.4. The laptops are better than intel an only 15w 4800u with 8c 16t. I really hope that in the future we can take the two options. The next year all laptops will have usb 4.0 that it has thunderbolt 3... Link to comment Share on other sites More sharing options...
markl18 Posted April 17, 2020 Share Posted April 17, 2020 (edited) apfs_module_star 1689 error anyone has an idea how to solve it Edited April 17, 2020 by markl18 Link to comment Share on other sites More sharing options...
mhaeuser Posted April 17, 2020 Share Posted April 17, 2020 @johnnync21 This has literally nothing to do with OpenCore or this topic. Link to comment Share on other sites More sharing options...
davidm71 Posted April 17, 2020 Share Posted April 17, 2020 Hi, When Opencore efi bootloader starts up it verbosely complains certain files in the Resource folder are missing. Doesn't seem to affect anything but is there a link to Resource files necessary for the GUI? Thank you Link to comment Share on other sites More sharing options...
149113 Posted April 18, 2020 Share Posted April 18, 2020 Any advise on getting a Dell H200 SAS card working? Had no issues under Clover with 2 kexts but at getting an "invalid parameter" error in OC boot when it tries to load them. Everything else is working great. Link to comment Share on other sites More sharing options...
telepati Posted April 18, 2020 Share Posted April 18, 2020 4 minutes ago, Steve-y said: Hello! I got my OpenCore running pretty well but I see some ACPI errors quickly passing by and I can't seem to find them anywhere in the logs. Is there a way to log these? I've checked dmesg and searched for it in console.app... Would like to know what exactly are the errors and clean up config. Thank you! Use DisplayDelay for this under Misc/Debug Link to comment Share on other sites More sharing options...
MacNB Posted April 18, 2020 Share Posted April 18, 2020 7 hours ago, 149113 said: Any advise on getting a Dell H200 SAS card working? Had no issues under Clover with 2 kexts but at getting an "invalid parameter" error in OC boot when it tries to load them. Everything else is working great. "invalid parameter" means that you have configured the something incorrectly in your config.plist. Most likely, you have not added your kexts correctly. If you wish to know what, then you would have to post your config.plist and the 2 kexts you are trying to add. Link to comment Share on other sites More sharing options...
MacNB Posted April 18, 2020 Share Posted April 18, 2020 (edited) 6 hours ago, Steve-y said: Hello! I got my OpenCore running pretty well but I see some ACPI errors quickly passing by and I can't seem to find them anywhere in the logs. Is there a way to log these? I've checked dmesg and searched for it in console.app... Would like to know what exactly are the errors and clean up config. Thank you! dmesg command no longer captures the boot log. In your config.plist, set misc->AppleDebug=true and it will add the boot.efi log into the macOS boot log. Once booted, open terminal app and enter the following : log show --predicate 'process == "kernel"' --style syslog --source --last boot ...and it will display the full macOS log from boot. I've have saved that command to a file I called dmesg.sh and saved it /usr/local/bin which allows me to run that dmesg.sh command - it's equivalent to the old dmesg command. From terminal pipe the output of that command to grep and search for anything that I am interested in....e.g. ACPI like so: dmesg.sh | grep -i acpi and it will show every line with ACPI in the log or, specifically : dmesg.sh | grep -i AcpiOsVprintf Edited April 18, 2020 by MacNB 2 1 Link to comment Share on other sites More sharing options...
gorans Posted April 18, 2020 Share Posted April 18, 2020 (edited) Hi guys, I made the transition from ozmosis to OC without big problems and I'm now successfully booting Mojave with OC 0.5.7 and it's working great. However, there are some concerns and problems that I would like to address: • I have second SATA HD (APFS) that doesn't mount on boot. I can mount it with Disk Utility and it checks good. How to fix? • My hack wakes every 2 hours with DarkWake from Normal Sleep [CDN] due to RTC/Maintenance. I know that's connected with WOL, and I need WOL, but it was working great on Oz and high sierra with darkwake=0. Powernap is disabled and I'm using iMac 14,2 bios. • There are errors in the log that I don't know how to fix or how serious they are: (Lilu) VirtualSMC efend: @ authenticated restart support is unavailable (800000000000000E, 8) ... (Lilu) SMCProcessor scpu: @ failed to get system model ... (IONVMeFamily) <IONVMeFamily`IONVMeDebugAssert> AppleNVMe Assert failed: ( 0 != data ) ... (IOStorageFamily) <IOStorageFamily`dkreadwritecompletion(void*, void*, int, unsigned long long)> disk1s1: device is not readable. ... (HFS) <HFS`hfs_mountfs> hfs_mountfs: buf_meta_bread failed with 13 (HFS) <HFS`hfs_mount> hfs_mount: hfs_mountfs returned error=13 for device unknown-dev hfs_mountroot failed: 13 ... (pmtelemetry) <pmtelemetry`com_apple_driver_pmtelemetry::_pch_init()> Unsupported CPU • There are also thousands of (IOAudioFamily) messages and a lot of (AppleHDA). • And thousands of (Sandbox) <Sandbox`kernel_report> repeated messages like: (Sandbox) <Sandbox`kernel_report> Sandbox: secd(322) deny(1) mach-lookup com.apple.lsd.modifydb (Sandbox) <Sandbox`kernel_report> Sandbox: rapportd(344) deny(1) mach-lookup com.apple.lsd.modifydb (Sandbox) <Sandbox`syscall_extension_consume> syscall_extension_consume failed: 22 ... Any advice will be appreciated. Edited April 18, 2020 by gorans Link to comment Share on other sites More sharing options...
insanefrancis Posted April 18, 2020 Share Posted April 18, 2020 3 hours ago, MacNB said: dmesg command no longer captures the boot log. In your config.plist, set misc->AppleDebug=true and it will add the boot.efi log into the macOS boot log. Once booted, open terminal app and enter the following : log show --predicate 'process == "kernel"' --style syslog --source --last boot ...and it will display the full macOS log from boot. I've have saved that command to a file I called dmesg.sh and saved it /usr/local/bin which allows me to run that dmesg.sh command - it's equivalent to the old dmesg command. From terminal pipe the output of that command to grep and search for anything that I am interested in....e.g. ACPI like so: dmesg.sh | grep -i acpi and it will show every line with ACPI in the log or, specifically : dmesg.sh | grep -i AcpiOsVprintf Got curious on how my boot log looks so I run the command above. I have these 4 lines which I think are errors. Other lines seems to look fine for me. 020-04-18 15:26:24.605113+0300 localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> ACPI Exception: AE_BAD_PARAMETER, 2020-04-18 15:26:24.605114+0300 localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> ACPI Exception: AE_BAD_PARAMETER, 2020-04-18 15:26:24.605116+0300 localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> Could not install PciConfig handler for Root Bridge PCI0 2020-04-18 15:26:24.605117+0300 localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> Could not install PciConfig handler for Root Bridge PCI0 What does these 4 lines mean? Can they somehow be fixed? Link to comment Share on other sites More sharing options...
149113 Posted April 18, 2020 Share Posted April 18, 2020 (edited) 4 hours ago, MacNB said: "invalid parameter" means that you have configured the something incorrectly in your config.plist. Most likely, you have not added your kexts correctly. If you wish to know what, then you would have to post your config.plist and the 2 kexts you are trying to add. Attaching the config.plist and the two kext files. Config.plist Sas Kext Files.zip opencore-2020-04-18-131002.txt Edited April 18, 2020 by 149113 Link to comment Share on other sites More sharing options...
Recommended Posts