Jump to content
fluxus123

fusionIO IODrive2 on Yosemite - FakePCIID with custom Injector Kext needed?

3 posts in this topic

Recommended Posts

Hi everyone,

I have 3 working OS X's on my ASUS Z10PE-D8 WS Dual Xeon build. 

That is: ElCapitan & Sierra (both working flawlessly apart from audio, but HDA works, so thats fine) and now recently I installed Yosemite (bit laggy and sometimes hangs during boot with an IOUSBFamily error of BUS 14 already in use??). 

All three work with Clover however, which is great as they're all on a single drive.

The reason I installed Yosemite is because I bought a fusionIO card, for which the driver support stopped at Yosemite. clear.png In ElCapitan I get unresolved symbols/dependencies errors and the driver wouldn't load. I (and even SanDisk themselves) don't know if they will be supporting ElCapitan and later OS's, which is annoying. I know source code is available from SanDisk but I am not sure how much the source code needs changing before it can be recompiled for the 15.0 Darwin/XNU Kernel if this is at all possible? I am by no means a rootkit developer, so I wouldn't know if this is even a feasible route/starting point? 

If this is somehow possible it would mean I can ditch Yosemite again, which would be great as it runs laggy and Ethernet seems to be recognised but doesn't connect with self-assigned IP, so would be better if I could make it work on my smooth OS's (i.e. ElCapitan and later).

 

If the above is too complicated or not possible at all without putting in some serious work and having an advanced techy brain...Is there a way to make it work on Yosemite? Do I need to come up with a custom injector kext and use FakePCIID to get the card recognised properly?

Any help with this would be much appreciated. 

Thanks guys! And thanks for this great Forum!

Share this post


Link to post
Share on other sites
Advertisement

Plenty of views, but no-one can suggest anything?

 

Maybe a little more detailed info of what is actually happening...

 

 

This is what happens in Terminal when I try to load the iomemory-vsl.kext

 

bash-3.2# kextutil iomemory-vsl.kext

Notice: /System/Library/Extensions/iomemory-vsl.kext has debug properties set.

Diagnostics for /System/Library/Extensions/iomemory-vsl.kext:

Code Signing Failure: not code signed

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

kext signature failure override allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: The following symbols are unresolved for this kext:

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper11NewARTTableEyPPvPj

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper12FreeARTTableEP6OSDatay

(kernel) Can't load kext com.fusionio.driver.iomemory-vsl - link failed.

(kernel) Failed to load executable for kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.fusionio.driver.iomemory-vsl failed to load (0xdc008016).

(kernel) Failed to load kext com.fusionio.driver.iomemory-vsl (error 0xdc008016).

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Check library declarations for your kext with kextlibs(8).

 

bash-3.2# kextlibs iomemory-vsl.kext

For all architectures:

    com.apple.iokit.IOStorageFamily = 2.1

    com.apple.kpi.bsd = 16.4

    com.apple.kpi.iokit = 16.4

    com.apple.kpi.libkern = 16.4

    com.apple.kpi.mach = 16.4

 

For x86_64:

    13 symbols not found in any library kext.

 

bash-3.2# kextlibs -undef-symbols iomemory-vsl.kext

For all architectures:

    com.apple.iokit.IOStorageFamily = 2.1

    com.apple.kpi.bsd = 16.4

    com.apple.kpi.iokit = 16.4

    com.apple.kpi.libkern = 16.4

    com.apple.kpi.mach = 16.4

 

For x86_64:

    13 symbols not found in any library kext:

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice3Ev

__ZN9IOStorage19_RESERVEDIOStorage3Ev

__ZN9IOStorage19_RESERVEDIOStorage2Ev

__ZN9IOStorage19_RESERVEDIOStorage1Ev

__ZN9IOStorage19_RESERVEDIOStorage4Ev

__ZN8IOMapper12FreeARTTableEP6OSDatay

__ZN8IOMapper11NewARTTableEyPPvPj

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice1Ev

__ZN9IOService19_RESERVEDIOService1Ev

__ZN9IOService19_RESERVEDIOService0Ev

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice2Ev

__ZN9IOStorage19_RESERVEDIOStorage6Ev

__ZN9IOStorage19_RESERVEDIOStorage5Ev

 
 
First question is, why does it only mention the 2 symbols when trying to load and then 13 symbols when using the undef-symbols option? Is it because they are the only 2 symbols "unresolved" while the other 11 are 'just' "undefined"?
 
