Build: 2x Xeon E5 2680 - Asus Z9PE-D8 WS - XFX Radeon 6870



Components

2x Xeon E5 2680
http://www.newegg.com/Product/Product.aspx?Item=N82E16819117262

Asus Z9PE-D8 WS Motherboard
http://www.newegg.com/Product/Product.aspx?Item=N82E16813131817

Case Labs STH10 Case
http://www.caselabs-store.com/magnum-sth10/

2x Corsair H100
http://www.amazon.com/dp/B0051U7HMS/

Vertex 4 128GB SSD
http://www.newegg.com/Product/Product.aspx?Item=N82E16820227791

Corsair AX1200 Power Supply
http://www.amazon.com/dp/B003PJ6QVU/

XFX Radeon 6870 2GB
http://www.newegg.com/Product/Product.aspx?Item=N82E16814150563

Corsair Vengeance 32GB RAM (4x 8GB)
http://www.newegg.com/Product/Product.aspx?Item=N82E16820233232

ASUS DRW-24B1ST/BLK/B/AS Black SATA 24X DVD Burner
http://www.newegg.com/Product/Product.aspx?Item=N82E16827135204

SILVERSTONE SST-FP32-B Front I/O Panel
http://www.newegg.com/Product/Product.aspx?Item=N82E16813999356

8x 120mm Case Fans
http://www.amazon.com/dp/B00552Q8IG/

Apple OS X Lion @ Mac Apps Store
http://itunes.apple.com/us/app/os-x-...44303913?mt=12


Already Owned

4x 3TB HDD (Seagate and Western Digital)
(Already owned) (Purchased from Costco as external drives and stripped to bear drive) $130 ea.!!!!


Comments

