** Hackintosh ** Tips to make a bare metal MacOS


Recommended Posts

18 hours ago, paulmorabi said:

 

I used the EFI folder from here. The only changes I made to the config.plist were to language and remove timeout on the boot menu.

 

Did you try with your own vbios? What motherboard are you using? Does GPU work if passing through to Linux or windows VMs?

 

 

 

I have got my vbios and I have a TRX40 AORUS PRO WIFI (rev. 1.0) with a threadripper 3960x, have tried with the same EFI you mention and thats a no go.. have put several days into this and still nothing.

 

yes windows 10 and linux both get the GPU passthrough perfectly full drivers installation a nd gaming tested on both

Link to comment
1 hour ago, mSedek said:

I have got my vbios and I have a TRX40 AORUS PRO WIFI (rev. 1.0) with a threadripper 3960x, have tried with the same EFI you mention and thats a no go.. have put several days into this and still nothing.

 

yes windows 10 and linux both get the GPU passthrough perfectly full drivers installation a nd gaming tested on both

 

Hmm I don't know then. I am not sure what version of WhateverGreen and other kexts are in the GitHub repo but as you are using a newer card then mine, you may need more recent versions. But the whole OpenCore area is one I am also still learning.

Link to comment
9 hours ago, T-Birth said:

To-Do: (help really appreciated)

- No Sound on my Mac