What would be the best way to resolve those symbol issues? Would I need to modify my XNU kernel? I know the symbols exist in the Yosemite XNU kernel up to 14.5. From XNU 15.0 onwards they are missing
 
Or would the kext have to be re-compiled/re-written from source to work with the current XNU kernel (I am on 16.5 now since my first post)?
 
Any suggestions/comments on how to approach this or whther this is even doable/feasible would be greatly appreciated as I might just sell the card again.
 
Thanks a lot in advance!

Share this post


Link to post
Share on other sites

here is the verbose output

 

bash-3.2# kextutil -v 6 iomemory-vsl.kext

Kext user-space log filter changed from 0xff2 to 0xfff.

Kext kernel-space log filter changed from 0xff2 to 0xfff.

Kext library architecture set to x86_64.

Can't stat /AppleInternal - No such file or directory.

Defaulting to kernel file '/System/Library/Kernels/kernel'

Kext library recording diagnostics for: validation authentication dependencies warnings.

Notice: /System/Library/Extensions/iomemory-vsl.kext has debug properties set.

Diagnostics for /System/Library/Extensions/iomemory-vsl.kext:

Code Signing Failure: not code signed

/System/Library/Extensions/iomemory-vsl.kext appears to be loadable (not including linkage for on-disk libraries).

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

}

 

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

kext signature failure override allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

}

 

Loading /System/Library/Extensions/iomemory-vsl.kext.

Reading load info for 9 kexts.

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

"com.apple.kpi.mach" = {

    "OSBundleWiredSize" = 15824

    "CFBundleIdentifier" = "com.apple.kpi.mach"

    "OSBundleUUID" = <2a128386 c5354026 b9d7e91d 3360cef4>

    "OSBundleLoadAddress" = -551892811776

    "OSBundleLoadTag" = 5

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0d0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = "/System/Library/Extensions/System.kext/PlugIns/Mach.kext"

    "OSBundleRetainCount" = 107

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 15824

}

"com.apple.kpi.libkern" = {

    "OSBundleWiredSize" = 53760

    "CFBundleIdentifier" = "com.apple.kpi.libkern"

    "OSBundleUUID" = <677b5452 b29443d3 a562f135 02c04c54>

    "OSBundleLoadAddress" = -551892656128

    "OSBundleLoadTag" = 4

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0d0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext"

    "OSBundleRetainCount" = 125

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 53760

}

"com.apple.kpi.bsd" = {

    "OSBundleWiredSize" = 40240

    "CFBundleIdentifier" = "com.apple.kpi.bsd"

    "OSBundleUUID" = <548007fe b2174499 8640238b c24f4a17>

    "OSBundleLoadAddress" = -551892525056

    "OSBundleLoadTag" = 1

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext"

    "OSBundleRetainCount" = 87

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 40240

}

"com.apple.iokit.IOPCIFamily" = {

    "OSBundleWiredSize" = 237568

    "CFBundleIdentifier" = "com.apple.iokit.IOPCIFamily"

    "OSBundleStarted" = true

    "OSBundleCPUType" = 16777223

    "OSBundleCompatibleVersion" = "1.0.0b1"

    "OSBundleUUID" = <57960dc6 409931bc 9b4752cd 647779c7>

    "OSKernelResource" = false

    "CFBundleVersion" = "2.9"

    "OSBundleLoadTag" = 12

    "OSBundleLoadAddress" = -551891558400

    "OSBundleDependencies" = (

        4

        5

        3

        7

        6

    )

    "OSBundlePath" = "/System/Library/Extensions/IOPCIFamily.kext"

    "OSBundleRetainCount" = 34

    "OSBundleCPUSubtype" = 3

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = false

    "OSBundleLoadSize" = 237568

}

"com.apple.kpi.iokit" = {

    "OSBundleWiredSize" = 135232

    "CFBundleIdentifier" = "com.apple.kpi.iokit"

    "OSBundleUUID" = <ea3a39ee 499f44c3 88f2334f eb308226>

    "OSBundleLoadAddress" = -551892795392

    "OSBundleLoadTag" = 3

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "7.0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/IOKit.kext"

    "OSBundleRetainCount" = 117

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 135232

}

"com.apple.kpi.unsupported" = {

    "OSBundleWiredSize" = 22672

    "CFBundleIdentifier" = "com.apple.kpi.unsupported"

    "OSBundleUUID" = <c8c39c9e 83fe4274 ba909535 845eff9c>

    "OSBundleLoadAddress" = -551892549632

    "OSBundleLoadTag" = 7

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext"

    "OSBundleRetainCount" = 81

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 22672

}

