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

@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

 

 

Open terminal and type

sudo nano /Volumes/OS\ X\ Base\ System/usr/standalone/bootcaches.plist

and change the section

 

<key>Preferred Compression</key>
<string>lzvn</string>

 

to

 

<key>Preferred Compression</key>
<string>lzss</string>

 

 

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.

 

WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/Volumes/OS X Base System/System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext"
WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/Volumes/OS X Base System/System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext"
WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/Volumes/OS X Base System/System/Library/Extensions/VoodooPS2Controller.kext"
WARNING - Invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext "/Volumes/OS X Base System/System/Library/Extensions/FakeSMC.kext/Contents/PlugIns/IntelCPUMonitor.kext"
WARNING - Invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext "/Volumes/OS X Base System/System/Library/Extensions/FakeSMC.kext/Contents/PlugIns/HWInfo.kext"
WARNING - Invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/Volumes/OS X Base System/System/Library/Extensions/FakeSMC.kext"
Invalid signature -67030 for kext <OSKext 0x7fa81360e420 [0x7fff744e9f00]> { URL = "FakeSMC.kext/ -- file:///Volumes/OS%20X%20Base%20System/System/Library/Extensions/", ID = "org.netkas.FakeSMC" }


 

  • Like 4
Link to comment
Share on other sites

@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.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

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

  • Like 2
Link to comment
Share on other sites

@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

Link to comment
Share on other sites

  • 2 weeks later...

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?

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

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.
 

post-846696-0-66152700-1504311321_thumb.png

 
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"...
 

post-846696-0-30958100-1504304754_thumb.png
post-846696-0-81234100-1504304782_thumb.png
 

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

post-846696-0-93413300-1504304355_thumb.png
post-846696-0-73648400-1504304195_thumb.png
post-846696-0-52725100-1504304238_thumb.png
post-846696-0-11640000-1504304303_thumb.png

 
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

 

post-846696-0-90733600-1504305686_thumb.png
post-846696-0-99697500-1504305715_thumb.png

 
3)  At second restart, boot to fully upgraded High Sierra partition or for new install, setup new user account etc.
 

post-846696-0-06083600-1504305801_thumb.png

 
 
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.
 

post-846696-0-84342100-1507439093_thumb.png

 
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

Extra Kexts for Base System Extensions.zip

FakeSMC_v3.5.0.kext.zip

BaseSystem_PLK.tool.zip

  • Like 5
Link to comment
Share on other sites

  • 1 month later...

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

2ONZnjmySR2gEhzSeakTsg.jpg

 

 

 

- 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 ?

Link to comment
Share on other sites

@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.

  • Like 2
Link to comment
Share on other sites

