One of the first challenges you'll face in installing OS X to your laptop will involve getting the OS X installer to boot from USB. I'm not going to provide a step-by-step guide on how to use Unibeast. That is described in the main guide: http://www.tonymacx86.com/445-unibea...-based-pc.html. But I will cover some of the flags needed to boot common laptop configurations (Intel and dual-GPU Intel/other)
Realize that booting the OS X installer involves booting OS X on your laptop! Because the OS X installer runs under OS X. So, solving problems booting the installer are actually bringing you closer to running OS X after it is installed.
Know your hardware
There is almost no chance of success if you don't know the main components inside your laptop. And when asking for help, the critical components should be listed in your profile.
This guide is primarly focused on Intel or Intel+Nvidia or Intel+AMD. Personally, I don't have any Radeon or Nvidia hardware, so I don't know much about booting the installer on those systems.
I will write this response to anyone who doesn't have the details in their profile:
(Profile/Settings link in upper right corner of this site)
System: manufacturer/model
CPU: detailed CPU model + motherboard chipset
Graphics: all graphics devices + laptop internal screen resolution
For example, typical Ivy laptop:
System: HP ProBook 4540s
CPU: i5-3320m/HM76
Graphics: HD4000, 1366x768
Use CPU-Z on Windows to find CPU (Core iX-xxx) and motherboard chipset (HMxx), and graphics capabilities. For a laptop, these details are important and affect critical installation procedures.
Creating the USB
Make sure you created your USB with "Laptop Support" and without "Legacy USB"
Remove /Extra/Extensions/AppleACPIPlatform.kext
Update VoodooPS2Controller.kext at /Extra/Extensions on the USB: https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller
Add GenericUSBXHCI.kext to /Extra/Extensions on the USB: https://github.com/RehabMan/OS-X-Generic-USB3
Note: Adding GenericUSBXHCI.kext is optional. If your laptop happens to work natively with AppleUSBXHCI.kext or does not have USB3, then it would be unnecessary.
Note: Please READ the README at each link so you know where pre-built binaries are located.
Unibeast automatically installs Chimera to the USB. If you need Chameleon, you would have to install it after preparing the USB with Unibeast.
FakeSMC
FakeSMC is automatically installed to your USB by Unibeast.
But if you run into a situation where you see: "Waiting for DSMOS" without a corresponding "DSMOS has arrived" later in the bootlog, you have an issue with FakeSMC. Either it is not loading or not starting.
Verbose boot
You should use -v to boot verbose, so you can see what is going on behind the scenes. If you don't use verbose boot, and the boot process should stop, there's no sense of why. So, no matter what flags you need to type, you should always use -v until you know the particular combination of flags that works for your hardware.
If you run into an issue booting the installer, capture a photo, or series of photos so the problem can be diagnosed. Always capture the entire screen with enough quality that the text can be read. Don't assume the last message logged is the most important (it almost always is not).
Realize also that booting the OS X installer from USB is quite slow. Don't give up on it too soon. It is possible to have up to two-minute pauses where nothing changes on screen.
dart=0 and VT-d
Kernel flag dart=0 should be used when your CPU has VT-d and you cannot disable it in BIOS. Most laptop BIOS implementations are limited and do not allow you do disable it. If you're not sure, just use it anyway, as there seems to be no harm in using it when it is not necessary.
Haswell early reboot due to locked MSR 0xE2
If you have a Haswell CPU and experience a reboot just after starting the kernel, it is likely XCPM panic due to locked CPU MSR 0xE2.
With Chameleon/Chimera, you will need to patch the kernel, both on the USB and your final HDD install.
See here for details: http://www.tonymacx86.com/yosemite-l...ly-reboot.html
Local APIC panic
If you get a kernel panic "Local APIC" (lapic) panic, your interrupt controller is not set the way OS X expects. Lapic panic does not always stop the boot process, so you need to keep your eyes open for it. Also, it can cause a reboot early in the boot process (just as XCPM/Haswell early reboot). You will need to use cpus=1 and later install the KernelPatcher module from Chameleon Wizard so you can boot without cpus=1.
USB Problems
You're attempting to boot OS X from USB. At some point, the system needs to mount root (/) to your USB. If the USB drivers are not able to load and initialize the USB ports, the system will not be able to mount root and will not be able to boot.
Usually, the USB errors are apparent in the verbose log when this happens.
Boot with USBBusFix=Yes in this scenario. You may find EHCIhard=Yes and EHCIacquire=Yes also useful (although USBBusFix is supposed to encompass both). Also, USBLegacyOff=Yes can be useful. If your BIOS has options for USB you should experiment with them.
ACPI Problems
Some OEM SSDT tables can cause problems. You can disable these SSDTs (known as "dropping") with DropSSDT=Yes.
Graphics Problems
Most problems stem from graphics configuration problems. Often, a graphics issue will be mistaken for a bluetooth issue, only because on a successful boot, the bluetooth messages are one some the last to appear. A successful boot with a graphics issue (no framebuffer loaded, or a hung framebuffer), ends with bluetooth messages. Removing bluetooth kexts will not help. The solution is to provide the correct set of flags or other configuration to make the Intel graphics work.
If you are unable to activate the internal display, try plugging in an HDMI monitor as a temporary solution. Since you'll likely run into the same problem post-install, it will still remain a problem to solve.
Arrandale/1st gen Intel HD
First generation Intel HD graphics are not well supported, and as far as I know it is not possible to boot the installer without removing the Intel graphics kexts (AppleIntelSNB*, AppleIntelHD*, AppleIntelFrame*).
See this link for more information: http://www.insanelymac.com/forum/top...graphics-qeci/
Sandy Bridge/HD3000/6-series chipset/low resolution
If your display is 1366x768, Chimera should be able to boot with working a working HD3000 graphics without any special graphics flags (just IGPEnabler=Yes, which is default on the Unibeast created USB). If your display is higher resolution (1600x900 or 1920x1080), then it is likely your laptop uses a dual-link display. In this case, you must pre-patch DSDT in order to inject AAPL,DualLink.
So for, Chimera, no special flags are generally required for HD3000 graphics.
With Chameleon, you will likely need: GraphicsEnabler=Yes
If you still have trouble, you should pre-patch DSDT...
HD3000 Low Resolution: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply:
"HD3000 Low Resolution"
Sandy Bridge/HD3000/6-series chipset/high resolution
If your display is higher resolution (1600x900 or 1920x1080), then it is likely your laptop uses a dual-link display. In this case, you must pre-patch DSDT in order to inject AAPL,DualLink.
You will need to patch DSDT in order to reach the installer because of the duallink display.
Extract native DSDT with Linux (/sys/firmware/acpi/tables/) or Windows (RW-Everything).
HD3000 High Resolution: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply:
"HD3000 High Resolution"
Place at /Extra/dsdt.aml after creating your USB and for your final install.
Ivy Bridge/HD4000/7-series chipset/low resolution
Similar to the HD3000/1366 case, you can usually boot without flags using Chimera3 and Chimera4.
With Chameleon, use: IntelCapriFB=3 GraphicsEnabler=Yes
Ivy Bridge/HD4000/7-series chipset/high resolution
For 1600x900 and 1920x1080, you will need to inject a different ig-platform-id than is default.
Chimera: Most HD4000 high resolution systems respond well with IGPlatformID=01660004. Note that HDMI does not work with 01660004 (requires kext patches). Alternates are IGPlatformID=01660008 and IGPlatformID=01660009. And, of course, 01660003 can be used in a pinch with an HDMI monitor.
More information: Chimera HD Graphics Bootflags: IGPEnabler, IGPlatformID, and IGPDeviceID
Chameleon: Use GraphicsEnabler=Yes IntelCapriFB=4. Alternate values for IntelCapriFB are 4, 8, and 9.
More information: http://www.insanelymac.com/forum/top...g-platform-id/
Haswell HD4200/HD4400/HD5000/HD5200
These Haswell graphics devices are recognized natively by the Yosemite graphics drivers. As a result, it is necessary to inject the correct ig-platform-id that works with your laptop. Sometimes finding the right ig-platform-id can involve trial and error. For most laptops, much like in Mavericks, ig-platform-id = 0xa260006 works.
For Chimera, the default is 0A260006. You can change it with bootflag IGPlatformID.
Chameleon: Use GraphicsEnabler=Yes InjectIntel-ig=aabbccdd, where aabbccdd is a byte-reversed value for ig-platform-id.
For example, if you want to try 0a260005, use InjectIntel-ig=0500260a
Some common mobile Haswell ig-platform-id values are: 0a260006, 0a260005, 0a260000, 0a160000, 0a2e0008, 0a2e000a
Haswell HD4600
With HD4600 and Yosemite, you should be able to reach the installer without injecting an ig-platform-id value. This is because HD4600 is not recognized by the HD5000/Azul kexts anymore (a change from Mavericks). The installer, therefore, is expected to run with base/VESA drivers.
Post install, you'll need to do some patching to enable HD4600 QE/CI. See here for details:http://www.tonymacx86.com/yosemite-l...-yosemite.html
Mixed Systems
If you have an Ivy CPU with a 6-series board (rare) or a Sandy CPU with a 7-series board (not as rare), you will probably have difficulty reaching the installer even if you provide the correct ig-platform-id. This is because the graphics drivers are dependent also on the driver for the Intel MEI device. The way Apple has factored these drivers does not allow for a mixed system because the MEI driver for 6-series boards is in the same kext as for HD3000, and the MEI driver for 7-series baords is in the same kext as for HD4000. It is not possible to load the framebuffer for HD4000 to get the MEI for a 7-series board when you have HD3000 on a 7-series board. Similarly, it is not possible to load the framebuffer for HD3000 to get the MEI for a 6-series board when you have HD4000 on a 6-series board.
In order to account for this problem, the Info.plist files need to be modified so that the 6-series MEI loads when you have HD3000 on 7-series, and 7-series MEI loads when you have HD4000 on 6-series. If you're thinking this is a bit sketchy you'd be right. It should be obvious that the driver for 7-series MEI may not work properly with the 6-series MEI device, and similarly, that the driver for 6-series MEI may not work properly for the 7-series MEI device. Perhaps there is some instabilty caused by this, but it does seem to work. The problem with Info.plist patches is that they can be overwritten by system updates. It is better, then, to use DSDT patches instead.
Having a mismatch will cause the graphics drivers to hang (or is a very long delay). You will also see verbose logs about duplicate kexts and the inability to load HDCPCtrl because of these duplicates.
To work around this problem, we use DSDT patches to inject the device-id of the correct MEI device for the graphics driver that will be in use.
Extract native DSDT with Linux (/sys/firmware/acpi/tables/DSDT) or Windows (RW-Everything).
HD4000 on 6-series: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply: "HD4000 on 6-series"
HD3000 on 7-series: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply: "HD3000 on 7-series"
Note: Please read the README so you know how to use MaciASL and the laptop DSDT patch repository.
Place at /Extra/dsdt.aml after creating your USB. And for your final install.
Note that if you had HD3000 on 7-series with a high resolution display, you would need to do both the patch previously mentioned for "HD3000 High Resolution" and for "HD3000 on 7-series"
Ultra High Resolution/QHD
Some of the high end laptops are coming with QHD+ displays. These displays pose a problem for OS X as it artificially limits the pixel clock.
Getting it to work involves patching the framebuffer, patching some framework code, and potentially flashing a patched BIOS.