This is a brief guide on how to create a vanilla El Capitan (also same process for Sierra) OS X Installer USB with an updated prelinked kernel containing FakeSMC.
It is tailored for those users who want to understand the “nuts and bolts” of how to create an installer and also to help brush up on their terminal skills (rather than have one made for them with the numerous automated “tools” available or even Apple’s createinstallmedia) :
Specifically, it is also a “Proof of Concept” which shows that installation is possible without even having to rely on boot loader kext injection.
Existing Yosemite installation (or Mavericks - see post#4 for steps 7,8)
“Install OS X El Capitan.app" downloaded to the Applications folder
FakeSMC.kext - Slice or Kozlek branch
Bootloader - Clover or Chameleon
8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”
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"....
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
3. Right click on the “OS X Base System” Volume and click “Get Info”
4. Click on the lock icon and untick “Ignore ownership on this volume”
5. Extract/Copy the El Capitan Kernels folder into /System/Library/ of the USB with Pacifist. NB It is found in the "Essentials.pkg" in /System/Installation/Packages
6. Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel —> OG.prelinkedkernel
7. Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of the installer USB using Finder.
8. Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..
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
Any errors should be noted but the output below is normal e.g.
9. Install your Bootloader targeting the OS X Base System volume
10. Boot your system with the USB without injected kexts into the OS X Installer GUI....
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...
chmod -R 755 /Volumes/El_Capitan/Library/Extensions
chown -R 0:0 /Volumes/El_Capitan/Library/Extensions
kextcache -u /Volumes/El_Capitan
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!
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...
chmod +x PLK.tool
---> supply your admin password ---> will place your new custom prelinkedkernel on the desktop.
macOS High Sierra bypass Firmware and MBR checks in post#13.
BaseSystem_PLK.tool_Mojave.zip (need to run in Mojave to avoid dependency errors)
Control temperature of Intel and AMD CPU
Control temperature of AMD, Intel and NVidia cards
Control temperature of motherboard
Control HDD/SSD state (SATA & NVMe) with S.M.A.R.T. monitoring
Laptop Battery Monitoring
Different applications support
High Sierra compatible
Installation to /S/L/E or in the ESP (Clover only)
English (base), Russian, Italian, Korean and semplified Chinese
Source code: at https://sourceforge.net/p/hwsensors/hwsensors3/code3/HEAD/tree/
Bugs report at https://sourceforge.net/p/hwsensors/hwsensors3/tickets/
Topic for discussion at: https://www.insanelymac.com/forum/topic/299861-hwsensors3/
Chief Developer @Slice, new HWMonitorSMC2.app and package by @vector sigma