@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. :(

 

 

97mWLLI4SWOQ-OS982irQA.png

 

 

UPDATE : A simple restart fixed the issue ! 

               :P damn ! High Sierra 

 

  • Like 4
Link to comment
Share on other sites

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. :(

 

 

97mWLLI4SWOQ-OS982irQA.png

 

 

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.

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

@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.
  • Like 1
Link to comment
Share on other sites

 

@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.

 

Thanks for your kind help and advice.

I have followed all of them, and no more such an error by USB clean install of 10.13Supp in which it's automatically convert to apfs instead of original HPFS+.

Then update to 10.13.1beta2 without this OSInstall.mpkg error again !

  • Like 1
Link to comment
Share on other sites

Hi,

I created the HS installer USB as per the instructions for MBR partition.

It boots fine but I get the message "System/Installation/Packages/OSInstall.mpkg" appears to be missing or damaged".

Attached is the log file for your kind help.

TIA

 

Link to comment
Share on other sites

@Biso007,

 

Detailed instructions on @crazybirdy's MBR patch method included in his HowTo-10.13.x.txt :

 

 

 
This patch can install with DOS MBR partition tables, instead of GUID.
 
----------------------------------------------------------------------------------------------------
 
What is this patched OSInstaller doing?
 
1. Patch the MBR check, allow macOS 10.13 installation on MBR partition.
2. Patch the Firmware check, bypass the error of "An error occurred while verifying firmware".
3. This patched MBR OSInstaller method works with both MBR and GPT partition (GPT+recovery).
No longer need to set new SMbiosversion, FirmwareFeatures, and FirmwareFeaturesMask with this MBR-patch.
 
----------------------------------------------------------------------------------------------------
 
Works under macOS for 10.13.
 
Clover r4084+ 
 
        add to /EFI/CLOVER/config.plist as below.
 
        <key>RtVariables</key>
        <dict>
            <key>BooterConfig</key>
            <string>0x28</string>
            <key>CsrActiveConfig</key>
            <string>0x67</string>
        </dict>
 
Chameleon Enoch r2885+
 
        add to /Extra/org.chameleon.Boot.plist as CsrActiveConfig=103 (Hex 0x67:01100111)
 
        <key>CsrActiveConfig</key>
        <string>103</string>
 
        add to /Extra/kernel.plist for kernel patch to load kexts.
 
        <key>KernelBooter_kexts</key>
        <string>Yes</string>
 
Need a /Extra/SMBIOS.plist supported with BaseSystem.dmg/System/Library/CoreServices/PlatformSupport.plist.
Set a SMBIOS with Chameleon Wizard.
 
----------------------------------------------------------------------------------------------------
 
How to make MBR installer with 10.13
 
Read first:
 
Not the old basesystem method,
the new OSInstaller removed the manual partition selection and keep only automated installation.
 
It's new basesystem MBR method to load stage2 disk with /MBR-partition/macOS Install Data/ to install to the target /MBR-partition/ automatically.
 
Install to MBR directly with stage2 automated partition which made by "Install macOS High Sierra.app".
Need to make Basesystem boot disk with MBR patch to load the stage2 automated partition with /macOS Install Data/ to finish the MBR installation.
 
Additional tools:
Disk2UUIDmodify       Step C, Script to modify the UUID, Target, and TargetName automatically.
ShowAllFiles.app      Show all files to see the hidden files, such as ".IAProductInfo"
 
                      or use the terminal command as below.
 
                      defaults write com.apple.finder AppleShowAllFiles TRUE;\killall Finder
                      defaults write com.apple.finder AppleShowAllFiles FALSE;\killall Finder
 
----------------------------------------------------------------------------------------------------
 
The 10.13 MBR installer is different with 10.12, need to follow the steps as below.
 
Open "Install macOS High Sierra.app/Contents/SharedSupport/" first, and you will find the files.
 
AppleDiagnostics.chunklist
AppleDiagnostics.dmg
BaseSystem.chunklist
BaseSystem.dmg
InstallESD.dmg
InstallInfo.plist
 
----------------------------------------------------------------------------------------------------
 
Open ShowAllFiles.app, and click "SHOW" to show all files before start.
 
You need to see the hidden files, ".IAProductInfo"
 
You need two partitions, 
one for A.Disk1mbrInstaller, minimal size: 2.5 GB, this is the mbrinstaller boot disk.
one for B.Disk2InstallData, minimal size: 25.0 GB, this is which you want to install 10.13 now.
 
Do not put all files on Disk1mbrInstaller, it doesn't work.
 
----------------------------------------------------------------------------------------------------
 
A.  (Disk1mbrInstaller, minimal size: 2.5 GB)
    Make BaseSystem partition to boot the MBR-installer.
 
A1. Restore BaseSystem.dmg to HFS partition and rename the partition’s name as Disk1mbrInstaller as /Volumes/Disk1mbrInstaller/
 
A2. Remove /Volumes/Disk1mbrInstaller/System/Installation/Packages first (since DB6),
    make directory of /Volumes/Disk1mbrInstaller/System/Installation/Packages, and copy InstallESD.dmg/Packages/OSInstall.mpkg to /Volumes/Disk1mbrInstaller/System/Installation/Packages/OSInstall.mpkg
 
A3. OSInstaller replace to
    /Volumes/Disk1mbrInstaller/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller
 
A4. (Needn't with Clover, Need only if you use Chameleon with -f to boot Disk1mbrInstaller, use Pacifist v3.2.14+ to access Core.pkg.)
    Make directory /Volumes/Disk1mbrInstaller/System/Library/Kernels first.
    Copy InstallESD.dmg/Packages/Core.pkg/System/Library/Kernels/kernel to /Volumes/Disk1mbrInstaller/System/Library/Kernels/kernel
 
A5. (Needn't with Clover, Need only if you use Chameleon with -f to boot Disk1mbrInstaller, use Pacifist v3.2.14+ to access Core.pkg.)
    Replace InstallESD.dmg/Packages/Core.pkg/System/Library/Extensions to /Volumes/Disk1mbrInstaller/System/Library/Extensions
 
    Remove the graphics kexts as below if you can’t boot to the installer GUI with graphics card issue.
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AMD*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/ATI*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelBDW*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelCPU*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelFramebuffer*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelHD*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelHSW*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelIVB*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelKBL*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelSKL*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/AppleIntelSNB*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/NVDA*
    /Volumes/Disk1mbrInstaller/System/Library/Extensions/GeForce*
 
    If you want to boot with Clover, you can rebuild new prelinkedkernel as below, works fine under 10.11.6.
    sudo kextcache -u /Volumes/Disk1mbrInstaller
 
A6. Done for Disk1mbrInstaller.
 
----------------------------------------------------------------------------------------------------
 
B.  (Disk2InstallData, minimal size: 25 GB)
    Make macOS Install Data MBR-partition to install MBR-system, this MBR-partition is which you want to install 10.13 now.
 
B1. Select one HFS+j partition and rename as Disk2InstallData as /Volumes/Disk2InstallData/, empty it is better.
 
B2. Make directory of "/Volumes/Disk2InstallData/macOS Install Data", and copy the files come with MBR-patch file OSInstallerXXX.zip to "/Volumes/Disk2InstallData/macOS Install Data" as below.
 
    /Volumes/Disk2InstallData/.IAProductInfo
    /Volumes/Disk2InstallData/macOS Install Data/index.sproduct
    /Volumes/Disk2InstallData/macOS Install Data/MacOSXInstaller.choiceChanges
    /Volumes/Disk2InstallData/macOS Install Data/minstallconfig.xml
 
B3. Copy all the files of "Install macOS High Sierra.app/Contents/SharedSupport/" to "/Volumes/Disk2InstallData/macOS Install Data" as below.
 
    /Volumes/Disk2InstallData/macOS Install Data/AppleDiagnostics.chunklist
    /Volumes/Disk2InstallData/macOS Install Data/AppleDiagnostics.dmg
    /Volumes/Disk2InstallData/macOS Install Data/BaseSystem.chunklist
    /Volumes/Disk2InstallData/macOS Install Data/BaseSystem.dmg
    /Volumes/Disk2InstallData/macOS Install Data/InstallESD.dmg
    /Volumes/Disk2InstallData/macOS Install Data/InstallInfo.plist
 
B4. Remove all other /Volumes/partitions/.IAProductInfo if exist, keep only /Volumes/Disk2InstallData/.IAProductInfo.
 
B5. Remove all other /Volumes/partitions/macOS Install Data/ if exist, keep only /Volumes/Disk2InstallData/macOS Install Data/.
 
B6. Make sure you have only one partition with ".IAProductInfo" and "/macOS Install Data/" inside.
 
B7. Done for Disk2InstallData.
 
----------------------------------------------------------------------------------------------------
 
C.  Modify the UUID, Target, and TargetName before start to boot MBR-installer.
 
C1. Find your Target UUID with terminal commend as below, you will get it look like as Volume UUID: 313E43C9-9385-3590-8A72-D69BFA952064.
 
    diskutil info /Volumes/Disk2InstallData/
 
C2. Replace the UUID to the files as below.
 
    /Volumes/Disk2InstallData/.IAProductInfo
<key>Product URL</key>
<string>x-osproduct://22222222-2222-2222-2222-222222222222/macOS%20Install%20Data</string>
 
    /Volumes/Disk2InstallData/macOS Install Data/minstallconfig.xml
<key>TargetUUID</key>
<string>22222222-2222-2222-2222-222222222222</string>
 
C3. Replace the Target, and TargetName to the file as below, if you use Disk2InstallData or something else.
 
    /Volumes/Disk2InstallData/macOS Install Data/minstallconfig.xml
<key>Target</key>
<string>/Volumes/macOSmbr</string>
<key>TargetName</key>
<string>macOSmbr</string>
 
    Replace "macOSmbr" to be "Disk2InstallData" if you use it.
<key>Target</key>
<string>/Volumes/Disk2InstallData</string>
<key>TargetName</key>
<string>Disk2InstallData</string>
 
C4. Done for modify the UUID, Target, and TargetName, and you can start to boot /Volumes/Disk1mbrInstaller to install to /Volumes/Disk2InstallData now.
 
----------------------------------------------------------------------------------------------------
 
D.  Q/A
 
Q1. If you get the error "OSInstall.mpkg" is missing or damaged?
A1. Make sure you have done the steps right.
    step A3
    step B2
    step B4
    step B5
    step C1
    step C2
    step C3
 
Q2. 10.13.db1. If you have the problem of usb mouse/keyboard freezing when booting into the MBR-installer screen using Chameleon?
A2. Work fine after replace with 10.12.5 files as below.
    IOHIDFamily.kext
    IOUSBAttachedSCSI.kext
    IOUSBFamily.kext
    IOUSBHostFamily.kext
    IOUSBMassStorageClass.kext
    IOUSBMassStorageDriver.kext
 
    After boot to the installed 10.13.db1 system, all usb m/k work fine with 10.13.db1 original usb files and none-kexts replaced.
 
Q3. Is this patched MBR OSInstaller only used for MBR? Does it work for GPT?
A3. This patched MBR OSInstaller method works with both MBR and GPT partition (GPT+recovery).
 
Q4. If you can’t boot to Disk1mbrInstaller with Enoch 2885+?
A4. FYI.
    10.13.db1 doesn’t work without -f to load prelinkedkernel, and works with -f to load kernel here.
    10.13.db2 works without -f to load prelinkedkernel, and doesn’t work with -f to load kernel here.
    10.13.pb1 works with clover only, but Enoch 2885 boot to the installed system fine here.
 
Q5. Have the problem of Still waiting for root device?
A5. 10.13.pb1 works fine here, but the db3 original installer is dead here too, need to replace AppleAHCIPort.kext from S/L/E with 10.13.pb1.
    Here is HowTo to rebuild prelinkedkernel.
    1. restore BaseSystem.dmg to a partition.
    2. copy /System/Library/Kernels/kernel from Core.pkg
    3. replace all /System/Library/Extensions from Core.pkg.
    4. replace AppleAHCIPort.kext with 10.13.pb1
    5. sudo kextcache -u /Volumes/BaseSystemName
       (works fine under 10.11.6.)
    Then, you get new prelinkedkernel to boot the installer now. Just replace to be the new prelinkedkernel as you needed.
 
Q6. If you want to install to GPT, but still get the error of "An error occurred while verifying firmware".
A6. All you need to do is, boot the Disk1mbrInstaller, and it will automatically load to install the "GPT-partition/macOS Install Data" which you installed with "Install macOS High Sierra.app" at first stage. And check step C1~C4 is better.
 
----------------------------------------------------------------------------------------------------
 
OSInstaller patch is made 
base on 落下爱@pcbeta 10.10.x MBR patch method, and more patch for 10.13 Firmware check by crazybidy.
 
----------------------------------------------------------------------------------------------------
 

 

 

 

  • Did you make sure that only OSInstall.mpkg is in the Packages folder of the Disk1mbrInstaller USB, not any other files?
  • How did you prepare the target partition and create the "/macOS Install Data" folder?
  • Have you followed the troubleshooting section and reported the results to @crazybirdy's MBR patch thread
Q1. If you get the error "OSInstall.mpkg" is missing or damaged?
A1. Make sure you have done the steps right.
    step A3
    step B2
    step B4
    step B5
    step C1
    step C2
    step C3

Personally, I have OS X installed on GPT drives only.  My guide uses @crazybirdy's patch mainly to bypass High Sierra's firmware check, not in the context of installing to an MBR partition.  MBR install requires careful manual preparation of the target drive ---> more potential for user error than letting the installer.app automatically create the "/macOS Install Data" folder on GPT.

Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...