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

El Capitan Installer without bootloader kext injec FakeSMC rebuild prelinked kernel Vanilla Guide Yosemite Sierra macOS High Sierra bypass firmware and MBR checks

  • Please log in to reply
26 replies to this topic

#1
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

*
POPULAR

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) :):

Spoiler

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

 

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”

 

Attached File  Get Info.png   187.4KB   102 downloads

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

 

Attached File  Untick Ignore ownership on this volume.png   60.87KB   84 downloads

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

 

Attached File  Pacifist Extract Kernel.jpg   145.19KB   10 downloads

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

 

Attached File  Kernels and PrelinkedKernels.png   181.22KB   90 downloads

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.

 

Attached File  FakeSMC in :L:E.png   136.11KB   74 downloads

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.

Spoiler


9. Install your Bootloader targeting the OS X Base System volume

 

Spoiler

 

10.  Boot your system with the USB without injected kexts into the OS X Installer GUI....

Spoiler

 

 

 

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.

Attached Files



#2
Rene204

Rene204

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 170 posts
  • Gender:Male
  • Location:Germany

klappt prima, DANKE.



#3
frah90

frah90

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
  • Gender:Male
  • Location:Italy
  • Interests:Electronics, Engineering, Math

Hi, i have acces to osx 10.8.3 Mountain Lion... The hackintosh that i'm currently running.
Can i follow this guide using Mountain Lion instead of Yosemite?



#4
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

@frah90,

 

Mountain Lion is very different to El Capitan:

  • Has kernelcache in /System/Library/Caches/com.apple.kext.caches/Startup instead of prelinkedkernel in /System/Library/PrelinkedKernels
  • The kernelcache is compressed with lzss instead of lzvn
  • Has mach_kernel in / instead of kernel in /System/Library/Kernels

So kextcache program from Mountain Lion won't understand how to create a PLK for El Capitan....

 

Steps 1-5 and 9 will still work to create a Vanilla El Capitan installer but without the updated PLK, you will need to inject FakeSMC with your bootloader during boot :).

 

[UPDATE]  How to make the Installer with PLK including FakeSMC from Mavericks :).

 

Steps 1-6 & 9-10---> the same but 7,8 need to be changed...

 

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

 

8a.  Edit /usr/standalone/bootcaches.plist on the USB and change preferred compression of kernelcache from lzvn to lzss

Spoiler

8b.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..

sudo -s
chown 0:0 /Volumes/OS\ X\ Base\ System/usr/standalone/bootcaches.plist
chmod -R 755 /Volumes/OS\ X\ Base\ System/System/Library/Extensions
chown -R 0:0 /Volumes/OS\ X\ Base\ System/System/Library/Extensions
touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions
kextcache -volume-root /Volumes/OS\ X\ Base\ System -kernel /Volumes/OS\ X\ Base\ System/System/Library/Kernels/kernel -prelinked-kernel /Volumes/OS\ X\ Base\ System/System/Library/PrelinkedKernels/prelinkedkernel -l -n /Volumes/OS\ X\ Base\ System/System/Library/Extensions
exit

Any errors should be noted but the output below is normal e.g.

Spoiler

 



#5
anowzic

anowzic

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts

This looks interesting! Does it have any advantage over installing with let's say, El Capitan USB tool? (Also, does it work if already have El Capitan?)



#6
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

@anowzic,

 

The main advantage with making your own installer is better control - you will know exactly what kexts were added and what configuration settings were used  --->  easier to troubleshoot problems.  The PLK with FakeSMC included also enables you to boot without bootloader kext injection - basically an "insurance policy" against Apple changing the kernel that might cause kext injection to break again eg with El Cap DB4.

The installer can also be made in El Capitan so long as you boot with a SIP setting that allows unsigned kexts and changes to the filesystem eg CsrActiveConfig = 0x3.



#7
pippox0

pippox0

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 580 posts
  • Gender:Male
Very interesting !! A clean way to install with more vanilla style ....

