-v
- this enables verbose mode, which shows all the behind-the-scenes text that scrolls by as you're booting instead of the Apple logo and progress bar. It's invaluable to any Hackintosher, as it gives you an inside look at the boot process, and can help you identify issues, problem kexts, etc.dart=0
- this is just an extra layer of protection against Vt-d issues.debug=0x100
- this prevents a reboot on a kernel panic. That way you can (hopefully) glean some useful info and follow the breadcrumbs to get past the issues.keepsyms=1
- this is a companion setting to debug=0x100
that tells the OS to also print the symbols on a kernel panic. That can give some more helpful insight as to what's causing the panic itself.-1
to avoid all timeout, or to 0
to skip the GUI entirely. If set to 0
, you can press any keys at boot to get the GUI to show back up in case of issues.Enabling Legacy Matching
verbose line. You can also get past that by enabling XHCI Hand Off in BIOS.0xAABBCCDD
, our swapped version would look like 0xDDCCBBAA
.0x3E9B0007
- this is used when the iGPU is used to drive a display07009B3E
when hex-swappedBwCbPg==
when the hex-swapped version is converted to base640x3E920003
- this is used when the iGPU is only used for compute tasks, and doesn't drive a display0300923E
when hex-swappedAwCSPg==
when the hex-swapped version is converted to base64device-id
fake for the i3-8100's UHD 630. This has a different device id than the UHD 630 found on the 8700k, for instance (3e918086
vs 3e928086
).0xAABB0000
, our swapped version would look like 0xBBAA0000
. We don't do anything with the last 2 pairs of hex bytes.0x3e920000
- this is the device id for the UHD 630 found on an 8700k923e0000
when hex swappedkj4AAA==
when the hex-swapped version is converted to base64IGPU
(this is sometimes named GFX0
in ACPI, but Lilu + WhateverGreen should rename it properly) and got the following screen:IGPU
in IOReg, we can clear our search - this reveals all the info around the IGPU
section while keeping our place:connector-type
property, which was originally set to <00 04 00 00>
in my case. The connector type can have a few different values:<00 04 00 00>
- this is DisplayPort<00 08 00 00>
- this is HDMI<04 00 00 00>
- this is Digital DVI<02 00 00 00>
- this is LVDS (for laptops)<01 00 00 00>
- this is just a Dummy port1
. I needed to enable the port patch in Properties, and then set the connector type to HDMI. I used the following Properties entries for that:framebuffer-conX-enable = 01000000
framebuffer-conX-type = 00080000
conX
in both patches with con1
to reflect the port that I am changing, then set the values as listed above.Preboot
VM
Recovery
to the list.diskXsY
with the actual disk number of the volume you'd like to hide.-a
argument (which generates serials and board serials for all supported platforms). You can also parse it with grep
to limit your search to one SMBIOS type.Product | Serial | Board Serial (MLB)
iMac18,1
part gets copied to SMBIOS -> Product Name.Serial
part gets copied to SMBIOS -> Serial Number.Board Serial
part gets copied to SMBIOS -> Board Serial Number as well as Rt Variables -> MLB.uuidgen
in the terminal (or it's auto-generated via my GenSMBIOS script) - and that gets copied to SMBIOS -> SmUUID.UseMacAddr0
which just utilizes our onboard Mac address - this should be unique enough to not conflict with any others.0x28
, and CsrActiveConfig is set to 0x3e7
which effectively disables SIP. You can choose a number of other options to enable/disable sections of SIP. Some common ones are as follows:0x0
- SIP completely enabled0x3
- Allow unsigned kexts and writing to protected fs locations0x3e7
- SIP completely disabledYes
- this tells Clover to inject kexts from the EFI regardless.No
- this tells Clover not to inject kexts from the EFI.Detect
- this has Clover inject kexts only if FakeSMC.kext is not in the kext cache.Yes
to make sure that all the kexts we added before get injected properly.system-id
at boot - which is important for iMessage and such.