Jump to content
30960 posts in this topic

Recommended Posts

3 hours ago, Matgen84 said:

Hi

 

Currently, I manually update kexts in EFI/Clover/Kext/others or 10.13.  Do you know a drag & drop app to do the job?

 

Thanks

I'm using Clover Configurator Pro.app from Mikey1979 that can easily find the boot partition and mount the right ESP (automatically or not). No kexts installation but is easy and fast.

  • Like 1
29 minutes ago, vector sigma said:

I'm using Clover Configurator Pro.app from Mikey1979 that can easily find the boot partition and mount the right ESP (automatically or not). No kexts installation but is easy and fast.

Thanks. I use ESP Mounter Pro from Micky1979, installed in menu bar (Insanelymac.com,  download section). But search apps to update EFI/Clover/Kexts similar to famous Kext Utility app.

2 minutes ago, Matgen84 said:

Thanks. I use ESP Mounter Pro from Micky1979, installed in menu bar (Insanelymac.com,  download section). But search apps to update EFI/Clover/Kexts similar to famous Kext Utility app.

Sorry for my ignorance..what is kext utility?  can I take a look?

  • Like 1
12 hours ago, telepati said:

For instance, I am using these kexts and which one are in the third-party kext?

Looking at Clover's source you should (IMO) avoid kexts that needs resources on the file system (like AppleHDA) because if a kext is inside your ESP the kext's bundle is not reachable. More the "kext path" in Clover use Windows separator ("\" instead of "/" used in Unix) so that this is a limit even for injected kexts on a mounted filesystem. After that looks like there's a limit in making spaces in the memory map (I don't think you can do that as you wish).... so that /library/Extensions is really a good place. Just my opinion.

 

edit

about making space in the mem-map you should consider that this job is done by boot.efi, and Clover arrives after that (i.e. not after loading it, but after this job is done?). If not I'm wrong, otherwise correct me :)

Edited by vector sigma
57 minutes ago, vector sigma said:

Sorry for my ignorance..what is kext utility?  can I take a look?

Kext Utility is for S\L\E and L\E installation. Here  I think KCPM Utility Pro 6 is better: Here

  • Thanks 1
On ‎5‎/‎4‎/‎2018 at 2:48 AM, tluck said:

 

IMO (and experience)

 

/Library/Extensions (vs SLE ) tends to be the better option for 3rd party (for things not macOS installed) - that is if you need to put them in the OS (vs ESP with clover injection) - as some kexts seem to only work this way.

Otherwise if you have no version dependent kexts - which is common if are booting recent OS such as Sierra and High Sierra, then EFI/CLOVER/kexts/Other keeps it simple.

 

 

if you were installing FakeSMC, NullPowerManagemet and other kexts like Intel gigabit drivers, would you be installing them in /Library/Extensions?

On 5/3/2018 at 3:27 AM, mrjayviper said:

Hi everyone. 

 

Where the best place to put 3rd party/party kexts?

 

From within clover alone there's

 

1.EFI/CLOVER/kexts/Others

2.EFI/CLOVER/kexts/10.xx

 

When should I use SLE?

 

Thanks so much!

 

It depends, kexts in Other will be injected for all versions, kexts in 10.xx folders will be injected only for that version. You should not use \S\L\E anymore unless there is an official driver installer like Nvidia web drivers. Use \L\E, but only when you do not need the kext to boot., i.e. bluetooth or network kexts.

 

On 5/3/2018 at 4:52 AM, eugene28 said:

It depends how many versions of OSX you want to use. If only one than 1st option. If you happy with your install and everything tested and works good you can transfer kexts to SLE. Some kexts needs to be installed to SLE only, like bluetooth kexts.

 

Apple now recommends only installing user kexts in /L/E not /S/L/E ever since kext signing was enforced.

 

On 5/4/2018 at 12:28 AM, Slice said:

Installing into LE or SLE requires keeping root:wheel permissions.

Clover's folder do not. It is more simple to install and modify kexts here. But in this case you can't use other bootloaders.

 

Agreed, but you should try to inject as many as possible but as few as possible too. I know that sounds strange but the more kexts you inject the more problems with memory you are likely to have. On the other hand, you want to inject as many kexts as possible so you don't have to do any work to get upgrades, installers, etc, working without much effort after doing once. The equilibrium I find is just injecting only what I absolutely need to boot, and install everything else in the OS.

 

On 5/4/2018 at 8:10 PM, telepati said:

I still struggling with this question. What are these third-party kexts? @RehabMan always saying after installation moves all kexts to L/E. But some people saying keep your kexts in the Clover/Others.

 

For instance, I am using these kexts and which one are in the third-party kext?

 

AppleALC.kext

EFICheckDisabler.kext

FakeSMC.kext

IntelMausiEthernet.kext

Lilu.kext

USBInjectAll.kext

 

Should I keep these kexts inside of the Clover/Others or which kexts should I move to L/E?

 

This is a pretty easy answer, they are all third party kexts and  keep injecting them. Third party means made by an organization not directly affiliated with the first party, in this case Apple, second party is like Intel, NVIDIA, or AMD that create components and drivers. If you install them in /L/E or /S/L/E then whenever anything happens like an upgrade or such you probably won't get working boot since it will use a different cache not built from your system (the one that is already prebuilt for the upgrade/installer). Though, you could not inject AppleALC and IntelMausiEthernet, and install those since they are not needed for booting.

 

On 5/4/2018 at 8:14 PM, Sherlocks said:

I recommend Bluetooth Kexts files(Rehabman BT or Dinesh BT) in L/E or S/L/E if you have problem about bt gone when wakeup from sleep.

 

Yeah, this is probably a must.

 

22 hours ago, maoyeye said:

2018-05-04 06:06:12.840511+0800 0x140      Error       0x0                  0      0    kernel: (IOHIDFamily)  is not entitled for IOHIDLibUserClient keyboard access
2018-05-04 14:06:31.126427+0800 0x3cb      Error       0x0                  0      0    kernel: (AppleSystemPolicy) Setting mach port for daemon
2018-05-04 06:06:05.450599+0800 0x7e3      Error       0x0                  0      0    kernel: (Sandbox) Sandbox: identityservices(281) System Policy: deny(1) system-privilege 12010

 

 

Not enough information...?

 

17 hours ago, Matgen84 said:

Hi

 

Currently, I manually update kexts in EFI/Clover/Kext/others or 10.13.  Do you know a drag & drop app to do the job?

 

Thanks

 

What else would you do, you only need to put the kexts (which are folders containing binaries, configurations, and other resources) in the folder. Just replacing them is drag and drop, is it not?

 

12 hours ago, Matgen84 said:

Thanks. I use ESP Mounter Pro from Micky1979, installed in menu bar (Insanelymac.com,  download section). But search apps to update EFI/Clover/Kexts similar to famous Kext Utility app.

 

I'm confused, you just need to copy the files to the injection folder. The only difference is that kext utility repairs permissions for the files and with injection the file permissions do not matter.

 

12 hours ago, vector sigma said:

Looking at Clover's source you should (IMO) avoid kexts that needs resources on the file system (like AppleHDA) because if a kext is inside your ESP the kext's bundle is not reachable. More the "kext path" in Clover use Windows separator ("\" instead of "/" used in Unix) so that this is a limit even for injected kexts on a mounted filesystem. After that looks like there's a limit in making spaces in the memory map (I don't think you can do that as you wish).... so that /library/Extensions is really a good place. Just my opinion.

 

edit

about making space in the mem-map you should consider that this job is done by boot.efi, and Clover arrives after that (i.e. not after loading it, but after this job is done?). If not I'm wrong, otherwise correct me :)

 

You are not correct. Clover injects kexts through the data hub before launching boot.efi, then some other corrections happen to the device tree at exit boot services. You can't inject a kext that is already present in the kernelcache, the kernel will ignore duplicate identifiers. A lot of kexts are placed in the cache regardless of whether they are used/attached to a device because of dependencies and the category of driver, i.e. core, safe, network, etc. I can't remember the actual grouping, but it's not nearly that precise so most kexts in the OS can't be injected because they are already in the cache. You can absolutely access the ESP to inject kexts when they are actually loaded, however other resources that will eventually be loaded (like the audio driver port layouts) will not be accessible from the ESP after exit boot services. These resources will then be loaded from where the identifier of the kext exists (in /S/L/E or /L/E) because that's where the kernel expects the resources to be.

 

2 minutes ago, mrjayviper said:

 

if you were installing FakeSMC, NullPowerManagemet and other kexts like Intel gigabit drivers, would you be installing them in /Library/Extensions?

 

You should always inject FakeSMC, you should never ever ever use NullPowerManagement, and any network drivers are pretty much the ones that can absolutely be installed instead of injected since they don't need to be present to boot.

  • Thanks 1
11 minutes ago, apianti said:

 

You should always inject FakeSMC, you should never ever ever use NullPowerManagement, and any network drivers are pretty much the ones that can absolutely be installed instead of injected since they don't need to be present to boot.

 

inject = must be present before OSX starts booting? seems to me only FakeSMC needs to be used then if this is the case and all device drivers can go to /Library/Extensions?

 

In my case, I've patched the DSDT in my last hackintosh (x58 build) instead of using a several kexts.

3 hours ago, apianti said:

 

What else would you do, you only need to put the kexts (which are folders containing binaries, configurations, and other resources) in the folder. Just replacing them is drag and drop, is it not?

 

Actually, I manually update my Source HDD, Clone HDD, Test HDD and USB Installer each time. So, if a app exist to install in EFI/Clover/Kexts, it would be more practical :)

9 hours ago, mrjayviper said:

inject = must be present before OSX starts booting? seems to me only FakeSMC needs to be used then if this is the case and all device drivers can go to /Library/Extensions?

In my case, I've patched the DSDT in my last hackintosh (x58 build) instead of using a several kexts.

 

There's many things you can do depending. Your most useful situation is injecting everything you need to boot and not much more, that includes patched ACPI tables and kexts. Install kexts that you don't need to access the installer (or as Slice pointed out, the recovery).

 

5 hours ago, Matgen84 said:

Actually, I manually update my Source HDD, Clone HDD, Test HDD and USB Installer each time. So, if a app exist to install in EFI/Clover/Kexts, it would be more practical :)

 