#8
asher_ungar

asher_ungar

    InsanelyMac Protégé

  • Members
  • Pip
  • 39 posts

Hi,

 

no matter what i try i always get a very fast KP at boot mentioning something about:

/Library/Caches/com.apple.xbs/Source

 

any idea what this is?

Thanks,

Asher



#9
uglyJoe

uglyJoe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 144 posts

Exzellent guide, thank you very much!

I used it to create a installer for my ozmosis board by skipping step nine.

The pen drive is working fine without any additional bootloader installed.

At the first reboot I have to start with single-user-mode to load FakeSMC and my Network to the cache...

# MAKE WRITEABLE
/sbin/fsck -fy
/sbin/mount -uw /

mkdir /Volumes/USB

# MOUNT MY STICK
mount -t hfs /dev/disk1s2 /Volumes/USB
cd /Volumes/USB/Library/Extensions

cp -r FakeSMC.kext /Library/Extensions
cp -r RealtekRTL8111.kext /Library/Extensions

cd 
umount /dev/disk1s2

chown -R 0:0 /Library/Extensions/FakeSMC.kext
chmod -R 755 /Library/Extensions/FakeSMC.kext
kextload /Library/Extensions/FakeSMC.kext

chown -R 0:0 /Library/Extensions/RealtekRTL8111.kext
chmod -R 755 /Library/Extensions/RealtekRTL8111.kext 
kextload /Library/Extensions/RealtekRTL8111.kext

Btw. 

cp /Volumes/OS\ X\ Base\ System/System/Library/PrelinkedKernels/prelinkedkernel /Volumes/Recovery\ HD/com.apple.recovery.boot/prelinkedkernel

and the Recovery HD is fine too :)

 

Bye



#10
Sav

Sav

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts

Sorry for my dumb question: but the same prelinkedkernel will be installed? Or have I to make a new prelinkedkernel after El Capitan is installed?



#11
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

@Sav,

 

Look at @uglyJoe's post#9 above yours :).

 

The original PLK 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 successfully the first time around, you can either

 

1.  Boot into El Capitan in single user mode with CsrActiveConfig=0x3 and load FakeSMC manually (also remembering to copy the kext into /Library/Extensions).

2.  Boot into Yosemite first with kext-dev-mode=1, copy FakeSMC into El Cap's /L/E and rebuild PLK with kextcache -u command (as described in the first post for the USB installer).  Another possibility is to replace the original PLK with the PLK  from your USB installer (which contains FakeSMC as @uglyJoe did to boot his Recovery Partition).

3.  Boot using FakeSMC injected by your bootloader eg Clover r3259+ from /EFI/Clover/kexts/10.11 or Other

                                                                                        Chameleon Enoch r2773+ from /Extra/Extensions



#12
Sav

Sav

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts

Exzellent guide, thank you very much!

I used it to create a installer for my ozmosis board by skipping step nine.

The pen drive is working fine without any additional bootloader installed.

At the first reboot I have to start with single-user-mode to load FakeSMC and my Network to the cache...

# MAKE WRITEABLE
/sbin/fsck -fy
/sbin/mount -uw /

mkdir /Volumes/USB

# MOUNT MY STICK
mount -t hfs /dev/disk1s2 /Volumes/USB
cd /Volumes/USB/Library/Extensions

cp -r FakeSMC.kext /Library/Extensions
cp -r RealtekRTL8111.kext /Library/Extensions

cd 
umount /dev/disk1s2

chown -R 0:0 /Library/Extensions/FakeSMC.kext
chmod -R 755 /Library/Extensions/FakeSMC.kext
kextload /Library/Extensions/FakeSMC.kext

chown -R 0:0 /Library/Extensions/RealtekRTL8111.kext
chmod -R 755 /Library/Extensions/RealtekRTL8111.kext 
kextload /Library/Extensions/RealtekRTL8111.kext

Btw. 

