simprecicchiani / ThinkPad-T460s-macOS-OpenCore

Bootloader configuration for macOS on T460s and possibly other 6th gen ThinkPads
BSD 3-Clause "New" or "Revised" License
339 stars 61 forks source link

[FIX FOR:] Generation from SMC report as 2 (& EFI optimization for 20FA) #189

Open Anarooo opened 1 month ago

Anarooo commented 1 month ago

If you have enabled verbose so you can see the output of OpenCore when launching the MacOS installer from USB and the operation hangs on "Generation from SMC report as 2"; OR your ThinkPad is rebooting when it gets roughly halfway through loading the installer from OpenCore, then this fix may work for you.

Enabling Verbose

If you don't have verbose mode on, use a .plist editor such as ProperTree, search for 'AppleDebug' and set these values to 'TRUE':

And set 'Target' to '67' in that same Dictionary too.

Also, it's advisable to add '-v keepsyms=1' to your 'boot-args' under NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82 to ensure that it properly shows the debugging.

'Generation from SMC report as 2' fix

To fix the 'Generation from SMC report as 2', you need to add USBToolBox.kext, and you also need to map the USB ports on your T460s. You will need to boot into Windows to map the ports with the tool.

NOTE: You ideally need to be on Windows 10 or 11 to map the ports, however you can use Windows 8. WINDOWS 7 AND BELOW WILL CRASH. Alternatively, you can use Windows PE to map the ports, however they will be less descriptive.

You can acquire USBToolBox.kext from here and the tool to map your ports and generate the UTBMap.kext file here.

Once you have mapped your ports, place both the USBToolBox.kext and UTBMap.kext into the kext folder in your EFI. You now need to configure these kexts in the Config.plist file.

Open your Config.plist file with ProperTree (or another plist editor) and navigate to Kernel. Now create two new children under 'Add' and format them as such:

Note: You can use OCAuxilliaryTools to do this for you automatically, just go to 'Kernel, Add' with the Config.plist loaded, right click and select 'Add Item' then navigate to 'USBToolBox.kext' and open it. Repeat this for 'UTBMap.kext', ensuring UTBMap.kext is below USBToolBox.kext.

Screen Shot 2024-07-27 at 3 32 50 AM

Note: They do not have to be in position 5 and 6 specifically, however ensure USBToolBox is loaded before UTBMap and ensure they both go below Lilu, VirtualSMC and WhateverGreen.

Once this is done, save your Config.plist and try to boot. If you still get any errors, scroll down to 'Changes to Config.plist' and test changing the variables listed there.

Changes to Config.plist

I had to make a lot of different configurations to my system to fix various issues with the latest release of the EFI (and to fit the hardware difference with my 20FA variant of the T460s as the EFI is based on the T460s 20F9 variant).

What I changed:

These changes will optimize your Config.plist more accurately. These changes are based on the T460s 20FA model and may not all work for you so trial and error these changes.

Note: SecureBootModel is recommended to be left as 'Default' for any OS versions Big Sur (11.0+) and above. Once my system is setup, I will test to ensure it will work when set to 'Default' and update this post as needed.

Anarooo commented 1 month ago

UPDATE: Intel HD 520 Integrated Graphics Patch

The above listed patch does not work to fix the Intel HD 520 graphics on your Hackintosh system. Below is the guide on what you need:

  1. Load your Config file in ProperTree (or any other plist editor). When loaded, navigate to 'DeviceProperties'.
  2. Locate 'PciRoot(0x0)/Pci(0x2,0x0)' and delete all entries under here (don't worry were going to be replacing these).
  3. Take a note of your current settings so you can place them back into your Config.plist if you need to (unsure if the extra data is needed when updating to macOS 13).
  4. Create 5 new entries/children. Name them accordingly:
    - AAPL,ig-platform-id=00001B19` (DATA)
    - device-id=16190000 (DATA)
    - framebuffer-fbmem=00009000 (DATA)
    - framebuffer-patch-enable=1 (NUMBER)
    - framebuffer-stolenmem=00003001 (DATA)
  5. Save your changes and boot. You should now see you have 'Intel HD 520 Graphics' with a number around 1500 MB not 7 MB.