"com.apple.kpi.private" = {

    "OSBundleWiredSize" = 47632

    "CFBundleIdentifier" = "com.apple.kpi.private"

    "OSBundleUUID" = <f8c31c2f 28314680 90df97a2 ea6de9f0>

    "OSBundleLoadAddress" = -551892598784

    "OSBundleLoadTag" = 6

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Private.kext"

    "OSBundleRetainCount" = 55

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 47632

}

"com.apple.iokit.IOStorageFamily" = {

    "OSBundleWiredSize" = 192512

    "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"

    "OSBundleStarted" = true

    "OSBundleCPUType" = 16777223

    "OSBundleCompatibleVersion" = "1.0"

    "OSBundleUUID" = <3238c6a2 a948378e 9c533883 089c1b52>

    "OSKernelResource" = false

    "CFBundleVersion" = "2.1"

    "OSBundleLoadTag" = 16

    "OSBundleLoadAddress" = -551892484096

    "OSBundleDependencies" = (

        1

        4

        3

        7

        6

        5

    )

    "OSBundlePath" = "/System/Library/Extensions/IOStorageFamily.kext"

    "OSBundleRetainCount" = 5

    "OSBundleCPUSubtype" = 3

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = false

    "OSBundleLoadSize" = 192512

}

}

 

/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 16.4, UUID 548007FE-B217-4499-8640-238BC24F4A17) is loaded.

/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext to 0xffffff7f80a46000

/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 16.4, UUID 677B5452-B294-43D3-A562-F13502C04C54) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Libkern.kext to 0xffffff7f80a26000

/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 16.4, UUID 2A128386-C535-4026-B9D7-E91D3360CEF4) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Mach.kext to 0xffffff7f80a00000

/System/Library/Extensions/IOStorageFamily.kext (version 2.1, UUID 3238C6A2-A948-378E-9C53-3883089C1B52) is loaded.

/System/Library/Extensions/IOStorageFamily.kext (version 2.1): is started.

setting load address of /System/Library/Extensions/IOStorageFamily.kext to 0xffffff7f80a50000

/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 16.4, UUID EA3A39EE-499F-44C3-88F2-334FEB308226) is loaded.

/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/IOKit.kext to 0xffffff7f80a04000

/System/Library/Extensions/IOPCIFamily.kext (version 2.9, UUID 57960DC6-4099-31BC-9B47-52CD647779C7) is loaded.

/System/Library/Extensions/IOPCIFamily.kext (version 2.9): is started.

setting load address of /System/Library/Extensions/IOPCIFamily.kext to 0xffffff7f80b32000

/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 16.4, UUID F8C31C2F-2831-4680-90DF-97A2EA6DE9F0) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Private.kext to 0xffffff7f80a34000

/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 16.4, UUID C8C39C9E-83FE-4274-BA90-9535845EFF9C) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext to 0xffffff7f80a40000

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Libkern.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Mach.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Private.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/IOKit.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/IOStorageFamily.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/IOPCIFamily.kext from mkext for kernel load.

Adding /System/Library/Extensions/iomemory-vsl.kext to mkext.

/System/Library/Extensions/iomemory-vsl.kext added 1266256-byte noncompressed executable to mkext.

Created mkext for architecture x86_64 containing 1 kexts.

Loading /System/Library/Extensions/iomemory-vsl.kext.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received kext load request from user space.

(kernel) Received request from user space to load kext com.fusionio.driver.iomemory-vsl.

(kernel) Loading kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.apple.kpi.bsd is already loaded.

(kernel) Kext com.apple.kpi.libkern is already loaded.

(kernel) Kext com.apple.kpi.mach is already loaded.

(kernel) Kext com.apple.iokit.IOStorageFamily is already loaded.

(kernel) Kext com.apple.iokit.IOStorageFamily sending 6 personalities to the IOCatalogue and starting matching.

(kernel) Kext com.apple.kpi.iokit is already loaded.

(kernel) Kext com.apple.iokit.IOPCIFamily is already loaded.

(kernel) Kext com.apple.iokit.IOPCIFamily sending 3 personalities to the IOCatalogue and starting matching.

(kernel) Allocated link buffer for kext com.fusionio.driver.iomemory-vsl at 0xffffff7f82ee4000 (1265664 bytes).

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: The following symbols are unresolved for this kext:

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper11NewARTTableEyPPvPj

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper12FreeARTTableEP6OSDatay