cp /Volumes/OS\ X\ Base\ System/System/Library/PrelinkedKernels/prelinkedkernel /Volumes/Recovery\ HD/com.apple.recovery.boot/prelinkedkernel

and the Recovery HD is fine too :)

 

Bye

Hi, I use Ozmosis too.

I was able to boot El Capitan by making a prelinked kernel with the fakeSMC and other kexts like appleHDA and realtek 8111 ethernet.

The system boot fine, but audio and networking aren't working.

Any ideas?



#13
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

With the arrival of macOS High Sierra, Apple has changed the behaviour of its installer so that some changes are needed to the Base System Method.

 
Overview of High Sierra Installation/Upgrade Process
1)  Directly run "Install macOS High Sierra.app" (in an existing OS X volume) or boot to a Standard USB Installer.  
     Choose the desired HFS+ or APFS installation partition in the app --> automatically creates "macOS Install Data" folder on that volume, firmware is updated for new APFS file format if using a real Mac.
 
Spoiler
 
2)  At first restart, boot to "macOS Install" ---> firmware update is verified and files from install packages written to disk.  This stage needs boot loader kext injection or bypass with Disk1mbrInstaller in part B below...
3)  At second restart, boot to fully upgraded High Sierra partition or for new install, setup new user account etc.
 
 
Pre-requisites
*  Existing Yosemite or newer OS X installation with SIP disabled
*  “Install macOS High Sierra" downloaded to the Applications folder
*  FakeSMC.kext - Slice or Kozlek branch
*  Bootloader - Clover r4097 or newer with latest FF/FFM/PF & BIOS ver/date/Board ID data for Standard USB Installer, Chameleon Enoch r2885+ needs Boot1mbrInstaller method.
*  8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”
*  @crazybirdy's OSInstaller(MBR)10 patch folder extracted to ~/Downloads
 
 
Part A: Create Standard High Sierra Base System USB Installer
Procedure to create Standard Base System Installer
1.  Right Click on USB installer to "get info".  Click the lock icon at the bottom and uncheck "Ignore Ownership"...
 
Spoiler
2.  Open terminal, type the following commands:
 
# Restore BaseSystem.dmg to USB Volume named "Installer"
sudo asr restore -source /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/BaseSystem.dmg -target /Volumes/Installer -noprompt -noverify -erase

# Copy full "Install macOS High Sierra.app" to root of drive
sudo cp -rp /Applications/Install\ macOS\ High\ Sierra.app /Volumes/OS\ X\ Base\ System

# Open and mount InstallESD
open /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/InstallESD.dmg
 
3.  Extract /System/Library/Kernels from “/Volumes/InstallESD/Packages/Core.pkg” to /Volumes/OS\ X\ Base\ System/System/Library with Pacifist.app
Spoiler
 
4.  Add the following extra kexts to the existing Base System Extensions folder (use Pacifist to extract from Core.pkg or use "Extra Kexts for Base System Extensions.zip" attached) - 
  • AppleActuatorDriver.kext
  • AppleSMCRTC.kext
  • AppleUSBCommon.kext
  • IOSlaveProcessor.kext
  • KernelRelayHost.kext
5.  Install FakeSMC and other essential kexts in /S/L/E or /L/E of the USB Installer.  In this example, I have FakeSMC and AppleAHCIPort_v328.kext (for ICH10 systems to prevent “Still Waiting for Root Device” error) in my ~/Downloads folder.
 
In terminal, type the following commands:
 
# Rename /S/L/E/AppleAHCIPort.kext to AppleAHCIPort.329
sudo mv /Volumes/OS\ X\ Base\ System/System/Library/Extensions/AppleAHCIPort.kext /Volumes/OS\ X\ Base\ System/System/Library/Extensions/AppleAHCIPort.329

# Copy older AppleAHCIPort_v328.kext to /S/L/E/AppleAHCIPort.kext
sudo cp -rp ~/Downloads/AppleAHCIPort.kext /Volumes/OS\ X\ Base\ System/System/Library/Extensions