My build was slightly different than the conventional Hackintosh for a few reasons… Please keep this in mind when attempting this yourself (in other words don't follow these first few steps unless you own another Apple computer - not another Hackintosh)

After the "updated" Mac Pros were released in early June, I began to think about alternatives to handle my film and graphic intensive work load.
I did some research and found that my Mac Pro's config could be sold and fully if not almost fully offset the cost for my hackintosh build!
I spent about 2 weeks looking for all of the right parts, as I will not be needing to buy a new computer for a very long time as Apple's Mac pros will still not surpass my new builds power for at least another year and a half.

Thoughts on the build:
After I had received all the parts from Newegg and Amazon (check both because I got some really good deals on Amazon that were not on Newegg - ex. saved $60 on my Power supply!) I attached my vertex 4 SSD to a Seagate Go-flex portable hard drive adaptor cable (I use this for my Macbook Air time machine and bought from Costco - 1.5TB for 150 bucks!). I then copied the base OS from my Macbook air and everything required to boot. I then booted off of the SSD (still on my Macbook air) and installed the EASYBEAST tool from Multibeast. I then proceeded with the actual Hackintosh build.


I had used the Case labs STH10 case for the build (I wrote a review on the case -its by John)
http://www.caselabs-store.com/magnum-sth10/

- note my Mobo was SSI-EEB form factor (not officially supported by the STH10 however it is, and was confirmed when it fit =D). The case needed to be assembled which I enjoyed it took about 2 hours to complete (pay attention to the pictures if you build this case!) I then tested everything OUTSIDE THE CASE to make sure there were no problems with any of the components before I installed them in the case.



OSX Booted without a problem, and after some fine tweaking, ethernet, onboard audio Realtek 898, USB 2.0 etc works fine. Still haven't found a working USB 3.0 driver but haven't given it much time yet, as all my storage is internal =D.

Here are the kexts I used get get my system working:


Geekbench 64BIT scored at approx. 28,000 which is still great compared to my 8 Core 2.4Ghz 5,1 Mac Pro. http://browser.primatelabs.com/geekbench2/796405

I have the 4, 3TB HDDs in 2 Raid configs, both in Raid 0 with one as a backup. I chose not to use raid 10 because I still like the archive feature of a normal backup.


Cinebench Comes in at just under 20 PTS! Idle temps for the system are approx. 30 degrees C, and 39 degrees C UNDER FULL LOAD!!!! The system is not super loud, but it is still noisy… the is due to the cheap 120mm fans I bought for the case. As time goes by i'll upgrade the fans one at a time, so I'm not spending 150 bucks on case fans. In the future I think I will also get another set of RAM to utilize quad-channel supported by the XEON E5's.





A VERY GOOD thing to keep in mind is:
After your system is bootable, before you install extra kexts to get everything working (unless you use a DSDT) is to enable a screen sharing application. Either Logmein or the Mac version (both work fine). I had accidentally disabled by USB ports by improperly installing the next. Luckily I had screen sharing enabled for this very reason!

If anyone is thinking about building a super computer similar to this one, and has any questions, please feel free to ask!

As time goes on I will continue to post updates etc regarding this build.

Build a Cheaper, Customizable Alternative to Apple's Mac Pro

Build a Cheaper, Customizable Alternative to Apple's Mac Pro

Build a Cheaper, Customizable Alternative to Apple's Mac Pro

 

Fast: On a Budget

First, let's start off with an entry-level machine.
Apple's Entry-Level Mac Pro; Total Price: $2,999
  • 3.7 GHz Quad-Core Intel Xeon E5 processor
  • 12GB 1866MHz DDR3 ECC memory
  • Dual AMD FirePro D300 with 2GB GDDR5 VRAM (each)
  • 256GB PCIe-based flash storage
Entry-Level Hack Pro; Total Price: $2,145.68
What's the Difference?
The hack pro is $853.32 cheaper, of course, but the machines have some key differences. The Hack Pro benefits from having 4GB more RAM, though that RAM is a tiny bit slower (not that you'd ever notice). Apple's Mac Pro also has dual GPUs. Albeit slower in specifications, some professional software is specifically tuned and optimized to work with AMD FirePro GPUs. Unfortunately, almost no software takes advantage of these dual GPUs on a Mac at the moment and probably won't for awhile. Its PCI-based flash storage is faster, but whether or not you'll notice that speed is another story.
The main difference is the processor, as we're putting the top-of-the-line Core i7 processor up against Intel's server-grade Xeon E5. What kind of difference does this make? Not much. The Core i7 definitely scores lower in multi-core benchmarks, but Core i7 bests it in single core performance. When Macworld tested the new Mac Pro, they found its performance didn't rate much higher than a Core i7 27" iMac in real-world use. To give you some perspective, the 27" iMac uses essentially the same processor in the entry-level hack pro build here. Ultimately, you're likely wasting your money when buying a Xeon processor unless you go with a higher-end version and really, truly need the fastest multi-core processor possible.
Finally, as with all builds, the kind of ports and expandability options vary greatly. With Apple's Mac Pro, you get six Thunderbolt 2.0 ports, four USB 3.0 ports, two gigabit Ethernet ports, and one HDMI port. On the entry-level hack pro you get two Thunderbolt 2.0 ports, eight USB 3.0 ports (two on the front, six on the back), two gigabit Ethernet ports, and multiple video port options (including HDMI, DisplayPort, and DVI). You also get several PCIe slots for expanding the machine in virtually any way you like. We prefer the hack pro's port offering, but ultimately it matters what suits your needs best.
The entry-level build we're offering isn't as cheap as it could be. We chose the fastest processor, the best motherboard, and high-end graphics card to make this a very powerful machine. If you don't need all of this power, you can knock as much as $1,000 off the price pretty fast. Check out tonymacx86's buyers guide for cheaper options, as the prices is going up from here on out.

Faster: A Need for Speed

If the entry-level Mac Pro and hack pro just doesn't do it for you, this next build offers a notable speed boost.
Apple's Mid-Range Mac Pro; Total Price: $3,999
  • 3.5 GHz Six-Core Intel Xeon E5 processor
  • 16GB 1866MHz DDR3 ECC memory
  • Dual AMD FirePro D500 with 3GB GDDR5 VRAM (each)
  • 256GB PCIe-based flash storage
Mid-Range Hack Pro; Total Price: $2,752.90
What's the Difference?
Just like the last build, you get more expandability and ports with the hack pro, but the hack pro also levels the playing field a little more. In this build we're using the same processor as Apple's Mac Pro. It does, however, win out on the graphics side thanks to dual GPUs. The hack pro build also loses its Thunderbolt ports (and reduces the number USB 3.0 ports), as there are no compatible Xeon motherboards that feature them. Of course, this build will save you $1,246.11, which might be worth a lot more than some added connectivity.

Fastest: The Best You Can Buy

If the entry-level Mac Pro and hack pro just doesn't do it for you, this next build offers a notable speed boost.
Apple's High-End Mac Pro; Total Price: $9,599
  • 2.7 GHz 12-Core Intel Xeon E5 processor
  • 64GB 1866MHz DDR3 ECC memory
  • Dual AMD FirePro D700 with 6GB GDDR5 VRAM (each)
  • 1TB PCIe-based flash storage
High-End Hack Pro; Total Price: $4,162.85
What's the Difference?
Apple's Mac Pro definitely wins on pretty much every count. It's just a faster machine, but that speed difference is negligible where the price is not. If you buy Apple, you'll pay $5,436.15 more for a slightly faster machine with fewer expandability options and built-in ports. So is it worth it? We don't think so.

Additional Hardware Resources

These Hack Pro builds were made possible thanks to the build guides created by tonymacx86 (and company). Be sure to check out those resources if you want to learn more about these builds or swap out any of the parts we chose.
That should be everything you need to know. We hope you enjoy your new Hack Pro that you didn't have to wait for Apple to build for you!
Time Machine Backup and Recovery on a Hackintosh

Time Machine Backup and Recovery on a Hackintosh

 we've seen many users ask about the best backup solution for their CustoMac. Doing regular system backups of important files and documents can help ensure that you can recover from an unforeseen disaster. Aside from Apple's iCloud based cloud storage, some still like to do regular backups locally; either to an external USB drive or a local hard disk. I want to highlight a few of the 3rd party backup solutions as well as Apple's own solution that many of our members have stated as working solutions.

Let's start with Apple's own built-in back-up solution, Time Machine.


"Time Machine is the built-in backup that works with your Mac and an external drive (sold separately) or Time Capsule. Connect the drive, assign it to Time Machine, and start enjoying some peace of mind. Time Machine automatically backs up your entire Mac, including system files, applications, accounts, preferences, music, photos, movies, and documents. But what makes Time Machine different from other backup applications is that it not only keeps a spare copy of every file, it remembers how your system looked on any given day—so you can revisit your Mac as it appeared in the past."

Time Machine is pretty simple to configure and use. Instructions on how to configure Time Machine can be found here.




Next is Carbon Copy Cloner, otherwise known as "CCC" that is very popular for it's ability to do full bootable clones of your system drive. It used to be free but sadly, the developer Bombich Software Inc. has now made it a commercial product and currently it costs $39.99. It has been updated recently to support OS X 10.8 in version 3.5.1. CCC provides additional enhancements that Time Machine doesn't.

Check out CCC here.
Lastly, there is Shirt Pocket's Super Duper which has also been updated to support 10.8. Super Duper is shareware which means that is free to download and run, however in order to unlock additional features such as scheduling and smart updates, you'd have to buy it for $27.95.

"The latest version of SuperDuper! is faster, better, compatible with Mountain Lion (in fact, it's compatible with OS X 10.4.11 and later), and improves many parts of the user experience. Of course, it still includes great features likeBackup on Connect, Eject after Copy, Sparse Bundle support, lets you store a bootable backup alongside Time Machine backups, copy Time Machine backups to other drives, and run scheduled copies on demand. As with every update, we've polished and improved many other aspects as well."

Super Duper can be found here.

Please note that if you make a full clone backup using Carbon Copy Cloner or Super Duper, you'll still need to additionally install the bootloader to make the drive bootable on a CustoMac. Simply choose the Chimera option from MultiBeast and target the cloned drive.

Whichever the option, backups are extremely important, and these tools can help you recover from a sticky situation.

Laptop Compatibility


It is best to have Sandy Bridge or Ivy Bridge

Many people post here asking "Will my laptop work." I will try to address some of the general issues with laptops in this post.

First off, I should mention that getting a laptop close to 100% functionality is always difficult (unless it is a ProBook 4x30s or 4x40s) and may not be possible or to the level you want. That's just because of the nature of laptops: you don't get to choose every hardware component (for OS X compatibility) like you can a desktop build.

That said, most newer laptops are generally compatible with Mountain Lion mostly due to the fact that the base components are provided by Intel CPUs and the Intel 6-series or 7-series chipset. If your laptop has a Intel Sandy Bridge or Intel Ivy Bridge CPU using HD3000 or HD4000 graphics, chances are you can attempt to make the laptop work with OS X.

Where the difficulty comes in is with all the other hardware and variables...

General Notes:

- CPU and chipset series: You need to know what exact CPU your laptop has. If it is Sandy Bridge it will have a model designation iX-2xxx*. If it is Ivy Bridge it will have a model designation iX-3xxx*. Haswell (supported starting with 10.8.5) is iX-4xxx*. You should also note your chipset version, currently either 6-series, 7-series, or 8-series. A mixed configuration (eg. Sandy Bridge CPU on 7-series chipset) is more difficult to configure than one that isn't mixed.

- Discrete graphics: Many laptops that have AMD Radeon or Nvidia GeForce discrete graphics utilize a switching mechanism to switch from integrated graphics (Intel HD) to the discrete card when the situation demands. This type of switching does not work in OS X and generally it means disabling the discrete capability in BIOS. If your BIOS does not allow it to be disabled, it can complicate the installation procedure (you may have to delete the related kexts). Also, it is possible that the discrete card is still drawing power even though you are not using it in OS X, so try to find a laptop without discrete graphics.

- WiFi: There are a limited number of WiFi chips supported by OS X drivers. In addition, OS X's WiFi driver architecture is not documented, so there are not very many WiFi driver "Linux ports" to OS X. There are some useful links for OS X WiFi in this post: Wi-Fi (and Bluetooth) cards for laptops with Mac OS / OS X. In addition, some BIOS implementations have implemented a whitelist where only certain cards can be installed into the laptop, perhaps only cards branded specifically by the manufacturer of the laptop. Sometimes, the whitelist can be disabled via a hacked BIOS, but sometimes the BIOS is encrypted. The service manual for your laptop may give you a list of compatible cards and if one of those happens to also be compatible with OS X, then you can search for such a card and try replacing it. Some of the more compact laptops (Ultrabooks) have WiFi soldered onto the motherboard or combined with another componenent (mSATA SSD), making replacement more difficult or expensive. In many cases, the specific WiFi chip included with the laptop is not specified when you purchase.

- Ethernet: Ethernet is generally built-in to the laptops motherboard. And since OS X Ethernet driver interface is documented there are quite a few open source drivers available. Usually you can find one that works, but not always.

- Audio: Getting audio to work generally depends on finding or creating a patched AppleHDA (for best results and stability, don't use VoodooHDA except as a last resort). Although patching AppleHDA for any audio codec is possible, it is very involved, requires technical skills you may not have, and is time consuming.

- Camera: Most built-in cameras are USB, some are connected to USB2 and some to USB3. Some will work, some won't. There is no pattern, and there is no way to tell until you try.

- Card reader: Some card readers are on the PCI bus and have OS X drivers available from the manufacturer (certain Jmicron devices, for example). Some are on the USB bus and might work using the class driver built-in to OS X. You won't know until you try.

- Bluetooth: Sometimes bluetooth is built-in to the WiFi card (on the USB bus) and sometimes it is somewhere else (on the motherboard?). Bluetooth is always a rough spot on any OS X hack, so it may not work how you would like.

- Battery status: Battery status is possible to make work by using an ACPI compliant AppleSmartBatteryManager.kext. I generally recommend my own kext: https://github.com/RehabMan/OS-X-ACPI-Battery-Driver. Most DSDTs will need patching to
work correctly with the vanilla AppleACPIPlatform.kext (and the latest AppleACPIPlatform.kext is required for Ivy Bridge power management). The patching required is often specific to the laptop family and requires some programming background to accomplish (unless you find a patch has already been done for you).

- Keyboard/Trackpad: Most laptops use the PS/2 interface for the keyboard and trackpad. OS X has no support for the PS/2 interface, so you will need to install drivers for it. What trackpad you actually have in your laptop determines which version you seek out. And most of the time, the trackpad manufacturer is not specified... sometimes varying even with the same model of laptop. There has even been a case of a laptop being sent out for repair and coming back with a trackpad from a different vendor.

- DSDT: Most laptops will require DSDT edits to get various laptop features working. You should be prepared to learn about DSDT patches, MaciASL, how to install to /Extra/dsdt.aml, etc. Don't fall into the trap of downloading a DSDT for another laptop. Find patches and patch your own. Native DSDTs can vary between laptops even that are the same model.

- BIOS: Some BIOS implementations are picky about booting. For example, some will not boot legacy mode to a GPT drive. OS X generally requires to be installed to a GPT drive, so this can be a problem. There are workarounds, but sometimes this can be difficult for the non-technical to understand.

In short, hacking a laptop is a challenge. You should not expect it will be easy. And there are many different laptops, each with unique configurations, BIOS, hardware combinations, etc. It is always possible that a given laptop will not work even if the hardware mentioned above seems to meet the requirements.

And if you want 100% compatibility with a discrete graphics capability, perfect bluetooth and no hassles, don't look to a hack... buy a MacBook Pro.

Note on gen1 Core i-series CPUs

These laptops generally use "Intel HD Graphics" which are not supported very well by OS X. But some report getting it to work. There is a relatively extensive write up here: http://www.insanelymac.com/forum/top...graphics-qeci/. YMMV.

Note on Haswell systems

There is widespread reports of the OS X kernel (mach_kernel) rebooting early during initialization on some Haswell systems (especially laptops). From my understanding, this is due to the kernel now doing power management in the kernel (XNU CPU Power Management, or 'xcpm') for these systems instead of in AppleIntelCPUPowerManagement. There is no known solution to this problem at this point.

Note on Samsung Laptops and eDP displays

It seems many Samsung laptops have an eDP connection to the laptop LCD, instead of the more common LVDS. The drivers in OS X for HD3000 and HD4000 do not support eDP. So avoid such Samsung laptops or at least verify whether it is eDP or not.

Evidently there is support for eDP in the HD5000 (HD4400/HD4600) OS X drivers, so eDP on Haswell systems should be better supported.
(GUIDE) Add your custom retina / HiDPI resolution for your desktop display

(GUIDE) Add your custom retina / HiDPI resolution for your desktop display

Hi. Excuse me for my English. I'm trying to make it simple.

1, Prepare SwitchResX, PlistEdit Pro and IORegExplorer. SwitchResX is not a must but I recommend it.

2, Enable HiDPI if you haven't done it


Code:
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES;
sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled;
Log out and log back in if you'd like to be sure. Also works if you have Quartz Debug.

3, Extract EDID in SwitchResX. Or from IOReg as in Picture A.

                                 

4, In Terminal, run
Code:
 ioreg -l
Use Edit - Find to get your DisplayProductID and DisplayVendorID. In my case, I got
Code:
DisplayVendorID = 14499
DisplayProductID = 26609
You also need to find IODisplayPrefsKey but it would must easier to get that in IOReg, as shown in Picture A. In my case I got this

Code:
 IODisplayPrefsKey = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPCI2PCIBridge/PEGP@0/ATY,Ipomoea@0/ATIFramebufferNI/display0/AppleDisplay-38a3-67f1
Hence the value: AppleDisplay-38a3-67f1

5, Create a folder on the desktop and name it DisplayVendorID-****. In my case it was
Code:
DisplayVendorID-38a3
And then create a blank text file named DisplayProductID-***. In my case it was
Code:
DisplayProductID-67f1
Use the Get Info panel to make sure this text file HAS NO EXTENSION.

6, Edit this DisplayProductID-*** file in PlistEdit Pro. Add the following children and edit their values with your own DisplayProductID DisplayVendorID and EDID data.

Code:
<key>DisplayProductID</key>
 <integer>****</integer>
Code:
 <key>DisplayVendorID</key>
 <integer>****</integer>
Code:
 <key>IODisplayEDID</key>
 <data>
****
 </data>
In my case, it was like

Code:
        <key>DisplayProductID</key>
        <integer>26609</integer>
        <key>DisplayVendorID</key>
        <integer>14499</integer>
        <key>IODisplayEDID</key>
        <data>
        AP///////wA4o/FnAQEBAQYWAQOAMBt4KpLFollVnicOUFS/7wCBQIGAlQCzANHAAQEB
        AQEBAjqAGHE4LUBYLEUA3QwRAAAeAAAA/QA4Sx5QEQAKICAgICAgAAAA/ABWRTIyMDFY
        RwogICAgAAAA/wAyMjExMTUzME5DCiAgAFM=
        </data>
7, To add your custom resolution, create a new child like this
Code:
 <key>scale-resolutions</key>
 <array>
 </array>
And add a new sibling
Code:
<data></data>
8, Convert your custom resolution with a Hexadecimal Converter/Decimal Converter

My GPU supports 2560 x 1600 max. My display supports 1920 x 1080 max. So I will need 2560 x 1440 for retina.

Code:
00000A00 000005A0 00000001
00000A00 = 2560
000005A0 = 1440
00000001 This one doesn't really matter.

I also added 1366 x 768 because I could not stand 1360 x 768 provided by OS X.
Code:
00000556 00000300 00000001
Someone with 780 SLI or 7990 Cross-Fire may set 3840 x 2160 for 1920 x 1080 HiDPI. lol

Therefore, in your PlistEdit Pro it should look similar to mine:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>DisplayProductID</key>
        <integer>26609</integer>
        <key>DisplayVendorID</key>
        <integer>14499</integer>
        <key>IODisplayEDID</key>
        <data>
        AP///////wA4o/FnAQEBAQYWAQOAMBt4KpLFollVnicOUFS/7wCBQIGAlQCzANHAAQEB
        AQEBAjqAGHE4LUBYLEUA3QwRAAAeAAAA/QA4Sx5QEQAKICAgICAgAAAA/ABWRTIyMDFY
        RwogICAgAAAA/wAyMjExMTUzME5DCiAgAFM=
        </data>
        <key>scale-resolutions</key>
        <array>
                <data>
                AAAKAAAABaAAAAAB
                </data>
                <data>
                AAAFVgAAAwAAAAAB
                </data>
        </array>
</dict>
</plist>
9, Copy your DisplayVendorID folder to /System/Library/Displays/Overrides

Now you can take a look in SwitchResX. Your custom resolutions should show up as "scaled" and "system-inactive". If you don't have SwitchResX it doesn't matter either.

Restart and voila!
                                   
                                                                                Picture B
                                 
Picture C

Do NOT try to choose 2560 x 1440, though. You will get a white screen or worse. Choose 1280 x 720 HiDPI instead.


Note:

A. Some other tutorial shows how to add custom resolutions with Switchres and Quartz Debug. It seems for laptops only. I was unable to add resolutions on my Hackintosh. Instead I got irrelevant DisplayVendorID folders in /System/Library/Displays/Overrides . Make sure you delete these folders before applying this tutorial.

B. I have not tested it with multiple displays, laptops or even TV. It is possible to be the same and, following this tutorial, you can add multiple EDID profiles to /System/Library/Displays/Overrides

C. Known issues: Lag a tiny bit when switching spaces. Also white screen for less than a second after logging in but before your retina desktop shows up. But it works fine on my Hackintosh now.

D. Do tell me if it would burn your GPU when you play games. lol

A lot of thanks to Apple, Steve, Hackintosh hackers, this forum, and especially authors of these two posts


Fixing Scrambled,Stretched, or Wrong Resolution Laptop Display Problems


HOW TO: Advanced EDID Injection


Ciao

Henry

Pentium G840
Gigabyte H61M-DS2 rev.2.2 F8
Samsung DDR3 1600 4G
MSI R6670-MD2GD3v2
Hitachi 320 GB (WIN 7 X86 SP1)
Seagate 500 GB (10.8.4)
NEC VE2201XG Display 1280x720 HiDPI

Troubleshooting: Issuing Boot Flags


You may have to type extra boot arguments in the system at the boot screen. You can hit arrow-down as well on the boot screen to access some standard boot options. Here are a list of things you can try in order to troubleshoot booting. You will have to troubleshoot this part yourself according to your own hardware specs. Here are some common boot flags.

GraphicsEnabler=No
No bootloader help for injection of graphics card devices and names. See Reminder: NVIDIA GeForce 6xx/7xx Kepler Cards work with GraphicsEnabler=No

-v
Verbose Mode- allowing you to see the loading of the OS instead of the Apple Boot Screen. Same as holding "v" on a Mac at startup.

-x
Safe Mode- loads only basic drivers. Same as holding "x" on a Mac at startup.

-s
Single user mode- allows user to access the command line before booting the OS. Same as holding "s" on a Mac at startup.

npci=0x3000
This setting may be necessary on motherboards using Fermi and Kepler NVIDIA cards for installation.

PCIRootUID=0
UniBeast has PCIRootUID=1 set by default for the most universal support for recommended builds. Set it manually to 0 by typing this command at the boot screen above.

System Boot Options

"Graphics Mode"="<width>x<height>x<depth>@<frequency>"
Works only if you have a VESA 3.0 compliant card
"Text Mode"="<width>x<height>"
Sets text mode dimentions [Default 80x25]
"Quiet Boot"=Yes | No
Use quiet boot mode (no messages or prompt) [Default No]
"Kernel Flags"="<key1>=<value1>[ <key2>=<value2>...]"
This is a series of flags sent to the kernel
"Kernel Architecture"=i386 | x86_64 | ppc
Kernel architecture boot mode
arch
ProductVersion
MKext Cache
Kernel=<file>
The filename of your kernel you wish to boot. This can be different from mach_kernel, but be sure to create a symlink that points to the new kernel you're booting with a name of mach_kernel to allow all software to be compatible. Note that this is necessary for you to boot a differently named kernel, because osx naively tries to load the symlink itself as the kernel and not the file that the symlink points to if you don't tell the bootloader! [Default mach_kernel]
Kernel Cache=<file>
UseKernelCache=Yes | No
Use the system's prelinked kernel cache [Default Yes]
Boot Device
Timeout=<number>
Number of seconds to countdown before choosing the default partition [Default 2]
boot-uuid=<uuid>
Root UUID=<uuid>
platform
acpi
CD-ROM Prompt
CD-ROM Option
"Scan Single Drive"=Yes | No
Scan the drive only where the booter got loaded from. Fix rescan pbs when using a DVD reader in AHCI mode [Default No]
Rescan=Yes | No
Enable CD-ROM rescan mode [Default No]
"Rescan Prompt"=Yes | No
Prompts for enable CD-ROM rescan mode [Default No]
"Instant Menu"=Yes | No
Force displaying the partition selection menu [Default No]
mach_kernel
GUI=Yes | No
Enable/Disable the GUI [Default Yes]
"Boot Banner"=Yes | No
Show boot banner in GUI mode [Default Yes]
ShowInfo=Yes | No
Wait=Yes | No
Prompt for a key press before starting the kernel [Default No]

Chimera Boot Options

DropSSDT=Yes | No
Skip the SSDT tables while relocating the ACPI tables [Default No]
DSDT=<file>
Use an alternate DSDT.aml file [Defaults /DSDT.aml /Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml]
RestartFix=Yes | No
If disabled, no FACP patch will be done at boot time. [Default Yes]
CSTUsingSystemIO=Yes | No
GenerateCStates=Yes | No
Enable auto generation of processor idle sleep states [Default Yes]
GeneratePStates=Yes | No
Enable auto generation of processor power performance states [Default Yes]
EnableC2State=Yes | No
Enable specific Processor power state, C2 [Default No]
EnableC3State=Yes | No
Enable specific Processor power state, C3 [Default No]
EnableC4State=Yes | No
Enable specific Processor power state, C4 [Default No]
Wake=Yes | No
Disable wake up after hibernation [Default Yes]
ForceWake=Yes | No
Force using the sleepimage [Default No]
WakeImage=<file>
Use an alternate sleepimage file. [Default /private/var/vm/sleepimage]
busratio=<n>
Force busratio multiplier, such as CPUFreq=FSB freq x busratio
device-properties
Sets additional device properties like gfx card efi injection, network
"Default Partition"=hd(<x>,<y>) | <uuid> | <label>
Sets the default boot partition, Specified as a disk/partition pair, an uuid, or a label enclosed in quotes [No default]
"Hide Partition"="<partition>[;<partition2>...]"
Remove unwanted partition(s) from the boot menu. Specified, possibly multiple times, as hd(x,y), an uuid or label enclosed in quotes [No default]
"Rename Partition"="<partition> <alias>[;<partition2> <alias2>...]"
Rename partition(s) for the boot menu. Where partition is hd(x,y), uuid or label enclosed in quotes. The alias can optionally be quoted too. [No default]
SMBIOS=<file>
Use an alternate SMBIOS.plist file [Defaults /Extra/SMBIOS.plist bt(0,0)/Extra/SMBIOS.plist]
SMBIOSdefaults=Yes | No
Don't use the default values for smbios.plist [Default No]
SystemId=<uuid>
Manually set the system id uuid, overriding SMuuid in smbios config [No Default]
SystemType=<0-6>
Set the system type [Default 1]
UseMemDetect=Yes | No
PCIRootUID=0 | 1
Use an alternate value for PciRoot [Default 0]
AtiPorts=<0-6>
Change the number of graphics ports reported to OSX
AtiConfig=<framebuffer_personality>
Use a different framebuffer personality [No default]
UseAtiROM=Yes | No
Use an alternate Ati ROM image with path /Extra/<vendorid>_<devid>_<subsysid>.rom [Default No]
ATYbinimage=<file>
UseNvidiaROM=Yes | No
Use an alternate Nvidia ROM image with path /Extra/<vendorid>_<devid>.rom [Default No]
VBIOS=Yes | No
Inject NVIDIA VBIOS into device-properties [Default No]
display_0
display_1
EthernetBuiltIn=Yes | No
Automatic device-properties generation for ethernet interfaces [Default Yes]
GraphicsEnabler=Yes | No
Automatic device-properties generation for gfx cards [Default Yes]
ForceHPET=Yes | No
Force Enable HPET [Default No]
md0=<file>
Load raw img file into memory for use as XNU's md0 ramdisk [Default /Extra/Postboot.img]
USBBusFix=Yes | No
Enable all of the USB fixes [Default No]
EHCIacquire=Yes | No
Enable the EHCI fix [Default No]
UHCIreset=Yes | No
Enable the UHCI fix [Default No]
USBLegacyOff=Yes | No
Enable the USB Legacy fix [Default No]
EHCIhard=Yes | No

Kernel Flags

cpus=<n>
Force physical cpus count (all cores in all cpus), use only if autodetection doesn't work
darkwake=0 | 1
npci=0x<hex><hex><hex><hex>
Governs the initialization order and method of the PCI bus [Default 0x3000]
AHCIDisk=<n>
Increases AHCI debugging level, usually "1" when OS X boots too quickly [Default 0]
dart=0 | 1
Enables or disables extended memory mapping [Default 0]
nv_disable=0 | 1
Disables QE/CI on nVidia graphics cards [Default 0]
rtc=<0-7>
Real Time Clock debugging level, use 7 for an RTC dump to the kernel log

Chimera-Specific Options

Here are extended properties that are recognized by Chimera.
Theme=<name>
The name of the bootloader's graphical theme, stored as a directory in /Extra/Themes.

Advanced Techniques

Basic Troubleshooting

DSDT=Null
This option can be used to troubleshoot systems using UserDSDT
config=Null
This option nullifies the effects of the current org.chameleon.Boot.plist
smbios=Null
This option nullifies the effects of the current smbios.plist
npci=0x3000 | 0x2000 | (nothing)
These options control the initialization order and can prevent random kernel panics
cpus=1
This is usually necessary for laptops, and CPUs that are unknown to the OS
PCIRootUID=0 | 1
These options depend on the graphics card and prevent hangs at [PCI Configuration begin]
Gigabyte GA-X79S-UP5 Mavericks Guide

Gigabyte GA-X79S-UP5 Mavericks Guide


Click image for larger version. 

Name: 6578_big.jpg 
Views: 5563 
Size: 207.8 KB 
ID: 76288
Installation
Use default UniBeast for Mavericks installation guide, but boot flags are required for 1st boot and 2nd boot from UniBeast-created USB. Type the following at boot screen.

Code:
npci=0x2000 cpus=1
For details see Troubleshooting: Issuing Boot Flags
Click image for larger version. 

Name: 6579_big.jpg 
Views: 4375 
Size: 83.7 KB 
ID: 76289
Post Installation
6 and 8 core CPUs need a special kext called VoodooTSCSync by Cosmosis Jones of VoodooProjects. Install to /System/Library/Extensions using KextBeast or DPCIManager.

Edited for 6 core CPU with 12 Threads (IOCPUNumber=11): VoodooTSCSYNC-6core.zip
Edited for 8 core CPU with 16 Threads (IOCPUNumber=15): VoodooTSCSYNC-8core.zip

Depending on motherboard and UEFI version, it may be necessary to use NullCPUPowerManagement.kext. GA-X79S-UP5 UEFI version F4 or later does not require NullCPUPowerManagement. In order to boot successfully, npci=0x3000 is always necessary. Add to /Extra/org.chameleon.Boot.plist under Kernel Flags.

MultiBeast 6 Settings
Backup File (.mb) for Gigabyte X79S-UP5 - Core i7-3930K - GeForce GTX 570: GA-X79S-UP5.mb
Click image for larger version. 

Name: Screen Shot 2013-12-15 at 10.31.47 AM.png 
Views: 4522 
Size: 163.7 KB 
ID: 76715
This MultiBeast configuration was made for the Fermi-based GeForce GTX 570 that requires GraphicsEnabler =Yes. Please adjust accordingly for the GPU you actually use.


AMD/Nvidia Primary Display with AirPlay Mirroring on Mavericks


Experimental, make a bootable backup before attempting.

Mavericks with AMD/Nvida graphics as the primary display. HD4600/HD4000/HD3000 display not required. BIOS/Boot screens and AirPlay Mirroring supported with appropriate system definition.

For both Intel and AMD/Nvidia,Same technique for Mavericks and HD4600.

Discrete Graphics


  1. AMD
    1. HD5xxx, HD6xxx, HD 7xxx
  2. Nvidia
    1. GT/S/X 4xx, 5xx, 6xx, 7xx

Requirements

  1. OS X:
    1. 10.9 or newer
    2. 10.8.5: unstable, only Nvidia/HD4600 worked

Settings

  1. BIOS/AMI
    1. Enable Integrated Graphics
    2. Set PCIE (examples)
      1. Init Display First: PCIE
      2. Primary Display: PCIE
  2. HD4600/8 Series/Haswell
    1. Framebuffer: IGPlatformID=04120004
    2. SysDef: macbookpro11, macbookair6, imac14
  3. HD4000/7Series/Ivy Bridge
    1. Framebuffer: IGPlatformID=01620007
    2. SysDef: macbookpro9, macbookair5 imac13, macmini6
  4. HD3000/6 Series/Sandy Bridge
    1. Framebuffer: Default
    2. SysDef: macbookpro8, macbookair4, imac12, macmini5

Installation

  1. Bootloader Settings (With dsdt or ssdt HDMI audio, see 2. DSDT Edits)
    1. Chimera/Extra
      1. org.chameleon.Boot.plist
        1. TextEdit/Set IGPlatformID
          1. HD4600: 04120004
          2. HD4000: 01620007
          3. HD3000: Default, no edit required
      2. smbios.plist
        1. MultiBeast/System/System/Definition
          1. macbookpro…..
    2. Clover/config.plist
      1. Graphics
        1. ig-platform-id
          1. HD4600: 04120004
          2. HD4000: 01620007
        2. snb-platform-id
          1. HD3000: 10000300
      2. SMBIOS
        1. automatic, no entry required.
  2. DSDT edits (Without dsdt or ssdt HDMI audio, proceed to 3. Restart)
    1. Edit dsdt/IGPU/"AAPL,ig-platform-id"
      1. HD4600: 0x04, 0x00, 0x12, 0x04
      2. HD4000: 0x07, 0x00, 0x62, 0x01
      3. HD3000: no edit required
  3. Restart
  4. BIOS
    1. Advanced Menu
      1. System Agent Configuration
        1. Primary Display/Init Display First, etc.
          1. PCIE
    2. Exit
    3. Save
    4. Restart

Note

  1. Boot times likely to increase.

Problem Reporting

  1. Motherboard/BIOS version/processor/graphics/OS and version
  2. Bootloader and version
  3. org.chameleon.Boot.plist or config.plist
  4. Copy of IOReg/Select Raw Data audio_ALCInjection/IORegistryExplorer_v2.1.zip at master · toleda/audio_ALCInjection

Use Unibeast to install Mavericks on a real iMac


Hi,

Since I don't have 10 hours to install Mavericks on my Late 2009 iMac, I thought I'd use Unibeast instead. Guess what? It works! Instead of 10 hours on DSL, I downloaded Mavericks in 20 minutes! Here's how.

So let's say you erased your hard drive on your Apple computer, and your internet is too slow. You'll need to reinstall the OS, and here's how to do it without internet.

You will need:

  • Your unibeast Mavericks USB drive
  • an Apple computer with a blank hard drive


Steps
  1. Once you have erased your hard drive, shut your computer down
  2. Turn it on while pressing the option key
  3. You will get at least two drives to boot into, boot into the one that says "UEFI boot" or the one with the orange flash icon
  4. After a few seconds, you will see a page that says "Install Mavericks"
  5. Press continue continue and agree
  6. Select the hard drive you erased earlier and you're on your way!


If you'd like a tutorial on how to erase a hard drive on a legitimate mac, let me know and I'll post one.

This is my first tutorial, please help me refine it. Thank you very much and I hope this helps you.

Power Management for Sandy Bridge and Ivy Bridge Laptops


Power Management should be one of the first things implemented when trying to install OS X on a laptop. Because of heat/noise and battery life issues, using NullCPUPowerManagement is not a realistic option on a laptop. This guide will start assuming you are running Multibeast for the first time and wish to implement power management on a laptop with a Sandy Bridge or Ivy Bridge CPU.

Make sure you download and use the latest version of Multibeast. Most laptops have locked CPU MSRs so you need a patched AppleIntelCPUPowerManagement.kext to avoid a KP upon boot. In fact, you just watch for updates to the system that might replace this kext and be sure to replace it with a patched version before rebooting following the update. Some laptops can flash a patched BIOS to avoid this problem, but I do not recommend it. Why risk bricking your laptop with a patched BIOS when a simple software change can accomplish the same thing.

You should be aware of what kind of CPU you have. A Sandy Bridge CPU will be Core iX-2xxx[U|M|QM]. An Ivy Bridge CPU will be a Core iX-3xxx[U|M|QM]. Know what the exact CPU is in your laptop and provide it in your profile. Just saying "I have a laptop with an i5" is not helpful.

First run of Multibeast (make sure you are using the latest version) select the following options:

- UserDSDT or DSDT-Free Installation
- Drivers & Bootloaders -> Drivers -> System -> Patched AppleIntelCPUPowerManagement
(be sure to select the version appropriate for the version of OS X you have installed)
- Customization -> System Definitions -> MacBookPro8,1

Note: If you have a laptop subject to "Local APIC panic" (HP consumer laptops, for example), you should install the KernelPatcher module from Chameleon to /Extra/modules.

That should give you Sandy Bridge CPU power management (without TurboBoost), plus a bootloader and a starter /Extra folder. You can reboot and test booting directly from your HDD at this point.

If you have an Ivy Bridge CPU, you should obtain/create an appropriate System Definition (/Extra/smbios.plist) for your laptop. If your CPU ends in 'U', you should probably use MacBookAir5,2. If your CPU ends in 'M' use the ProBook Installer to create a custom MacBookPro9,1 or MacBookPro9,2. To create a MacBookAir5,2 smbios.plist, use Chameleon Wizard.

Next step is to install a custom SSDT using the ProBook Installer. Download the latest ProBook Installer and select only the SSDT option. Click continue to install it.

Note: Much of the content in the ProBook Installer is specific to the ProBook. But not the SSDT generator. It can be used on any computer with a Sandy/Ivy/Haswell CPU, even desktops.

Note: You must boot with the appropriate smbios.plist (see above) before generating the SSDT.

Now that you have a custom SSDT, you should make a few changes to /Extra/org.chameleon.Boot.plist:

- set GenerateCStates=No
- set GeneratePStates=No
- add DropSSDT=Yes

You can use Chameleon Wizard to edit these options if you're not familiar with XML plists.

After installing the custom SSDT and System Definition, you should reboot and test it. You can test using DPCIManager (1.5) by using the PStates monitor. In addition, for Ivy Bridge CPUs, you should run IORegistryExplorer and verify that X86PlatformPlugin is loading under the CPU0 node.

More information on Ivy Bridge PM is available here: ML: Native Ivy Bridge CPU and GPU Power Management

Here is a quick Ivy/Sandy Bridge Power Management checklist:

- patched AppleIntelCPUPowerManagement installed
- SSDT installed to /Extra/ssdt.aml for your CPU (easiest to use ProBook Installer)
- appropriate System Definition (smbios.plist) for your CPU
- DropSSDT=Yes, GeneratePStates=No, GenerateCStates=No
- no rollbacks of AppleACPIPlatform.kext
- no NullCPUPowerManagement.kext (usually implies patched AppleIntelCPUPowerManagement)
- Processor objects declared in Scope (_SB) in DSDT (pretty rare not to have them in OEM DSDT)

Note: For Sandy Bridge PM, it is possible to run a rollback of AppleACPIPlatform.kext but it is discouraged. Watch out for battery manager packages that include a rolled back AppleACPIPlatform.kext.

Note: Running stock AppleACPIPlatform.kext means any DSDT methods that manipulate EC (EmbeddedControl) registers larger than 8-bits will not work and will cause the method to fail. These methods must be patched. Access to such registers is common in DSDT battery methods. Some patches are provided at my laptop DSDT patch repository at: https://github.com/RehabMan/Laptop-DSDT-Patch
How to Fix iMessage

How to Fix iMessage

How to fix
iMessage


Change Log

06:03:2014: Updated info on issue effecting raid users
03-03:2014: Updated info on Apple ID validation check
02-03:2014: Re-format and re-order entire guide
02-03-2014: Confirmed Working - OSX Mavericks 10.9.2
30-12-2013: Confirmed Working - OSX Mavericks 19.9.1
26-10-2013: Additional new Step [2] to try
24-10-2013: Confirmed Working - OSX Mavericks 10.9.0
30-09-2013: First release of guide made public
25-08-2013: Confirmed Working - OSX Mountain Lion 10.8.5
01-08-2013: Confirmed Working - OSX Mountain Lion 10.8.4



Background

iMessage, the cross device instant messaging system built into Apple's OSX and IOS is quite possibly the most finicky element when it comes to getting OSX running on non-Apple hardware. Having built and installed many hackingtosh systems over the past few years, i've run into this problem many times and in each case it was a different cause requiring a new solution each time.

Click image for larger version. 

Name: Screen+Shot+2012-07-27+at+9.38.57+AM.png 
Views: 3464 
Size: 112.6 KB 
ID: 85651
Symptoms of iMessage problems usually show as a sign in or activation error

I wrote this guide to share my findings for those of you who are having problems running iMessage, it offer's a variety of things to check and change in some sort of logical order, some steps of the guide are critical other are optional, this is made clear at each step of the guide.

As i hinted above, there are many different factors that can effect iMessage and stop it from working, I am quite sure that there are still more solutions and tips to be found, as such I can not guarantee that this guide will fix your problem 100% but it has helped many many users and should have at least a 95% chance of working for you. I will continue to update the guide as new solutions are found and confirmed.

I would suggest that you read through the complete guide first and digest the various different steps before making any changes on your system, I have tried to explain the reasons behind the problems and each solution, it maybe that you can solve your issue with just one or two of the steps. As always make sure you have a up-to-date backup of your OSX startup drive.



Important info for software RAID users

If you boot OSX from a standard AHCI single drive (HDD or SSD) then skip forward to step 1, but if you boot OSX from a Apple software raid then there is an added complication. For reasons outside the scope of this guide it is not possible to resolve all the iMessage issues on a active software raid.

In order for this fix to work you must first clone your raid using Carbon Copy Cloner to a standalone HDD, install the boot loader and modify the chameleon plist in /Extra so that you can boot OSX from this non raid clone. Once booted from the clone HDD, apply the necessary steps from the guide below to get iMessage working.

When your happy that everything is working ok, and you've got a backup of your backup, take a deep breath and delete your existing raid set and then re-create it so a new raid uuid is generated, its worth erasing the two raid member drives before re-creating the raid just so you know that everything is fresh and makes for a good opportunity to update your raid boot loader.

Finally clone the standalone HDD on to the new raid set, make the raid bootable by installing the boot loader via the command line method to each of the raid helper partitions and copy the generated nvram.xxxxx.plist from the standalone HDD /Extra folder to the two raid helper /Extra folders, be sure to edit the chameleon plist so that it boots using the new raid uuid.

Its sounds a pain and it is, it's time consuming and carries a certain amount of risk but all OSX software raid users should be familiar with the above method as that's how we get our raids woking in the first place, so just think of it along those lines and it wont seem quite so daunting, just be sure to cover yourself with multiple backups if possible.

If you don't understand the above then please stop now, do some research and make yourself very familiar with the way a OSX raid is created and made bootable on a hackintosh in the first place.

Please see the raid specific notes towards the end of the guide for further information on this problem, my thanks to stradivari2 for confirming this issue.




Step-1: Do you have a 'Validated' Apple ID account ?
Updated: 03-03-2014

There are a few different types of Apple ID / accounts and they are all treated slightly differently by Apple's servers. As far as i know the different types of Apple ID are :-

  • Basic
  • Basic Validated
  • Pro (Validated)
  • Developer (Validated)

The Apple ID you use with iMessage must be a validated account and the easiest way of making your account validated is to register a credit card against the Apple ID. If you have already bought apps or music via your Apple ID then the chances are your Apple ID is already validated, you can check the status of your account by logging into Apple's on-line Account manager.

By registering a Credit Card to your Apple ID, Apple's servers and systems know that the Apple ID has a valid name and address (validated via the credit card info) this means that all messages sent/received by that Apple ID are traceable to someone (or somewhere !) .... when you think about it, it sort of makes sense that Apple would limit iMessage to a validated ID, especially in light of the recent NSA disclosures so don't expect too much privacy on Apple's systems .... it's in the small print somewhere .... apparently ....

You can register a credit card against your Apple ID either through iTunes or the App Store.

Once you Apple ID is validated and you have iMessage working you can remove the credit card if your worried about others using the account and running your bill up with iTunes and App purchases.

Step-1 Summary: Your Apple ID must be validated in order for iMessage to work.



Step-2: Check your Network Device ID's
Updated: 26:10:2013

This is a new step which i figured out while assisting a good mate of mine with getting iMessages to work, one thing that was different for him was that both iCloud and the AppStore where also not working despite having an otherwise perfect system with internet and local LAN all working fine. We have identical builds so after walking him through this method a few times, we started to dig a little deeper. Im pretty sure that if you've tried everything and are still having issues this step could really be important.

Open 'System Information' [About this MAC -> More Info -> System Report] and click on 'Ethernet Cards' section, You will see a list of your ethernet cards, for each network card in your system you will see a list of parameters such as Type, Bus, VendorID, DeviceID ... etc

Look at the parameter called 'BSD name' for each of your network interfaces, they should be called 'en0', 'en1' ... etc

I've got a Gigabyte GA-Z77-UD5H Motherboard that has two LAN ports, one is a Atherois controller and the other is a Intel LAN controller, The Intel port is 'en0' and the Atherios port is 'en1'.

When I compared this info with my mates system his Intel port was 'en2' and the Atherios port was 'en1' there was no 'en0'. How this can happen i'm not sure, maybe something to do with installing a firewall or some extra step in the install.

Although all of my Desktop MAC builds are using 'en0', I'm pretty certain that iMessage and iCloud should also work on 'en1' because the old MacBook Pro's had a LAN port as-well as WiFi, OSX assigns a <BSDname> of 'en1' to the WiFi Interface, this is also true for my trusty Sony Vaio-SE2 Hackingtosh laptop, the RealTek LAN port is assigned to 'en0' and the WiFi is assigned to 'en1' (also now running OSX Mavericks)

Update: 4 Dec 2013

Based on further research by myself and other members posting their findings to this thread, I think the situation with network BSD name(s) is that if you connect to the internet via ethernet your interface must have a <BSDname> of 'en0' or 'en1', it would seem that for WiFi and USB based interfaces that it can be other values such as 'en2'
In the end it was quicker and easier to re-install OSX and this time the Intel port was identified as 'en0' and after applying the fix at Step-5c everything worked perfectly. So if you don't mind a re-install then that is probably the best option.

We did try deleting NetworkInterfaces.plist in /Library/Preferences/SystemConfiguration and re-booting, we tried removing the network devices in [System Preferences -> Network] and re-adding them , un-plugging cables and moving things around and eventually we were able to get the Intel port identified as 'en0' but even after trying all the remaining steps, iCloud would still not work. I suspect there are some other setup files that need deleting/changing. Like i said, in the-end, ten minutes spent re-installing OSX and completing Step-4 and the job was done.

it maybe possible by editing <BSDname> in the following file:-

/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

But we didn't try this as we'd already wasted hours trying to fix it which is when we decided to re-install. If anybody does find out how to fix the lack of 'en0' then let me know and i'll update the guide.

Step-2 Summary: If using ethernet BSD name should be 'en0' or 'en1'



Step-3: Edit SMBios.plist and update Chimera Boot-loader

Make sure you have a unique Apple serial number, i think the latest version of Multibeast should take care of this during installation when it creates the SMBios.plist file, but as an added precaution i would recommend running Chameleon Wizard  and click on the 'SMBios' icon then click on 'open' and navigate to /Extra folder in the root of your startup disk and select the file SMBios.plist.

(OSX Raid uses will have to mount the two raid helper partition(s) to access the /Extra folders)

You can use one of the pre-made SMBioses if you know the correct one for your system (3,1 in my case) this will automatically fill-in a few non critical information tags that Multibeast leaves blank, however this is an optional and if your not sure just leave that alone and keep the one generated by Multibeast.

To change the serial number, click a few times on the two 'Random' buttons to generate a unique batch number and week of manufacture then click on 'Save'.

(OSX Raid users should also use 'save as' to save a copy onto the other helper partition(s)

If you are not already running Chimera 2.2.1+ then please download and install it. OSX Raid users will need to manually install Chimera by extracting the /usr/standalone/ i386 folder from the install package and use terminal commands to move the boot-loader files to the appropriate helper partitions.

Step-3 Summary: You must have a unique Serial No. and up to date boot-loader.



Step-4: Remove old iMessage Setup data

If you are starting with a clean OSX install then there is no need for you to perform this step so jump forward to Step 5, however if like me you have been trying to get iMessge to work for some time then the chances are that the setup data and plists are full of invalid data. So lets start with a clean slate and remove all the current iMessage related data and plists.

Ensure that you have ‘Show all Files’ or similar app for accessing hidden files and folders.
You can get Show all Files form the Terminal.
Enable ‘Show all Files’, start-up Finder and navigate to:-

/StartupDrive/Users/Username/Library/Caches

Delete all files beginning with the following prefix:-

• Caches/com.apple.Messages
• Caches/com.apple.imfoundation.IMRemoteURLConnectionAgent

Now navigate to:-

/StartupDrive/Users/Username/Library/Preferences

Delete all files beginning with the following prefix:-

• com.apple.iChat
• com.apple.imdsmsrecordstore
• com.apple.imessage
• com.apple.imservice

Now delete the folder:-

/StartupDrive/Users/Username/Library/Messages

You can switch off 'Show all Files' now.



Step-5a: NV RAM - The Problem

On all real Apple MAC's, OSX stores some critical system variables and their contents in Non Volatile RAM rather than writing them to a config file or plist on your drive. The Apple NV RAM is bespoke hardware that is built into a MAC's System Board, as such PC Motherboards do not have it.

One of the most important variables normally stored in NV RAM is the SystemID UUID, as well as being a unique system identifier the value of the SystemID UUID is used as part of a crpto key for keeping content secure, this is an important factor of the Apple eco system and one which the iMessage system uses. If the iMessage uuid & session key is not saved in NV Ram then next time the system is powered off/rebooted it can be a different value resulting in iMessage login and activation problems.

There has been much work done in the community to try and resolve this problem and the latest version of Chameleon (Chimera) does include a fix that try's to maintain the SystemID UUID in OSX's nvram cache. But for reasons outside the scope of this guide it does not work for everybody, if this is the case for you then you must perform the following step.



Step-5b: NV RAM - The Solution

Hackingtsoh wizard xzenue has written a boot time module called FileNVRAM that simulates Apple's Non Volatile RAM through software and store's the names and values in a plist called nvram.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.plist in the /Extra Folder of your OSX startup drive.

This file will automatically get generated by FileNVRAM the first time it is initialised. By storing the variable names and values in a plist, FileNVRAM allows OSX to maintain these variables and values through power cycles and reboots. Further information is written to the simulated NV Ram by OSX such as brightness level and in iMessages case the current session key which is critical to iMessage working correctly.



Step-5c: NV RAM - Installing NVFileRAM

Download the attached file ‘modules.zip’ and extract it, the contents are a folder called 'modules' which has a single file in it named 'FileNVRam.dynib' copy the ‘modules’ folder that you extracted form the attachment and place it in the ‘/Extra’ folder in the root of your startup drive.

Note: More recent versions of Multibeast now create the 'modules' folder in /Extra and place a file called 'Keylayout.dynib' in it, if you already have a 'modules' folder then just merge the contents of the attachment with the existing folder.

(Those using an OSX Raid will need to copy the modules folder to the /Extra folder on both raid helper partitions )

Now before we reboot i recommend running Disk Utility and repair permissions on your startup disk, this is optional but a worth while step.

That’s it, reboot your system . . .



Tips, Observations and Credit

If you installed Chimera at Step-3 of this guide then its best to stop the boot process the 1st time round and check that you have the correct version installed (just press the tab key to switch to text mode at the boot loader screen, the version will be displayed at the top of the screen) it needs to be 2.2 or later.

If all is well, let OSX load and try iMessage, hopefully it will now work.

If things don't work the first time do not give up, sometimes you may need to repeat a step or perform a step that you skipped the first time round.

I've successfully used all of the above steps in various combinations to get iMessage working on OSX Mountain Lion 10.8.4/5 and Mavericks 10.9.0/1/2. Please post your success or fail stories here and if it did work for you please click on the 'Recommended' tab at the very top of this post to help others find it.

As I said at the start, most of this guide has been put together from various tips I found around the web and a lot of personal experimentation, my thanks to everyone who contributed - without the Hackingtosh community things would be very different, we should all be grateful for everyones hard work, without which we would not be able to run this great OS so well.

Special thanks to xzenue for creating the NVFileRAM fix.



Further notes for RAID Users
Updated: 04-03-2014

If you boot OSX from a software raid then unfortunately there is a problem with the way NVFileRAM works, because the boot loader has to be accessible outside of OSX (software raid can only work once kernel is up and running) the /Extra folder must reside on the raid helper partition(s), unfortunately the raid helper partition(s) are unmounted once OSX starts up, thus FileNVRAM is unable to access the /Extra folder and eventually times out and quits, so it is unable to update the info in the nvram plist.

The only way around this as far as I know is to clone the raid onto a stand alone HDD, modify the chameleon plist and install the boot loader so that the drive can boot on its own. Once booted from the stand alone HDD it is possible to install FileNVRAM in the /Extra folder and perform any additional steps required from the guide.

Once the new standalone HDD is booting ok, FileNVRAM should also be working and should have auto generated the nvram plist in /Extra, so go ahead and log in to iMessage, hopefully it is working now.

Once you have a working build you then have to re-clone the standalone HDD back to the raid and then copy the nvram-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.plist to each of the /Extra folders on the raid helper partitions and make sure you have NVFileRAM version 1.1.2 in the module folder.

Simply copying the nvram plist files on there own will not work, you have to clone the whole drive as well so i'm guessing there are some configuration files and plists within OSX and/or the user folder that are linked to the contents of FileNVRAM (system ID being the main candidate)

Once the re-cloned raid is working, FileNVRAM works in that it can read the plist from the helper partition and initialise the nv ram with its contents, thus iMessage will continue to work. However once OSX is loaded, NVFileRam it is unable to refresh the contents of the nv ram plist in /Extra as the raid helper partitions are no longer accessible (un-mounted) so if you ever get logged out of iMessage or your SystemID UUID is altered the plist can not get updated and you will have to do the whole process again.

Most raid users should be familiar with this procedure as it is the way most users set up a raid in the first place, but it is time consuming and there is always the possibility that something could go wrong during the cloning process and you could end up loosing your raid. Multiple TM & CCC backups are the solution to that fear, make sure you cover yourself for all possible out comes.

There must be a better way like updating some OSX files or plists with the Raid or SystemID uuid's, but as yet i have not found one, if anybody else has a better solution to resolve the raid issue with NVFileRAM please post , I have a raid 0 on my primary development system and i come against this problem all the time.

Update: I have reported this issue to the developers of NVFileRAM and suggested a possible work around, once we have a better solution for Raid users I will update the guide. Please see this Link for the problem & enhancement request.



Guide Summary

In order or for iMessage to work on a Hackingtosh computer the following must be true.

  • You should have a valid credit card registered against your Apple ID - See Step 1
  • If using wired a network (ethernet) BSD name should be en0 or en1 - See Step 2
  • You must have a unique serial number and up-to-date boot loader - See Step 3
  • You should have NVFileRAM Version 1.1.2 in '/Extra/modules' - See Step - 5



Additional Information

Note: The version of FileNVRam.dynib included in the attachment of this guide is Version 1.1.2, the more investigative forum members may find a later version of FileNVRam.dynib floating around the internet - Version 1.1.3. It has been widely reported by many users, including myself that Version 1.1.3 does not work in all cases at least not yet. If the situation changes I will update this guide but for the moment I would recommend that you stick with Version 1.1.2 only try Version 1.1.3 if all else fails.

What else can I try ? Whilst this guide should work for the majority of users there are a few odd situations that can still cause iMessages to fail, a few users have reported success by using a real MAC to (re)initialise the Apple ID, I would suggest that you read through the rest of this thread - some forum members who the guide did not help have resolved the issue anther way and posted their findings.

Good Luck