(kernel) Can't load kext com.fusionio.driver.iomemory-vsl - link failed.

(kernel) Failed to load executable for kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.fusionio.driver.iomemory-vsl failed to load (0xdc008016).

(kernel) Failed to load kext com.fusionio.driver.iomemory-vsl (error 0xdc008016).

(kernel) Kext com.fusionio.driver.iomemory-vsl removing all personalities naming it from the IOCatalogue.

Kernel error handling kext request - (libkern/kext) link error.

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Check library declarations for your kext with kextlibs(8).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By fusion71au
      This is a brief guide on how to create a vanilla El Capitan (also same process for Sierra) OS X Installer USB with an updated prelinked kernel containing FakeSMC.

      It is tailored for those users who want to understand the “nuts and bolts” of how to create an installer and also to help brush up on their terminal skills (rather than have one made for them with the numerous automated “tools” available or even Apple’s createinstallmedia) :
       
       
      Specifically, it is also a “Proof of Concept” which shows that installation is possible without even having to rely on boot loader kext injection.

      Prerequisites
      Existing Yosemite installation (or Mavericks - see post#4 for steps 7,8) “Install OS X El Capitan.app" downloaded to the Applications folder Pacifist FakeSMC.kext - Slice or Kozlek branch Bootloader - Clover or Chameleon 8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”  
      Procedure
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Open OS X terminal and type the following lines, followed by <Enter> after each line.
          The image restore and file copying may take a while to complete, and at the end of the process, the Installer volume is renamed to “OS X Base System"....
       
      sudo -s hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg asr restore -source /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg  -target /Volumes/Installer -erase -format HFS+ -noprompt -noverify rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages cp -av /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System/System/Installation cp -av /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System diskutil unmount /Volumes/OS\ X\ Install\ ESD exit 3.  Right click on the “OS X Base System” Volume and click “Get Info”
       

      4.  Click on the lock icon and untick “Ignore ownership on this volume”
       

      5.  Extract/Copy the El Capitan Kernels folder into /System/Library/ of the USB with Pacifist.  NB It is found in the "Essentials.pkg" in /System/Installation/Packages
       

      6.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel —> OG.prelinkedkernel
       

      7.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of the installer USB using Finder.
       

      8.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..
       
      sudo -s chmod -R 755 /Volumes/OS\ X\ Base\ System/Library/Extensions chown -R 0:0 /Volumes/OS\ X\ Base\ System/Library/Extensions touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions kextcache -u /Volumes/OS\ X\ Base\ System exit Any errors should be noted but the output below is normal e.g.


      9. Install your Bootloader targeting the OS X Base System volume
       
       
       
       
      10.  Boot your system with the USB without injected kexts into the OS X Installer GUI....
       
       
       
       
       
      Post Install
      The original prelinked kernel in a fresh install of El Capitan will also lack FakeSMC ie it will only be linked to Apple signed kexts.  In order to boot into El Capitan the first time around without boot loader kext injection, the PLK needs to be rebuilt for the El Capitan volume like we did for the installer:
       
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel for the El Capitan volume —> OG.prelinkedkernel
      3.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of El Capitan using Finder
      4.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel.  In this example, the El Capitan volume is named "El_Capitan" - change if you have named it something else...
      sudo -s chmod -R 755 /Volumes/El_Capitan/Library/Extensions chown -R 0:0 /Volumes/El_Capitan/Library/Extensions touch /Volumes/El_Capitan/System/Library/Extensions kextcache -u /Volumes/El_Capitan exit 5. Install your Bootloader targeting the El Capitan volume.  This step is only necessary if you are installing El Capitan on a new drive without existing boot loader (not required if installing on a disk with existing boot loader beside Yosemite).
      6. Reboot your system without injected kexts into El Capitan!
       
       
      Other links
      The All-In-One Guide to Vanilla OS X for beginners
       
      Updates for Sierra and High Sierra   Custom Prelinkedkernel Generator Tool I have made a custom prelinkedkernel generator "PLK.tool" for Sierra + El Capitan.  Instructions:   1.  Download and extract the attached BaseSystem_PLK.tool.zip into your ~/Downloads folder.   2.  Copy any extra kexts necessary for booting your hack to ~/Downloads/BaseSystem/ExtraKexts (e.g. FakeSMC, VoodooPS2Controller), making sure SIP is disabled. 3.  Copy BaseSystem.dmg to ~/Downloads/BaseSystem  4.  Open terminal and run the following commands... cd ~/Downloads/BaseSystem chmod +x PLK.tool ./PLK.tool ---> supply your admin password ---> will place your new custom prelinkedkernel on the desktop.       macOS High Sierra bypass Firmware and MBR checks in post#13.
      BaseSystem_PLK.tool_ElCap.zip
      BaseSystem_PLK.tool_Sierra.zip
      BaseSystem_PLK.tool_Mojave.zip (need to run in Mojave to avoid dependency errors)
      BaseSystem_PLK.tool_Catalina.zip
    • By fusion71au
      Clover r5051 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.15 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r5051 for VMware.zip". Mount Clover-v2.5k-5051-X64.iso by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By Teerachat
      Hi every body, I am a new user of mac os. I use IMaC late 2017 mac os high sierra 10.13.6(17G65). I want to use Titan V as an external eGPU for molecular dynamic simulation. First I download 
      Webdriver-387.10.10.15.15.108.pkg. And it cannot detect my eGPU (I use sonnet breakaway box 350 watts). My question are : i) what driver NVIDIA is suitable for this mac os version  and it should be compatible with Titan V ii) what procedures should I follow to complete installation and make it working?.
       
      Thank you so much
       
      Teerachat
    • By fusion71au
      Run Vanilla OS X El Capitan, Sierra, High Sierra or Mojave in VirtualBox 5.x.x on a Windows Host
      Following on from my previous guide on how to create a VMware virtual machine running Vanilla OS X El Capitan in Windows, I’ve decided to write a similar guide for creating a VirtualBox El Capitan VM. 
       
      The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.
       
      There are other tutorials and videos on the net about running OS X on Windows machines using pre-made VMDK disk images but you can never guarantee what else is in there….
       
      I’ve gathered info for this guide from several threads in the Multibooting and Virtualisation section of this forum and also the wider internet eg
       
      @colt2 HOW TO: Create a bootable El Capitan ISO for VMware
      @dsmccombs comment on faking Ivybridge Processor
      @E:V:A http://forum.xda-developers.com/showpost.php?p=55572430&postcount=6
      @Tech Reviews video tutorial https://www.youtube.com/watch?v=t7X07U63lwg.
      VirtualBox Forum: Status of OSX on OSX
       
      Requirements
         Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X)    4GB or more RAM (2GB or more will be needed for OS X)    Hard Disk with at least 40GB free for Virtual Machine    Oracle VM VirtualBox v 5.0.34    Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#75    16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC  
      Prepare Installation ISO on your Mac or Hack
      1.  On your Mac or Hack, download "Install OS X El Capitan.app" from the App Store into your Applications folder.
      2.  Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.
       
       
       
      3.  Open OS X terminal, then run the following commands to execute the script:
      cd downloads chmod +x CECI.tool ./CECI.tool 4.  At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.
       
       
      Create an El Capitan Virtual Machine in VirtualBox
      1.  Open the VirtualBox program and click the "New" button to create a new VM.
       

       
      2.  Select Mac OS X and Mac OS X 10.11 El Capitan (64 -bit) for Operating System type and version.  I named my Virtual Machine "El_Capitan", then clicked next...
       

       
      3.  Leave the Memory size at the recommended 2048 MB, then click next.
       

       
      4.  Choose to "Create a virtual hard disk now", then click the create button.
       

       
      5.  For the hard disk file type, the default is VDI (VirtualBox Disk Image) but I have selected VMDK for inter-operability with VMWare.  Click next...
       

       
      6.  For Storage on physical hard disk, I have chosen the default Dynamically allocated (grows larger to a set limit as you need more disk space).
       

       
      7.  On the File location and size screen, you can set the location of the new virtual hard disk and its size - I recommend changing disk size to 40GB or larger.  When you click the create button, you will now see your new VM in the VirtualBox main GUI.
       

       
      8.  Click the settings button on the Main Menu to tweak a few settings....
         a.  On the System/Motherboard tab in Boot Order, you can uncheck the Floppy Drive (who has these now?)
       

       
         b.  On the System/Processor tab, you can increase the allocated CPU cores to 2
       

       
         c.  On the Display tab, you can increase the allocated Video Memory to 128MB
       

       
         d.  On the Storage tab, click on the icon of the Optical Drive and select "Choose Virtual Optical Disk File". 
       

       
      Navigate and select the El Capitan ISO we created earlier...
       

       
         e.  Click the OK button to finalise the VM settings.
       
       
      Patch El Capitan vbox configuration file with DMI Settings from a Mac
      1.  From the start menu, type cmd and click run as administrator to open an administrative command prompt. 
       

       
      2.  Choose a Mac Model similar to your host system, then type the following lines, followed by <enter>  after each line.  Make sure you first close all VirtualBox Windows and the VirtualBox program, otherwise any changes you make won't stick...
       
      Eg iMac11,3
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F2238BAE" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 MacBookPro11,3
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 Macmini6,2
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "Macmini6,2" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F65AE981FFA204ED" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 3.  Optional- For some host systems eg those with Haswell and newer CPUs, you might have to spoof an older CPU to avoid VirtualBox errors.  You can try from one of the following if this happens:

      To spoof Lynnfield i5 750 CPU
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000106e5 06100800 0098e3fd bfebfbff To spoof IvyBridge CPU
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff or
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff 4.  Close the command prompt window.
       
       
      Installation of El Capitan
      We are now ready to start the El_Capitan Virtual Machine....
       



       
      Installation should be relatively straight forward, just following the prompts of the OS X installer:
      1.  Select language, agree to legal terms
       

       
      2.  Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended.  I named my drive "Macintosh HD" but you can enter whatever you like eg El_Capitan.
       

       
      3.  Quit DU and choose Macintosh HD to install El Capitan on.
      4.  After 20-30 min (depending on how fast your system is), the installation will complete.  At this point, unmount the El Capitan ISO by clicking the Devices menu from the VM window, click Optical Drives, then choose Remove disk from virtual drive.  The VM is now ready to reboot into OS X from the virtual hard drive.
      5.  At the welcome screen, choose your country and keyboard layout.  You can skip transfer information, location services and logging in with your Apple ID if you wish…
      6.  Create a User Account and select your Time Zone.  You can skip sending diagnostics and usage data to Apple….
      7.  Finally, you will arrive at the El Capitan Desktop.
       

       
      8.  Network/internet and audio should work OOB but on my system, the sounds were distorted.  Unfortunately, there is no QE/CI and the VM resolution will be fixed without the ability to dynamically resize the VM window (no VirtualBox additions for OS X guests atm). 
       
       
      Customization with VBoxManage
      1.  You can change the default resolution of 1024*768 (after shutting down the VM) with the VBoxManage command from the Windows Administrative Command Prompt:
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" VBoxInternal2/EfiGopMode N (Where N can be one of 0,1,2,3,4,5) referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively.
       
      Update:  For VirtualBox 5.2.x, the command for changing screen resolution has changed...
       
      VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution XxY (where X=Horizontal screen resolution, Y=Vertical screen resolution)
      eg
      VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution 1280x1024 2.  Adding serials and other SMBIOS details for the System Information Screen
      VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "W8#######B6" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "W8#########1A" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc." VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" "iMac" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" "IM112.0057.03B" A listing of known issues with Mac OS X guests can be found in the VirtualBox Manual - link https://www.virtualbox.org/manual/ch14.html.
       
      Vanilla Mavericks and Yosemite, Snow Leopard from Retail DVD
      The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite .  Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.
       
      With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie
       
      To create a Mavericks ISO on your desktop
      cd downloads chmod +x CMI.tool ./CMI.tool To create a Yosemite ISO on your desktop
      cd downloads chmod +x CYI.tool ./CYI.tool Here is a screenshot of the VM running Mavericks 10.9.5...
       

       
      Finally, those without a Mac/Hack to prepare the install media can purchase a retail Snow Leopard DVD directly from Apple and install OSX 10.6.3 on their virtual machines (Snow Leopard, Lion and Mountain Lion run quite happily in VirtualBox with 1 CPU, 1-2 GB of RAM and the rest of the settings unchanged from above).  Once you update by combo update to SL 10.6.8, you can directly download El Capitan from the App Store for free .
       

       
      UPDATE macOS Sierra 10.12 to 10.12.6: For macOS Sierra, use CSI.tool in post#51.
      UPDATE macOS High Sierra 17A365:  For macOS High Sierra, use CHSI.tool in post#73.
      UPDATE macOS Mojave 18A391:  For macOS Mojave or High Sierra, use macOS_iso_creator.tool on page 4 of thread.
      UPDATE macOS Catalina Beta DP3_19A501i:  For Catalina, @jpz4085 has made an automated batch file to create a Catalina VM in Windows with iMac 14,2 SMBIOS.  You can still use my macOS_iso_creator.tool on page 5 to make an installer ISO to attach to the VM.
       
       
       
      Good luck and enjoy
      CECI.tool.zip
      CYI.tool.zip
      CMI.tool.zip
×