# Copy FakeSMC to /S/L/E of USB Installer
sudo cp -R ~/Downloads/FakeSMC.kext /Volumes/OS\ X\ Base\ System/System/Library/Extensions

# Repair Permissions & Rebuild kext cache/Pre-linked Kernel on USB Installer
sudo chown -R 0:0 /Volumes/OS\ X\ Base\ System/System/Library/Extensions && sudo chmod -R 755 /Volumes/OS\ X\ Base\ System/System/Library/Extensions
sudo touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions && sudo kextcache -u /Volumes/OS\ X\ Base\ System

# Unmount and Eject InstallESD Volume
hdiutil detach /Volumes/InstallESD 
 
 
6.  Install your Bootloader targeting the OS X Base System volume
For Clover, copy the config.plist, DSDT/SSDT.aml file(s) which are specific to your system into the Clover folder:
           - Put config.plist in /EFI/CLOVER directory
           - Put DSDT.aml in /EFI/CLOVER/ACPI/patched
           - Optional: Put FakeSMC and other essential kexts (eg Networking, VoodooPS2Controller.kext for laptops) in /EFI/CLOVER/kexts/Other
 
 
Part B: Create Modified High Sierra Base System Installer (Disk1mbrInstaller) for stage 2 boot only, to bypass MBR and firmware checks
Procedure to create Modified Base System Installer (Disk1mbrInstaller)
1.  Create a Standard Base System Installer described in part A)
2.  Rename USB from “OS X Base System” to “Disk1mbrInstaller”
3.  Replace /Volumes/Disk1mbrInstaller/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller with @crazybirdy’s patched one (in ~/Downloads/OSInstaller\(MBR\)10 folder).  Open terminal and type the following commands:
# Rename original OSInstaller to OSInstaller_orig
sudo mv /Volumes/Disk1mbrInstaller/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller /Volumes/Disk1mbrInstaller/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller_orig

# Copy over patched OSInstaller
sudo cp ~/Downloads/OSInstaller\(MBR\)10/OSInstaller /Volumes/Disk1mbrInstaller/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A
 
4. Copy OSInstall.mpkg to Disk1mbrInstaller's /System/Installation/Packages folder:
 
# Rename original Packages Link to Packages_orig
sudo mv /Volumes/Disk1mbrInstaller/System/Installation/Packages /Volumes/Disk1mbrInstaller/System/Installation/Packages_orig

# Create directory "Packages"
sudo mkdir /Volumes/Disk1mbrInstaller/System/Installation/Packages

# Open and mount InstallESD
open /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/InstallESD.dmg

# Copy OSInstall.mpkg to Installer Packages Folder
sudo cp /Volumes/InstallESD/Packages/OSInstall.mpkg /Volumes/Disk1mbrInstaller/System/Installation/Packages

# Unmount and Eject InstallESD
hdiutil detach /Volumes/InstallESD 
 
 
High Sierra Installation/Upgrade Process with Disk1mbrInstaller
1)  Directly run "Install macOS High Sierra.app" (in an existing OS X volume)  
   Choose the desired HFS+ or APFS installation partition in the app --> automatically creates "macOS Install Data" folder on that volume, firmware is updated for new APFS file format if using a real Mac.
2)  At first restart, boot to "Disk1mbrInstaller" instead of "macOS Install" ---> files from install packages written to disk

 

Spoiler
 
3)  At second restart, boot to fully upgraded High Sierra partition or for new install, setup new user account etc.
 
Spoiler
 
 
Appstore Updates of High Sierra
After the Appstore downloads major updates and reboots your computer, the same data structure is created on the High Sierra Volume: "/macOS Install Data".  The BaseSystem.dmg in "/macOS Install Data/Locked Files" can be used to create a new prelinkedkernel with the "Custom Prelinkedkernel Generator Tool" below.
 
Spoiler
 