You need to inject lilu first and applealc (and you are already injecting, so it's ok).

you need to passthrough the audio card and specify a layiout id, instead audio from gpu is managed by lilu+applealc+whatevergreen, no need for layout.

To specify the layout you can use boot arg (alcid=) or you can inject the audio device into the config.plist (DeviceProperties) and specify the layout-id property for that device.

You are using the first option with a layout id=1.

If your audio comes from the gpu check the first page to properly set your xml about gpu+audio.

If you did all the above, it could be that you are using a wrong layout id, check your codec and go here:
https://github.com/acidanthera/AppleALC/tree/master/Resources

 

Select your codec and try all the available layouts.

 

10 hours ago, T-Birth said:

- PC not recognizing German Keyboard Layout even after choosing it in OSX. Example -> z and y switched

Maybe change it correctly in Config.plist/libvirt ? don't know how atm..

You need to change in config.plist the prev-lang:kbd nvram setting.

Available langs/layouts are here:

https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/AppleKeyboardLayouts/AppleKeyboardLayouts.txt

 

Languages and keyboard layouts are independent.

You could try de:3 converted to base64 is ZGU6Mw==

 

10 hours ago, T-Birth said:

- Optimizing the config.plist and libvirt -> 

"Change Target to lof to file in the config.plist" -> really replacing 67 or 3 with "lof to file" ?

"Disable verbose stuff, so only Apple Logo is shown"

Check the configuration.pdf of opencore (page 39) to see what that values mean:

Target 67 meaning.

67 is integer converted to hex it's 0x43, which is the hex sum of 0x01 + 0x02 + 0x40 = 0x43, converted to decimal is 67, so back to the documentation:

0x01 = Enable logging, otherwise all log is discarded

0x02 = Enable basic console (onscreen) logging

0x40 = Enable logging to file

 

3 means:

decimal 3 = 0x03 hex, sum of 0x01 + 0x02 = 0x03, converted to decimal is 3:

0x01 = Enable logging, otherwise all log is discarded

0x02 = Enable basic console (onscreen) logging

 

To disable verbose you need to develte -v in boot args in the config.plist

10 hours ago, T-Birth said:

- Testing ICloud feature after changing some related stuff inside config.plist

Check:

- e1000-82545em in the xml for the network card

- SMBIOS data (mlb, rom, serial, etc.)

Can be tricky to make it work if you are already flagged server side by apple

  • Thanks 1
Link to comment

Big Sur beta 7 20A5374g tested:

Updated by OTA, which seems to be (untill now) the only method; if you have a broken seal you need to install first again beta 6 (will not delete your apps/docs) to re-seal the os (this will reset all custom modifications to the system, if any) and then update to beta 7, otherwise software updater will tell you that you must have the full installer to perform the update.

vmscgen=1 not needed anymore with latest opencore

 

- issue with textedit: some crashes when opening existing txt files (with beta 1 was several crashes) Still some issues with the search functionality

- preference panel icons of third party applications: not working well, icons disappear if prepane installed in /System/Library (probably it will not be fixed since you can't install in /System with a sealed system)

- system preferences --> network: it takes long time to load the network panel

- during Mac OS boot there are several messages like "IOKit Daemon (kernelmanagerd) stall[0], (60s): 'ISA'" and boot takes like 4-5 minutes (same messages happen during installation with 240s stall time); Solved: if you have AppleLPCInjector kext disable it

- control center: somehow slow when clicking on the control center icon

- Clicking on top clock menu bar opens the widget (not sure but shouldn't it open clock settings?)

- AM/PM clock not working (not shown in menu bar); Clock settings are now moved to languages and zones and dock & menu bar

- Languages: some strings are only in English

- System preference panel not working well: some settings shows as greyed out but can be enabled, some graphical glitches

- Opencore shows in bootpicker "Preboot" instead of the Mac OS volume name (Scanpolicy=0, no Mac OS volume name is shown): can be fixed manually by creating a file named .disk_label.contentDetails with the content of your disk label (for ex: MacOSBigSur) in /System/Volumes/Preboot/UUID/System/Library/CoreServices (replace UUID with the real UUID)

- Cannot mount / for read/write anymore with SIP disabled: sudo mount -uw / (not an issue related to Mac OS since it's supposed to work as it is, the seal must be broken to be able to write into /)

- Cannot connect to SMB (workaround load manually kext with "sudo kextload /System/Library/Extensions/smbfs.kext")

Edited by ghost82
Link to comment

Just wanted to give OpenCore in unraid a try, but I don‘t even get past the Tiano Core logo. My VM instantly restarts, only the size of the Tiano Core logo varies between small and large...

 

So I mounted a copy of my clover.qcow2 and replaced the EFI folder with the one from github, I also created my own qcow2 file based on the instructions I‘ve found, but it always keeps rebooting instantly.

 

Guess I‘m missing some basic instruction? Is there something else beside the EFI folder and some customization in the xml template?

 

EDIT: had to change the scan policy 🙄

 

But the installation keeps starting in chinese even though I changed the prev-lang:kbd setting in the config.plist. I was able to change it then (google picture search helped me finding it), but I'm still curious. I also did a nvram reset using OpenCore just to be sure, that the modified setting gets loaded, but it starts in chinese no matter what I do...

Edited by lixe
Link to comment
On 9/19/2020 at 3:07 PM, lixe said:

I was able to change it then (google picture search helped me finding it), but I'm still curious. I also did a nvram reset using OpenCore just to be sure, that the modified setting gets loaded, but it starts in chinese no matter what I do...

What value did you set in the config.plist?Paste the relevant code.

Check the prev-lang:kbd variable when you have a different language to verify if it's correctly set, launch terminal and type:

nvram prev-lang:kbd

 

Link to comment
On 8/24/2020 at 11:59 AM, ghost82 said:

For all users using opencore who are not able to compile from master: from this link you can download already compiled versions (debug or release) with the latest commits:

https://dortania.github.io/builds/?product=OpenCorePkg&viewall=true

 Hi Ghost82,

 

Would you happen to have and are able to share a full working efi with latest opencore debug (0.6.2) , of course all the secrets removed. I am running a dual 2697v2 supermicro board and the latest stable unraid (in case it matters)

I have been trying now for days without luck to upgrade my working 0.5.6 based working efi's to 0.6.2 but whatever i do i keep getting stuck on tianocore (with vnc , not passing anything just to exclude as much as i could.) There is something i am missing there and want to compare with a fully working one and after move anything specific over.

 

Once i have that i want to start playing with BigSur again , but forst want my current catalina vm's to just work/boot with the latest opencore.

Link to comment
2 hours ago, glennv said:

Would you happen to have and are able to share a full working efi with latest opencore debug (0.6.2)

Sure, I'm sharing the EFI folder, qcow2 image and config.plist, so you are able to compare as you want.

 

opencorebasic.qcow2:

https://workupload.com/file/8beayNFHFvF

 

EFI folder:

https://workupload.com/file/4Qh8vsvGfaN

 

config.plist: attached here.

 

This is a basic EFI:

- debug EFI

- no audio specified address

- loads only openruntime and hfspluslegacy (no opencanopy)

- picker: builtin

- no content inside Resources folder (icons, labels, etc)

- no agpm injected

- target 67 --> log to file

- boot args: -v debug=0x100 keepsyms=1

- prev-lang:kbd en:0 (ZW46MA==)

- SIP disabled

- Injections: x86PlatformPlugin, EC, usb power properties, AppleLPC

- Patches: algrey - cpu_topology_sort -disable _x86_validate_topology, algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN

 

Kexts:

lilu (debug): updated to commit 94a467f

virtualsmc (debug): updated to commit eda655b

whatevergreen (debug): updated to commit 65fc496

applealc (debug): updated to commit 88ed1dd

applemcereporterdisabler: you need this for dual socket

 

Change these data in the config.plist

SMBIOS: iMacPro 1,1, SN C02VW8Z6HX87, system uuid EB08885A-CC13-4460-A45B-4609BF68A5AD, ROM 83691d68a5ad (g2kdaKWt), MLB C02752404J9JG368C

 

Let us know if it works, my vm boots without problems

config.plist

Edited by ghost82
  • Like 1
  • Thanks 1
Link to comment

!!!!!! FANTASTIC !!!!!!

 

And of course , after changing just the SMBIOS and dropping it in, it boots without a problem  .  Grrrr . Steam out of my ears and headdesking now why i could not find it myself hahaha. But as your typical IT nurd its hard to give up and ask for help.

 

Tnx bro, super appreciated. When i get some time next weekend i will try and figure out what i missed. Surely its one stupid seemingly unimportant flag as it always is hahahaha.

 

 

  • Haha 1
Link to comment

@ghost82

 

I try'd your EFI folder with changed SN related stuff and it bootet on Ryzen and x570 without trouble. So somehow it feels a lot snappier and more responsive in combination with my libvirt than my created EFI-Folder (linked above).

 

Now I'm triggered and I'm trying to analyze why. Also if you don't mind, sharing your XML would really make my day.

 

#stayhealthy

EDIT:

- The Speed increase is noticeable during Boot

- Also the Mouse movement is a lot snappier

- Opening Safari and changing Apps is also a little quicker/fluently

Edited by T-Birth
Link to comment
17 hours ago, T-Birth said:

Also if you don't mind, sharing your XML would really make my day

Here it is, copied from running vm, passing through gpu (domain='0x0000' bus='0x83' slot='0x00' function='0x0'), audio from gpu (domain='0x0000' bus='0x83' slot='0x00' function='0x1'), audio from motherboard (domain='0x0000' bus='0x00' slot='0x1b' function='0x0'), 2x cpu, mouse/keyboard dongle (vendor id='0x045e'), a webcam (vendor id='0x046d') and a usb pci card (domain='0x0000' bus='0x84' slot='0x00' function='0x0'); 2 network bridges, one accessing internet (br0), set to be en0 builtin in macos (this is an ethernet-wifi bridge tp-link TL-WR802N, so the host has internet access thanks to this), one to communicate with the host only (br1), using another ethernet port (not physically connected).

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Catalina</name>
  <uuid>b1bd7672-d29e-e48e-d07a-2fb0dc937878</uuid>
  <memory unit='KiB'>33554432</memory>
  <currentMemory unit='KiB'>33554432</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>16</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='5'/>
    <vcpupin vcpu='6' cpuset='6'/>
    <vcpupin vcpu='7' cpuset='7'/>
    <vcpupin vcpu='8' cpuset='8'/>
    <vcpupin vcpu='9' cpuset='9'/>
    <vcpupin vcpu='10' cpuset='10'/>
    <vcpupin vcpu='11' cpuset='11'/>
    <vcpupin vcpu='12' cpuset='12'/>
    <vcpupin vcpu='13' cpuset='13'/>
    <vcpupin vcpu='14' cpuset='14'/>
    <vcpupin vcpu='15' cpuset='15'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/mnt/user/domains/Catalina/OVMF_CODE.fd</loader>
    <nvram>/mnt/user/domains/Catalina/OVMF_VARS.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'/>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='native' discard='unmap'/>
      <source file='/mnt/user/domains/Catalina/opencore.qcow2'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>
      <source file='/mnt/user/domains/Catalina/vdisk3.img'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xc'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xd'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='8' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <interface type='bridge'>
      <mac address='RE:DA:CT:ED:--:--'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x01' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='RE:DA:CT:ED:--:--'/>
      <source bridge='br1'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x08' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/domains/GTXTitanBlack.dump'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x84' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0745'/>
        <address bus='1' device='3'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0x0892'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-smp'/>
    <qemu:arg value='16,sockets=2,cores=8,threads=1'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,ucode_rev=0x513,+hypervisor,migratable=no,-erms,kvm=on,+invtsc,+topoext,+avx,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,+arat,+pclmuldq,+pdpe1gb,+rdtscp,+vme,+umip,check'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.sata0-0-2.rotation_rate=1'/>
    <qemu:arg value='-set'/>
    <qemu:arg value='device.sata0-0-3.rotation_rate=1'/>
  </qemu:commandline>
</domain>

 

Edited by ghost82
  • Thanks 1
Link to comment

Big sur beta 8 is out but for some reason I'm not able to update..

Not sure if the seedutil command is working properly on beta 7.

I noticed that if I unenroll

sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil unenroll

and enroll again

sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil enroll DeveloperSeed

in the system update panel I have for some time on the left that I'm into developer seed program, but after sometime it automatically switches back to normal "software update", such as it exits from the developer seed.

 

Anyone was able to update?

Link to comment

I was able to but you are not alone on this. On the AMD hackintosh discord a lot of people are having issues with updating to beta. Heard a couple different reasons why it may not update. One was a broken seal on the main partition and the second theory was something to do with the secure boot support added to opencore. I updated with no issues...that's for beta 7 and beta 8.

  • Like 1
Link to comment

Something was added with beta 7 that messed up something along the way though because it broke AMD support entirly where new patches were needed to even install beta 7(bare metal). Secure boot is set as disabled for me though as any sane person should have it set right now.

Edited by david279
Link to comment
5 minutes ago, david279 said:

One was a broken seal on the main partition and the second theory was something to do with the secure boot support added to opencore

Thanks, that should help, in fact I have a broken seal, tomorrow I will try to reinstall beta 6 to seal the system and update to beta 8.

From beta 6 to 7 I had a broken seal too, but the update showed, the only thing was that there was an error and the only way was to seal again the system.

Edited by ghost82
Link to comment
1 minute ago, ghost82 said:

I heard somewhere that new patches for amd were available from some days ago.ye

Yeah they fixed it maybe a day later but beta 7 added a lot of stuff under the hood that maybe added to the issues now. Also no full install can be pulled for beta 7 or beta 8. Last one was available for beta 6. 

  • Like 1
Link to comment

I found out what was the issue.

Sealing again the system starting from beta 6 (obviously with secure boot disabled) didn't help to get beta 8 (same behaviour).

I noticed something strange in the SIP: I wasn't able to full enable or full disable through csrutil: status was always unknown, even if the entries were all disabled or enabled.

I think the issue is related to latest stable ovmf or the way open core interacts with ovmf, because once replacing OVMF_CODE and OVMF_VARS to 202005 stable I was able again to fully enable/disable SIP and now updates are working as usual (updating now to beta 8).

So advice is not to use latest ovmf 202008. ---> maybe related to this: 

 

Beta 8 (20A5374i) tested, no improvements in my list of issues, clock again greyed out, and several users are reporting that active directory is not working...I really can't understand how they are testing and patching things...

 

Catalina 10.15.7 released, safe to update.

Edited by ghost82
Link to comment

Updated the libvirt linked above. I'm still in the process of learning but tinkering around is sometimes the best way to gain knowledge.

Also, the effect of

hv-vendor-id=AuthenticAMD

 

and

 

<vendor_id state="on" value="AuthenticAMD"/>

 

is simply hilarious. Its like the Animation Speed of OSX was amplified by 5 times.

 

Geekbench:

Previous libvirt

1119 Single-Core

4828 Multi-Core

 

ghost82 libvirt (original)

1203 Single-Core

5084 Multi-Core

 

ghost82 libvirt (modified)

1413 Single-Core

6018 Multi-Core

 

  • Thanks 1
Link to comment

How do i get my passthru Nic (intel with smalltree driver) recognised as internal ?

I saw in the OP that you need to make sure it is defined in the xml on bus 0, and in the OS as en0 which it both is, but still not recognised as internal. And it gives me some issue with one or 2 apps downloaded from the app store while other app store apps and icould stuff all works fine, these 2 apps keep telling me they are broken (logs complain about certificates) so i feel this is related. Everything else works fine .

Link to comment
7 hours ago, glennv said:

How do i get my passthru Nic (intel with smalltree driver) recognised as internal ?

As an alternative you can inject the builtin property in opencore:

First of all check that your ethrnet card is recognized as en0 in macOS; if this is not the case delete the network properties (you can find easily how to do it in google), attach only the ethernet card and reboot, so that macOS will pick up the card as en0.

 

Download the release version of gfxutil.

It's here:
https://github.com/acidanthera/gfxutil/releases/download/1.80b/gfxutil-1.80b-RELEASE.zip

 

Unzip it in the vm, open the terminal, cd to the extracted folder and run:

./gfxutil -f ethernet

This will output the address of your ethernet(s)

Output should be similar to this:

02:01.0 8086:100f /PCI0@0/S08@1/pci-bridge@0/ethernet@1 = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)

Mount the EFI partition, open the config file located at /EFI/OC/config.plist and set the following:

Find DeviceProperties and inject the built in property for your network, you should have something like this:

	<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict/>
		<key>Delete</key>
		<dict/>
	</dict>

Replace with:

	<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict>
			<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)</key>
			<dict>
				<key>built-in</key>
				<data>AQ==</data>
			</dict>
		</dict>
		<key>Delete</key>
		<dict/>
	</dict>

Change only the PciRoot address to that of the output of the gfxutil.

By doing this you are telling opencore to inject the property "buil-in" with a value of AQ== (it's base64, converted to decimal is 1, boolean=true) into address PciRoot()...., which is the ethernet card.

 

Now if you have IORegistry Explorer (https://mac.softpedia.com/get/System-Utilities/IORegistryExplorer.shtml) and you run it and you search for "en0" you will see on the right the built-in property set to "true".

 

en0.png.3161934bbe98877702563388eb3eac7e.png

  • Like 1
Link to comment

Tnx buddy , will test it this weekend (as have to reboot whole server to make changes to the VM , as 5700xt passed thru, tnx amd...), but by the looks of it seems a solid solution.
I saw the missing "internal" status also in the about this mac system report on a proper mac so that was what triggered me to look in his direction.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.