Why don't you just write a simple shell script to automate the process? That would be the most practical.

 

5 hours ago, Slice said:

It will be better to keep FakeSMC and LAN kexts in Other folder because they needed for Recovery too.

 

Yes, if you need internet recovery, otherwise there is no need, but FakeSMC you should absolutely be injecting all the time, at the minimum.

  • Like 1
1 hour ago, apianti said:

Why don't you just write a simple shell script to automate the process? That would be the most practical.

Thanks. Because I don't know how to do it. But I will look how to get there.
12 hours ago, apianti said:

You are not correct. Clover injects kexts through the data hub before launching boot.efi, then some other corrections happen to the device tree at exit boot services. You can't inject a kext that is already present in the kernelcache, the kernel will ignore duplicate identifiers. A lot of kexts are placed in the cache regardless of whether they are used/attached to a device because of dependencies and the category of driver, i.e. core, safe, network, etc. I can't remember the actual grouping, but it's not nearly that precise so most kexts in the OS can't be injected because they are already in the cache. You can absolutely access the ESP to inject kexts when they are actually loaded, however other resources that will eventually be loaded (like the audio driver port layouts) will not be accessible from the ESP after exit boot services. These resources will then be loaded from where the identifier of the kext exists (in /S/L/E or /L/E) because that's where the kernel expects the resources to be.

 