You can use terminal (booted into a different OS X installation) to copy the new prelinkedkernel back to "/macOS Install Data/Locked Files/Boot Files":
sudo cp -rp prelinkedkernel /Volumes/High\ Sierra/macOS\ Install\ Data/Locked\ Files/Boot\ Files

where "High Sierra" is the target volume for update, then reboot into "macOS Install from High Sierra" ---> complete the update.

 

 

Custom Prelinkedkernel Generator Tool

I have made a custom prelinkedkernel generator "PLK.tool" for High Sierra.  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, AppleAHCIPort.kext v328), making sure SIP is disabled.

3.  Copy BaseSystem.dmg from "Install macOS High Sierra.app/Contents/SharedSupport" or "/macOS Install Data/Locked Files" to ~/Downloads/BaseSystem eg

sudo cp /Volumes/High\ Sierra/macOS\ Install\ Data/Locked\ Files/BaseSystem.dmg ~/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.

 

Credit to @crazybirdy for his High Sierra MBR and Firmware Check Patch and method HowTo-10.13.x.txt

Attached Files



#14
XLNC

XLNC

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts

Great tutorial ! @fusion71au 

can you help me this issue i have with creating the HS bootable USB for AMD system !

Basically the easiest way to create a bootable USB for AMD system was to restore the BaseSystem.dmg to the USB  .
but now its not working on HS . and need some help in figuring this out .

*This same method is being used to create  El capitan & Sierra bootable USB and it works perfectly*


This is what i did :
 

Restored the 10.13 High Sierra.app/Contents/SharedSupport/BaseSystem.dmg file to USB/ .
- Copied the below files to USB/ from "High Sierra.app/Contents/SharedSupport/" : 

  • AppleDiagnostics.chunklist
  • BaseSystem.chunklist
  • BaseSystem.dmg
  • AppleDiagnostics.dmg

 

- Copied the real Packages folder from InstallESD.dmg to USB/System/Installation/ 

- Deleted the following problematic kexts from my USB/System/Extensions/ folder 

  • AppleTyMCEDriver.kext
  • AppleIntelCPUPowerManagement.kext
  • pmtelemetry.kext

- Copied the AMD kernel file to USB/System/Kernels/ 
- Replaced the prelinkedkernel  files in USB/System/Library/PrelinkedKernels/  with the ones present in my Installed High Sierra AMD system .

- Installed Clover to USB and added my config.plist , FakeSMC.kext, NullCPUPowerManagement.kext, USB Fix kexts .

AND IT BOOTED WITHOUT ANY ISSUES.

But the only problem is now is that , it is showing an error at the welcome screen (see below) :

Spoiler

 

 

- i re-downloaded the High Sierra app and re-created the USB but the problem still presist's
- also tried changing the SMBios in clover (didnt work)
- also tried deleting the EmuVariable.efi from clover folder (didnt work)
- unplugged other drives (didnt work)

Any idea's on what could be causing this ?



#15
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

@XCiLNZ,

 

The problem is this step: "Copied the real Packages folder from InstallESD.dmg to USB/System/Installation/ " doesn't work in High Sierra anymore and will cause the OSInstall.mpkg error.

 

All that is required to make a working USB installer is to expand BaseSystem.dmg, replace the "Install macOS High Sierra.app" on the root of the USB with the full version (>5GB), then place your kernel in /System/Library/Kernels+your usual changes to /S/L/E (remove AppleTyMCEDriver.kext etc).

 

The above installer (or one made with "createinstallmedia") will be able to create the first stage of the installation i.e. create "macOS Install Data" folder on the target drive.

 

However, to expand the pkg files in "macOS Install Data", you will need to replace the vanilla pre-linked kernel in /macOS Install Data/Locked Files/Boot Files with your working pre-linked kernel (by booting to your Sierra partition first and making the replacement), then reboot into "macOS Install from High Sierra" at the Clover Main Menu to complete the install.



#16
XLNC

XLNC

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts

@XCiLNZ,

 

