Jump to content

How to create a macOS Installer which doesn't need bootloader kext injection (FakeSMC in pre-linked kernel), bypass High Sierra firmware and MBR check


fusion71au
 Share

39 posts in this topic

Recommended Posts

  • 11 months later...
On 9/13/2015 at 12:04 AM, fusion71au said:
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.

Hi, i followed guide above, but for Mojave. And i cant get wifi work in installer mojave. This is my terminal: is it wrong?

Quote

Trans-MacBook-Pro:BaseSystem tranchuc$ cd ~/Downloads/BaseSystem
Trans-MacBook-Pro:BaseSystem tranchuc$ chmod +x PLK.tool
Trans-MacBook-Pro:BaseSystem tranchuc$ ./PLK.tool
created: /Users/tranchuc/Desktop/BS.sparseimage
/dev/disk7              Apple_partition_scheme             
/dev/disk7s1            Apple_partition_map                
/dev/disk7s2            Apple_HFS                          /Volumes/install_build
    Validating target...done
    Validating source...done
    Retrieving scan information...done
    Validating sizes...done
    Restoring  ....10....20....30....40....50....60....70....80....90....100
    Restored target device is /dev/disk7s2.
    Remounting target volume...done
File system user/group ownership enabled
Warning: /Volumes/OS X Base System/AppleInternal/Library/Extensions: No such file or directory
Kext with invalid signatured (-67054) allowed: <OSKext 0x7f9d42bfa510 [0x7fff9b35e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7f9d42c4fbc0 [0x7fff9b35e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7f9d407bce20 [0x7fff9b35e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7f9d406cdaa0 [0x7fff9b35e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
AirPortAtheros40.kext - dependency 'com.apple.iokit.IO80211Family' not found.
AirPortAtheros40.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
Invalid signature -67054 for kext <OSKext 0x7f9d42bfa510 [0x7fff9b35e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Invalid signature -67054 for kext <OSKext 0x7f9d42c4fbc0 [0x7fff9b35e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Invalid signature -67054 for kext <OSKext 0x7f9d407bce20 [0x7fff9b35e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Invalid signature -67054 for kext <OSKext 0x7f9d406cdaa0 [0x7fff9b35e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
KernelCache ID: D949EE39AC47E8A683D9EA90DD54083A
symlink("../../../PrelinkedKernels/prelinkedkernel", "/Volumes/OS X Base System/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 2 (No such file or directory)
"disk8" ejected.

 

Link to comment
Share on other sites

6 hours ago, oldman20 said:

Hi, i followed guide above, but for Mojave. And i cant get wifi work in installer mojave. This is my terminal: is it wrong?

 

 

Unfortunately to generate a working prelinked kernel for Mojave, the PLK tool needs to be run in Mojave (with Mojave's kextcache binary), otherwise you see the errors about the missing dependencies.

 

Try the prelinked Mojave kernel that I have already posted here Mojave and AirPortAtheros40.kext.

  • Like 1
Link to comment
Share on other sites

On 10/17/2018 at 5:34 AM, fusion71au said:

 

Unfortunately to generate a working prelinked kernel for Mojave, the PLK tool needs to be run in Mojave (with Mojave's kextcache binary), otherwise you see the errors about the missing dependencies.

 

Try the prelinked Mojave kernel that I have already posted here Mojave and AirPortAtheros40.kext.

no, i ran above code inside Mojave and got error. Also tried your kernel attached, no lucky

Link to comment
Share on other sites

On 9/13/2015 at 2:04 PM, fusion71au said:
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.

Hi, i followed your guide and this my process:

I'm running Mojave, with SIP is disabled. Then i download BaseSystem_PLK tool Mojave, copy IO80211Family.kext and AirPortAtheros40.kext to ExtraKext, BaseSystem.dmg to BaseSystem folder. This is result:

Trans-MacBook-Pro:~ tranchuc$ cd ~/Downloads/BaseSystem
Trans-MacBook-Pro:BaseSystem tranchuc$ chmod +x PLK.tool
Trans-MacBook-Pro:BaseSystem tranchuc$ ./PLK.tool
created: /Users/tranchuc/Desktop/BS.sparseimage
/dev/disk5          	Apple_partition_scheme         	
/dev/disk5s1        	Apple_partition_map            	
/dev/disk5s2        	Apple_HFS                      	/Volumes/install_build
	Validating target...done
	Validating source...done
	Retrieving scan information...done
	Validating sizes...done
	Restoring  ....10....20....30....40....50....60....70....80....90....100
	Restored target device is /dev/disk5s2.
	Remounting target volume...done
Password:
File system user/group ownership enabled
Warning: /Volumes/OS X Base System/AppleInternal/Library/Extensions: No such file or directory
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba25abb80 [0x7fff9490e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba25a59f0 [0x7fff9490e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba24d0e00 [0x7fff9490e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba24cd710 [0x7fff9490e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
Invalid signature -67054 for kext <OSKext 0x7ffba25abb80 [0x7fff9490e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Invalid signature -67054 for kext <OSKext 0x7ffba25a59f0 [0x7fff9490e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Invalid signature -67054 for kext <OSKext 0x7ffba24d0e00 [0x7fff9490e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Invalid signature -67054 for kext <OSKext 0x7ffba24cd710 [0x7fff9490e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
KernelCache ID: 09761E31047DDAAFC98261CCBE288CB4
symlink("../../../PrelinkedKernels/prelinkedkernel", "/Volumes/OS X Base System/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 2 (No such file or directory)
"disk5" ejected.
Trans-MacBook-Pro:BaseSystem tranchuc$ 

 

Link to comment
Share on other sites

4 hours ago, oldman20 said:

Hi, i followed your guide and this my process:

I'm running Mojave, with SIP is disabled. Then i download BaseSystem_PLK tool Mojave, copy IO80211Family.kext and AirPortAtheros40.kext to ExtraKext, BaseSystem.dmg to BaseSystem folder. This is result:


Trans-MacBook-Pro:~ tranchuc$ cd ~/Downloads/BaseSystem
Trans-MacBook-Pro:BaseSystem tranchuc$ chmod +x PLK.tool
Trans-MacBook-Pro:BaseSystem tranchuc$ ./PLK.tool
created: /Users/tranchuc/Desktop/BS.sparseimage
/dev/disk5          	Apple_partition_scheme         	
/dev/disk5s1        	Apple_partition_map            	
/dev/disk5s2        	Apple_HFS                      	/Volumes/install_build
	Validating target...done
	Validating source...done
	Retrieving scan information...done
	Validating sizes...done
	Restoring  ....10....20....30....40....50....60....70....80....90....100
	Restored target device is /dev/disk5s2.
	Remounting target volume...done
Password:
File system user/group ownership enabled
Warning: /Volumes/OS X Base System/AppleInternal/Library/Extensions: No such file or directory
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba25abb80 [0x7fff9490e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba25a59f0 [0x7fff9490e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba24d0e00 [0x7fff9490e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Kext with invalid signatured (-67054) allowed: <OSKext 0x7ffba24cd710 [0x7fff9490e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
Invalid signature -67054 for kext <OSKext 0x7ffba25abb80 [0x7fff9490e8e0]> { URL = "PromiseSTEX.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.promise.driver.stex" }
Invalid signature -67054 for kext <OSKext 0x7ffba25a59f0 [0x7fff9490e8e0]> { URL = "ATTOExpressSASRAID2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASRAID2" }
Invalid signature -67054 for kext <OSKext 0x7ffba24d0e00 [0x7fff9490e8e0]> { URL = "ATTOExpressSASHBA2.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOExpressSASHBA2" }
Invalid signature -67054 for kext <OSKext 0x7ffba24cd710 [0x7fff9490e8e0]> { URL = "ATTOCelerityFC8.kext/ -- file:///Volumes/OS%20X%20Base%20System/Library/Extensions/", ID = "com.ATTO.driver.ATTOCelerityFC8" }
KernelCache ID: 09761E31047DDAAFC98261CCBE288CB4
symlink("../../../PrelinkedKernels/prelinkedkernel", "/Volumes/OS X Base System/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 2 (No such file or directory)
"disk5" ejected.
Trans-MacBook-Pro:BaseSystem tranchuc$ 

 


that symblink error is fine .
your prelinkedkernel is generated succesfully . you can now proceed ..

  • Like 1
Link to comment
Share on other sites


that symblink error is fine .
your prelinkedkernel is generated succesfully . you can now proceed ..
Thanks. I successful to enable wifi at the first time. But after step 1, next boot screen to setup else, I realized wifi still off, did you get the same? 3692a8eb5ca16aac8395a3ad50bc230e.jpg

Gửi từ SM-G955F của tôi bằng cách sử dụng Tapatalk

Link to comment
Share on other sites

7 hours ago, oldman20 said:

Hi, i followed your guide and this my process:

I'm running Mojave, with SIP is disabled. Then i download BaseSystem_PLK tool Mojave, copy IO80211Family.kext and AirPortAtheros40.kext to ExtraKext, BaseSystem.dmg to BaseSystem folder. This is result:

 

 

No need to copy both IO80211Family.kext and AirPortAtheros40.kext, just IO80211Family.kext  IO80211Family.kext from High Sierra already contains AirPortAtheros40.kext inside its /IO80211Family.kext/Contents/PlugIns folder.

 

2 hours ago, oldman20 said:

Thanks. I successful to enable wifi at the first time. But after step 1, next boot screen to setup else, I realized wifi still off, did you get the same?
 

 

Yes.  On first boot to the newly installed Mojave on your hard dive, AirPortAtheros40.kext will be absent in /System/Library/Extensions.  Copy the kext into /S/L/E and rebuild kext caches/prelinkedkernel eg

 

In terminal...

sudo cp -R AirPortAtheros40.kext /System/Library/Extensions
sudo chown -R 0:0 /System/Library/Extensions/AirPortAtheros40.kext && sudo chmod -R 755 /System/Library/Extensions/AirPortAtheros40.kext
sudo touch /System/Library/Extensions && sudo kextcache -u /

then reboot your system.  Your Atheros wifi should now work.

 

Confirm the kext has loaded by typing kextstat | grep Atheros.  I get the result

Mac-Pro:~ fusion71au$ kextstat | grep Atheros
   67    0 0xffffff7f81df4000 0x148000   0x148000   com.apple.driver.AirPort.Atheros40 (700.74.5) 9753F22E-5C85-3E95-B543-0870CF03838A <66 15 12 7 5 4 3 1>

 

 

  • Like 1
Link to comment
Share on other sites

15 hours ago, fusion71au said:

No need to copy both IO80211Family.kext and AirPortAtheros40.kext, just IO80211Family.kext  IO80211Family.kext from High Sierra already contains AirPortAtheros40.kext inside its /IO80211Family.kext/Contents/PlugIns folder.

Hi, cause i using IO80211Family.kext from Mojave, not previous version

Link to comment
Share on other sites

hello, i got new problem in other case: i created Installer Mojave with createinstallmedia method, and S/L/Prelinkedkernel inside BaseSystem.dmg - which file not write, only read. So how to put modifed Prelinkedkernel replace for original file, sir?

Link to comment
Share on other sites

 
Yes.  On first boot to the newly installed Mojave on your hard dive, AirPortAtheros40.kext will be absent in /System/Library/Extensions.  Copy the kext into /S/L/E and rebuild kext caches/prelinkedkernel eg
 
In terminal...
sudo cp -R AirPortAtheros40.kext /System/Library/Extensionssudo chown -R 0:0 /System/Library/Extensions/AirPortAtheros40.kext && sudo chmod -R 755 /System/Library/Extensions/AirPortAtheros40.kextsudo touch /System/Library/Extensions && sudo kextcache -u /

then reboot your system.  Your Atheros wifi should now work.
 
Confirm the kext has loaded by typing kextstat | grep Atheros.  I get the result

Mac-Pro:~ fusion71au$ kextstat | grep Atheros  67    0 0xffffff7f81df4000 0x148000   0x148000   com.apple.driver.AirPort.Atheros40 (700.74.5) 9753F22E-5C85-3E95-B543-0870CF03838A 

 
 

Hi, how to open terminal to run these commands at first boot, sir? At the first time boot from partition installed Mojave, it only show like this
And I realized GUI from boot APFS and HFS patched is different: on APFS boot installer, I can touch safari, time machine. AndHFS installer: none. Anyone same3e49157ff2d6941622412b0eb0074d87.jpg2c5355e600650f34e9b52f7d1793341c.jpg

Gửi từ SM-G955F của tôi bằng cách sử dụng Tapatalk

Link to comment
Share on other sites

On 10/21/2018 at 3:04 AM, oldman20 said:

hello, i got new problem in other case: i created Installer Mojave with createinstallmedia method, and S/L/Prelinkedkernel inside BaseSystem.dmg - which file not write, only read. So how to put modifed Prelinkedkernel replace for original file, sir?

 

The prelinkedkernel used by the installer is not the read only file inside BaseSystem.dmg.  It is in a hidden folder (unhide with ShowAllFiles.app), full path is /Volumes/Install\ macOS\ Mojave/System/Library/PrelinkedKernels/prelinkedkernel...

 

1162330212_prelinkedkernellocation.png.a2001dcbdb32478ef5681c28ecb60135.png

 

On 10/21/2018 at 5:03 AM, oldman20 said:

Hi, how to open terminal to run these commands at first boot, sir? At the first time boot from partition installed Mojave, it only show like this
And I realized GUI from boot APFS and HFS patched is different: on APFS boot installer, I can touch safari, time machine. AndHFS installer: none. Anyone same3e49157ff2d6941622412b0eb0074d87.jpg2c5355e600650f34e9b52f7d1793341c.jpg

Gửi từ SM-G955F của tôi bằng cách sử dụng Tapatalk
 

 

The terminal app for the installer can be opened by clicking on the Utilities Menu at the top.  However, easier for noob to continue installation on the hard drive (click "My computer does not connect to the internet") ---> set up the new user, then install AirPortAtheros40.kext through terminal or kext utility ---> reboot and wifi can now be set up.

Link to comment
Share on other sites

  • 4 months later...

Those on Mojave who wish to run an older Mac OS X, e.g El Capitan, using the above method,their is a way to Install and run using your CURRENT Clover config.plist.

I currently use iMac18,3 in Mojave/El Capitan

 

Secret is copying PlatformSupport.plist to /S/L/CoreServices in BOTH Installer and Installed.

Copying to Installer requires customizing BaseSystem.dmg, probably for advanced users.

I can use same kexts in both as well.

 

 

Edited by STLVNUB
  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...