Sure that I'm not totally correct, but my point was not boot.efi (in fact my was a question about that, there is a question mark in my last post since I didnt read the entire source Lol). I was referring to functions like OSKextRequestResource(). You can't access the returned path of a kext and it is not a UNIX path  ( in the event kext is injected by Clover and so already loaded).

 

TestKext.kext (1.0.0) net.vectorsigma.kext.TestKext EFI\CLOVER\kexts\10.13\TestKext.kext\Contents\Resources

How access EFI\CLOVER\kexts\10.13\TestKext.kext\Contents\Resources/firmware.bin

or

\System\Library\Extensions\TestKext.kext\Contents\Resources/firmware.bin

if forced loaded by Clover?

 

Edited by vector sigma
  • Like 1
9 hours ago, Slice said:

It will be better to keep FakeSMC and LAN kexts in Other folder because they needed for Recovery too.

 

So you mean to say 10.x folder dont get loaded in recovery?

 

Also, in Fusion Drive, would it be possible to have the drive's volume name recognized by clover menu automatically, just like the non-fusion drive? Currently, im renaming it in config's custom key.

Edited by ellaosx

Hello everyone, I've been looking for a while Sierra on a PC and turn it into a hackintosh so unfortunately after a while and several attempts I decided to postpone this operation or until a CPU had arrived a some more powerful and that seems to be more compatible with a hackintosh.