The problem is this step: "Copied the real Packages folder from InstallESD.dmg to USB/System/Installation/ " doesn't work in High Sierra anymore and will cause the OSInstall.mpkg error.

 

All that is required to make a working USB installer is to expand BaseSystem.dmg, replace the "Install macOS High Sierra.app" on the root of the USB with the full version (>5GB), then place your kernel in /System/Library/Kernels+your usual changes to /S/L/E (remove AppleTyMCEDriver.kext etc).

 

The above installer (or one made with "createinstallmedia") will be able to create the first stage of the installation i.e. create "macOS Install Data" folder on the target drive.

 

However, to expand the pkg files in "macOS Install Data", you will need to replace the vanilla pre-linked kernel in /macOS Install Data/Locked Files/Boot Files with your working pre-linked kernel (by booting to your Sierra partition first and making the replacement), then reboot into "macOS Install from High Sierra" at the Clover Main Menu to complete the install.

 

the basesystem restore and replacing the whole Install high sierra.app in the USB method works too  :thumbsup_anim: .


but i have already installed in this way which looks almost similar to your method:

- created bootable HS USB using createinstallmedia command 
- replaced the prelinkedkernel in   USB/.IABootFile/     and    USB/System/Library/Prelinkedkernels/ 
- Installed clover to USB
- Installed HS to HDD .
- then booted again to USB and copied the prelinkedkernel in the HDD/macOS Intall Data/Locked Files/Boot Files/ using terminal. 
- then continued the installation through clover boot menu.
- booted again to usb and installed the kernel and required kexts and removed the problematic kexts then rebuild the caches and prelinkedkernel 
- Then booted to HDD normally . 
- PROFIT !

Another way we can install the 10.13 is by using 10.12.6 BaseSystem.dmg and placing rest of the files in USB from 10.13 High Sierra app 

- Restored the 10.12.6 BaseSystem.dmg to USB
- Placed the AppleDiagnostics.chunklist , BaseSystem.chunklist , BaseSystem.dmg , AppleDiagnostics.dmg from 10.13 High Sierra app to USB/
- Placed the Packages folder from 10.13 high sierra app to USB/System/Libaray/Installation/
- Placed the kernel  in   USB/S/L/Kernels/
- Replaced the prelinkedkernel  in   USBS/L/Prelinkedkernel/ 
- Installed the macos normally and 10.13 booted without any issues.

Drawbacks: cant format to APFS as 10.12.6 basesystem is used 
                   solution: it can be converted to APFS from RecoverHD using diskutil .



Now the issue is Updating i.e installing supplemental updates or installing beta 10.13.1 build update from Appstore .