the CPu came to me and was mounted correctly but the error that gave me before the replacement of the CPU is given to me even after the upgrade of the same.

I do not know how to enable the debugging of clover otherwise I would send that file ... you meanwhile from the image posted you could tell me what possibly depends on this error and how to solve it?

 

Thanks for allreloc_block.thumb.jpg.87f9c10420a6449bb3ec90c361dda40f.jpg.

17 minutes ago, daltanious78 said:

Hello everyone, I've been looking for a while Sierra on a PC and turn it into a hackintosh so unfortunately after a while and several attempts I decided to postpone this operation or until a CPU had arrived a some more powerful and that seems to be more compatible with a hackintosh.

the CPu came to me and was mounted correctly but the error that gave me before the replacement of the CPU is given to me even after the upgrade of the same.

I do not know how to enable the debugging of clover otherwise I would send that file ... you meanwhile from the image posted you could tell me what possibly depends on this error and how to solve it?

 

Thanks for allreloc_block.thumb.jpg.87f9c10420a6449bb3ec90c361dda40f.jpg.

Try to replace OsxAptioFix2Drv.efi by  OsxAptioFixDrv.efi in CLOVER/EFI/Drivers64UEFI

If you have select both in Clover package installer, remove  OsxAptioFix2Drv.efi

OsxAptioFixDrv-64.efi.zip

Edited by chris1111
15 hours ago, apianti said:

This is a pretty easy answer, they are all third party kexts and  keep injecting them. Third party means made by an organization not directly affiliated with the first party, in this case Apple, second party is like Intel, NVIDIA, or AMD that create components and drivers. If you install them in /L/E or /S/L/E then whenever anything happens like an upgrade or such you probably won't get working boot since it will use a different cache not built from your system (the one that is already prebuilt for the upgrade/installer). Though, you could not inject AppleALC and IntelMausiEthernet, and install those since they are not needed for booting. 

5

 

Thanks, @apianti for this good informative explanation. I know now where should I keep my kexts.

3 hours ago, ellaosx said:

So you mean to say 10.x folder dont get loaded in recovery?

  

Also, in Fusion Drive, would it be possible to have the drive's volume name recognized by clover menu automatically, just like the non-fusion drive? Currently, im renaming it in config's custom key.

I'm using FileVault2, so it's based on Core storage like fusion drive.

 

It's set like this here:

<key>DefaultVolume</key>
		<string>HD(2,GPT,159588F2-432D-4C37-A81C-5B788C3AA48A,0x64028,0xDF30B60)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,2C597282D9D1154385E5FBD28A73FDF0)</string>

 

9 hours ago, Matgen84 said:

Thanks. Because I don't know how to do it. But I will look how to get there.

 

Yeah. There is like a million resources for learning shell script on the internet,  just write a bash shell script, it's just like using the terminal but in a text file with a special starting line and the executable attribute

 

8 hours ago, vector sigma said:

Sure that I'm not totally correct, but my point was not boot.efi (in fact my was a question about that, there is a question mark in my last post since I didnt read the entire source Lol). I was referring to functions like OSKextRequestResource(). You can't access the returned path of a kext and it is not a UNIX path  ( in the event kext is injected by Clover and so already loaded).

 


TestKext.kext (1.0.0) net.vectorsigma.kext.TestKext EFI\CLOVER\kexts\10.13\TestKext.kext\Contents\Resources

How access EFI\CLOVER\kexts\10.13\TestKext.kext\Contents\Resources/firmware.bin

or

\System\Library\Extensions\TestKext.kext\Contents\Resources/firmware.bin

if forced loaded by Clover?

 

 

You should look at the code more then, lol. I answered this already, but he's a more precise answer. If you have file system Injection (FSInject.efi, which you should) then yes this resource will be resolved if it's loaded at kext initialization as this happens when the kext is loaded as a booter extension when injected. If the kext loads files later, like the audio port layouts, then no the file cannot be loaded from anything but the root filesystem. However, I think I just thought of a solution, a kext that is injected that mounts the ESP and allows other kext resources' paths to be resolved.

 

7 hours ago, ellaosx said:

So you mean to say 10.x folder dont get loaded in recovery?

 

Also, in Fusion Drive, would it be possible to have the drive's volume name recognized by clover menu automatically, just like the non-fusion drive? Currently, im renaming it in config's custom key.

 

No, they do. He was talking about using internet recovery - you need network kexts to boot in that situation, but not otherwise. Software RAID core storage volumes are not created yet, so no, the Preboot or Boot partitions are used depending on which filesystem is being used.

  • Like 1
  • Thanks 1
5 hours ago, daltanious78 said:

Hello everyone, I've been looking for a while Sierra on a PC and turn it into a hackintosh so unfortunately after a while and several attempts I decided to postpone this operation or until a CPU had arrived a some more powerful and that seems to be more compatible with a hackintosh.

the CPu came to me and was mounted correctly but the error that gave me before the replacement of the CPU is given to me even after the upgrade of the same.

I do not know how to enable the debugging of clover otherwise I would send that file ... you meanwhile from the image posted you could tell me what possibly depends on this error and how to solve it?

 

Thanks for allreloc_block.thumb.jpg.87f9c10420a6449bb3ec90c361dda40f.jpg.

 

You need power management or ACPI tables patched. Also use AptioMemoryFix.efi, OsxAptioFix 1 and 2 are obsolete.

 

5 hours ago, chris1111 said:

Try to replace OsxAptioFix2Drv.efi by  OsxAptioFixDrv.efi in CLOVER/EFI/Drivers64UEFI

If you have select both in Clover package installer, remove  OsxAptioFix2Drv.efi

OsxAptioFixDrv-64.efi.zip

 

Just use AptioMemoryFix from the clover installer. Also that's the original one that works even less.

 

4 hours ago, smolderas said:

I'm using FileVault2, so it's based on Core storage like fusion drive.

 

It's set like this here:


<key>DefaultVolume</key>
		<string>HD(2,GPT,159588F2-432D-4C37-A81C-5B788C3AA48A,0x64028,0xDF30B60)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,2C597282D9D1154385E5FBD28A73FDF0)</string>

 

 

That does not give you the name of the core storage volume as that is not even created yet from the separate partitions, that looks most likely the preboot from an APFS container.

  • Like 1

@everyone,

 

I'm sorry, I'm still working on v3. I'm just really sidetracked with my health, the treatment I was getting didn't have long term response so I may have to go into a clinical trial that lasts about a month, though unsure when that will be, if ever. I'm having really bad tremors so its getting hard to type and staring into a screen reading is not doing anything helpful either. Hopefully, I can get v3 to a point where it at least is stable enough to start getting others testing. Again, I'm sorry. I also haven't forgotten anyone who has donated, I have a donor list to remember... lol

  • Like 4
15 hours ago, ellaosx said:

So you mean to say 10.x folder dont get loaded in recovery?

 

I didn't mean that. I always use Others to not bother about system version.

 

About Fusion drive I know nothing. Just to say it appears only AFTER macOS loaded, not at Clover time.

  • Thanks 1
11 hours ago, SavageAUS said:

Since clover 4452 i have been seeing this entry, any reason why?

 

Because you need those entries to boot installers for PC but for some reason they were removed. They should be hidden by default, are they not? If so, I apparently messed up the code.

On 5/7/2018 at 2:05 AM, apianti said:

@everyone,

 

I'm sorry, I'm still working on v3. I'm just really sidetracked with my health, the treatment I was getting didn't have long term response so I may have to go into a clinical trial that lasts about a month, though unsure when that will be, if ever. I'm having really bad tremors so its getting hard to type and staring into a screen reading is not doing anything helpful either. Hopefully, I can get v3 to a point where it at least is stable enough to start getting others testing. Again, I'm sorry. I also haven't forgotten anyone who has donated, I have a donor list to remember... lol

Hi apianti,

 

I hope you get better with the new trial. You have nothing to be sorry about, we all understand the situation that you are in. You already gave so much to us and the hackintosh community and I'm personally thankful. I've learned a lot from you.

 

I hope that the new trial works out and you come back to us in good health.

 

Cheers!

 

(Sorry guys fo the off-topic comment I just needed to say this)

  • Like 2
×
×
  • Create New...