- I downloaded the 10.13.1 beta update from Appstore and started to install it ( then it asks for me to restart for proceeding to installation )
- Then a black background with a white loading screen comes up and says ( installing  : a minute remaining ) something like that. 
- And after a minute later the screen goes completely black / blank and and doesnt restart. ( then i manually powered off my pc)
- then i placed my prelinkedkernel in HDD/macOS Install Data/Locked Files/Boot Files/ and rebooted to clover to continue the installation 
- now it booted fine but when at installation screen it shows the same error screen as before. :(

Spoiler


UPDATE : A simple restart fixed the issue ! 
               :P damn ! High Sierra 

 



#17
jsl

jsl

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 924 posts
  • Gender:Male

the basesystem restore and replacing the whole Install high sierra.app in the USB method works too  :thumbsup_anim: .


but i have already installed in this way which looks almost similar to your method:

- created bootable HS USB using createinstallmedia command 
- replaced the prelinkedkernel in   USB/.IABootFile/     and    USB/System/Library/Prelinkedkernels/ 
- Installed clover to USB
- Installed HS to HDD .
- then booted again to USB and copied the prelinkedkernel in the HDD/macOS Intall Data/Locked Files/Boot Files/ using terminal. 
- then continued the installation through clover boot menu.
- booted again to usb and installed the kernel and required kexts and removed the problematic kexts then rebuild the caches and prelinkedkernel 
- Then booted to HDD normally . 
- PROFIT !

Another way we can install the 10.13 is by using 10.12.6 BaseSystem.dmg and placing rest of the files in USB from 10.13 High Sierra app 

- Restored the 10.12.6 BaseSystem.dmg to USB
- Placed the AppleDiagnostics.chunklist , BaseSystem.chunklist , BaseSystem.dmg , AppleDiagnostics.dmg from 10.13 High Sierra app to USB/
- Placed the Packages folder from 10.13 high sierra app to USB/System/Libaray/Installation/
- Placed the kernel  in   USB/S/L/Kernels/
- Replaced the prelinkedkernel  in   USBS/L/Prelinkedkernel/ 
- Installed the macos normally and 10.13 booted without any issues.

Drawbacks: cant format to APFS as 10.12.6 basesystem is used 
                   solution: it can be converted to APFS from RecoverHD using diskutil .



Now the issue is Updating i.e installing supplemental updates or installing beta 10.13.1 build update from Appstore .

- I downloaded the 10.13.1 beta update from Appstore and started to install it ( then it asks for me to restart for proceeding to installation )
- Then a black background with a white loading screen comes up and says ( installing  : a minute remaining ) something like that. 
- And after a minute later the screen goes completely black / blank and and doesnt restart. ( then i manually powered off my pc)
- then i placed my prelinkedkernel in HDD/macOS Install Data/Locked Files/Boot Files/ and rebooted to clover to continue the installation 
- now it booted fine but when at installation screen it shows the same error screen as before. :(

Spoiler


UPDATE : A simple restart fixed the issue ! 
                :P damn ! High Sierra 

Following the same methods of yours in Intel hackintosh (without replaced by AMD kernel) I got the same errors as yours posted here.

Repeated restart can NOT fix it up to now.



#18
XLNC

XLNC

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts

Following the same methods of yours in Intel hackintosh (without replaced by AMD kernel) I got the same errors as yours posted here.

Repeated restart can NOT fix it up to now.

for installing update ? or insatlling HS ?



#19
jsl

jsl

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 924 posts
  • Gender:Male

for installing update ? or insatlling HS ?

For update from 10.13 Supplement to 10.13.1 Beta.



#20
fusion71au

fusion71au

    InsanelyMac Legend

  • Gurus
  • 883 posts
  • Gender:Male

@jsl,

 

I would recommend using the BaseSystem.dmg in "/macOS Install Data/Locked Files/" as the basis for restoring and generating a new pre-linked kernel.

 

If you see the "OSInstall.mpkg error" rebooting into "macOS Install" (after "/macOS Install Data" folder is created on the target partition), then it maybe due to incorrect FakeSMC keys in your NVRAM or outdated Firmware data in SMBIOS - try all actions below together:

  • Delete EmuVariableUefi-64 (for UEFI systems) or NVRAM.plist files from all EFI partitions, incl USB installer (for legacy BIOS systems).  I also run the terminal command sudo NVRAM -c to reset my NVRAM before installing/upgrading High Sierra.
  • Try Clover r4220+ and remove FirmwareFeatures/FirmwareFeaturesMask/PlatformFeature and BIOS version/release date/Board-ID data from config.plist/SMBIOS to allow Clover to inject up to date values.
  • Update to @Slice's latest FakeSMC v3.50.
  • Download & re-run "macOSUpd0.13Supplemental.pkg", replace the pre-linked kernel in "/macOS Install Data/Locked Files/Boot Files" with the new one you made above (use terminal, booted into a different OS X installation), then reboot into "macOS Install from XXXX" at the Clover Main Menu to complete the install.

  • jsl likes this





Also tagged with one or more of these keywords: El Capitan, Installer, without bootloader kext injec, FakeSMC, rebuild prelinked kernel, Vanilla Guide, Yosemite, Sierra, macOS High Sierra, bypass firmware and MBR checks


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2017 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy