Posts Tagged ‘apple’

10.8 upgrade/install on my hackintosh

Saturday, August 11th, 2012

With 10.8 coming out, I took the opportunity to migrate my OS installation from a traditional hard drive to an SSD.  (Specifically, I installed a 256GB Samsung 830-series drive).  I followed the general approach over at tonymac (I bought 10.8 online, then used his Unibeast wrapper to build an install-from-USB stick), modified for my setup.  The installation of 10.8 to my SSD went swimmingly, but I noticed something odd – I needed to upgrade my version of Chimera (the Chameleon bootloader fork), as the previous version I’d been using without problem on 10.7 just barfed.  (It rebooted immediately after starting to boot anything 10.8).  But that was easy to fix by updating my version of Chimera (which I do manually, since my loader is on its own partition on a separate drive & the tonymac auto-install tools tend to screw that up).  Of course, I also had to install fakesmc & wanted to get rid of the orange icons for my hard drives, so I also installed the ahci port-injector kext.  But, that was it.  I much prefer not to use “Multibeast” for post-installation, because it tends to crap out kexts all over that I don’t want — and which could lead to problems across software updates.  (I also just like to know exactly what’s installed).

During installation, I did a fresh, full install.  I did not do any kind of upgrade.  (In fact, my 10.7 installation is still intact on my hard drive).  However, I did want to keep my old user accounts with as little fuss as possible.  So, I took note of the user ID, group ID, and UUID settings for each of my accounts as established in 10.7.  Then in 10.8, I first created accounts corresponding to each of the existing user accounts.  But before ever logging in to those accounts, I went in and changed the user/group/uuid settings (and obviously the home directory setting, to point it to the location on the old hard drive where the user data sits).  This made for a seamless transition – accounts log in & have all of their old settings as they previously did, but I get awesome speed from having my OS and applications on the SSD.

Using xbench, I see speeds of between 350 & 425 MB/s, which is about what I expected.  It doesn’t approach the peak speeds that the interface and the disk support, but that’s because of the controller I have it sitting on.  My Gigabyte X58-based board only has a Marvell SATA3 controller, which is somewhat notorious for its inefficiency, bad drivers, and limited architecture.  Further, the Gigabyte implementation is apparently flawed & only has the controller connected to a single PCIe lane on a PCIe 1.0 link.  This limits the theoretical throughput to 250 MB/s.  So, I bought an add-in card (an Asmedia ASM1061) for about $10 on Amazon.  It’s a single-lane card as well, but installing it in to a PCIe 2.0 slot will up the theoretical throughput peak to 500 MB/s.  (This controller works out-of-the-box without any additional drivers/kexts required).  The only real problem with my resultant setup is that I’d also like this on Windows, but I have about 300 GB of applications (games – thanks, Steam sales!) on top of the Windows requirement, and I don’t really want to mess around with uninstalling/reinstalling games as I use them.  So for Windows, I’ll wait for prices to drop some more & pick up a 512 GB SSD at some time in the future.  Given that it’s been more than 2 years since I did any kind of major hardware tweak to this machine, it probably won’t be any time soon anyway.

10.7.1 update issue-free

Thursday, August 18th, 2011

I continue to be impressed with the chameleon/chimera boot-loader efforts – it’s made all of my updates since first installing my hackintosh trouble-free, including this last 10.7.1 update.  Awesome.

A tale of two Mac OS Updates

Tuesday, July 26th, 2011

I recently bought Mac OS 10.7 (“Lion”) for both my 2006 Core 2 Duo Macbook Pro and my i7-based hackintosh. I assumed that the Macbook Pro update would go smoothly, so I focused on preparing first for my hackintosh (after reading generally favorable outcomes online). First, I updated my bootloader from Chameleon 2 RC4 to an RC5 variant. However, the App Store would not let me continue my purchase (giving me the error “This version of Mac OS X 10.7 cannot be installed on this computer”). After reading over at tonymac that his/their variant of Chameleon (“Chimera”) was required, I installed that over my Chameleon 2 RC5 build — this did not make the App Store error go away. I was using the required MacPro3,1 system definition in my smbios.plist file, but it turns out this wasn’t sufficient – I had a bunch of other stuff in there (including DRAM information) from my Chameleon 2 RC4 install that was causing the problem. I installed the tonymacx86-provided MacPro3,1 system definition (from Multibeast), which in fact is actually just a relatively spartan smbios.plist file. That seemed to do the trick. It’s not clear if Chimera was actually required after all, but from there on out it was smooth sailing. I installed using the steps here, which include copying the installation files and kexts such as fakesmc to an installation partition, blessing it for boot, and then booting the installation partition to continue the install. The only real hitch was that my sound driver (voodoohda) was out of date & was 32-bit only, and I had switched over to using the 64-bit kernel. So, I had no sound until I installed the new driver.

All told, it was actually a pretty smooth transition, as far as hackintosh operations go. My only real beef with the process is that the “Multibeast” installer is very opaque about what exactly it’s installing and where they go. For example, I have my boot loader on a separate partition from my system drive, and I then chain-load Mac OS from Chameleon/Chimera. The installer basically takes a volume as a target & emits the files to assumed locations, and it doesn’t tell you which files are getting written out. To hunt and peck through the process of getting only what I needed (and then manually updating my loader partition after the fact), I had Multibeast install its various pieces to a scratch volume (a USB stick, actually), and I tested the various pieces using a separate USB stick with my loader & basic kexts (ahci port injector, openhaltrestart, and voodoohda). Once that was stabilized & working with 10.6, I updated my loader partition for the 10.7 installation process.

In contrast to the quirky-but-functional hackintosh update experience, my Macbook Pro got hosed by the upgrade. I’m still not sure exactly what happened. My Macbook Pro contains a non-default hard drive (the previous one was too small), but I didn’t do anything crazy there — I initialized it using the Mac OS (10.6) installer several months ago when I installed the drive, installed Mac OS, reinstalled my applications, partitioned using Boot Camp, and installed Windows 7 on there as well. So I started the 10.7 installer/upgrade process, and midway through (after a reboot into the 2nd phase of the installer), I get “Mac OS X Lion couldn’t be installed, because the disk is damaged and can’t be repaired” (where is obviously the name of my 10.6 partition). It then told me to re-try the installation (which wasn’t very helpful, given that I was stuck in an installation loop booting back in to the 10.7 installer which wouldn’t complete). It also suggested I get the data off my hard drive and do a clean install. Brilliant! Various reports online attempted to attribute this to hardware failure – which is incorrect. I booted my 10.6 installation DVD and attempted to repair the volume – same issue. I reset PRAM – no luck. I checked for SMART errors – none. The only thing I can attribute this to is my non-factory hard drive on the machine, but it definitely isn’t failing. I booted Windows, copied the data off using the HFS+ driver that Boot Camp installs, booted the 10.7 installation DVD (which I made prior to attempting the installation, just for this sort of eventuality), erased my 10.6 partition, and then did a clean install. This worked, as did restoring my data. But it took many hours & brought me quite close to data-loss disaster. If I’d have had this experience prior to installing on the hackintosh, I don’t think I’d have attempted the hackintosh installation so soon (or at least, without backups in triplicate – admittedly, I operated somewhat without a net when doing the hackintosh update).

Anyway, those are my experiences with the update – all I can say is that I’m glad I at least didn’t lose my Windows partition as well, which I’ve read that others have experienced.

10.6.5 upgrade on my hackintosh – no problems

Thursday, November 11th, 2010

For those who sometimes follow the hackintosh scene, I thought I’d post an update that the upgrade to 10.6.5 via “Software Updates” went fine for me, without issue.  (My hackintosh build is described in this post).  There were some horror stories yesterday over at insanelymac.  These sort of underscore the increased risk associated with all these non-vanilla build methods that have been around for a while.  If you’re using a bunch of nonstandard kexts or (especially video) hardware that requires special tricks to get it to work, reliability seems really, really spotty.  I’ve been pleasantly surprised with the reliability of my build so far – let’s hope it keeps up.

Mac OS 10.6.4 upgrade: No Issues

Monday, June 21st, 2010

I find blog updates about most minor Mac OS updates to be mundane and unnecessary, but for those following the Mac-OS-on-generic-hardware scene, it’s useful to know how others with similar hardware fare with Mac OS updates.  I used the software-updates method (rather than the “combo update” mechanism some seem to prefer — that’s useful in configs different than mine).  There were no issues whatsoever.

10.6.3 update on Hackintosh – Success

Monday, March 29th, 2010

I updated my Hackintosh to 10.6.3 without issue today — I figured if I’d spent all that time & effort into making my machine “just work”, what was the point if I didn’t try updates?  (I have Windows as a reliable backup on another disk).  Anyway, it worked flawlessly — so, one anecdote in the “plus” column.

An Apple ad that will make you want to vomit

Tuesday, March 9th, 2010

The mac/pc ads were cute & funny.  This 8-minute long navel-gazing circlejerk just makes me want to punch these dudes in the junk.  If the iPad “exceeds your ability to understand”, that doesn’t make the device “magical” — it makes you an idiot.  Is this the Apple target market now?  Okay, maybe I’m the idiot for even asking that question.

Hackintosh – it’s alive!

Monday, March 8th, 2010

My Core i7 950-based Hackintosh is alive.  I’m using a Gigabyte GA-X58A-UD5 motherboard, a D-Link DWA-556 wireless card, and an nvidia GTX 260 video card.  To install, I used Empire EFI 1.85 r2 to bootstrap the retail 10.6 DVD, which I own.  I had to provide the “GraphicsEnabler=Y PciRoot=1” options to the Empire EFI loader to successfully boot the DVD.  Once installed, I used the Chameleon 2.0 rc4 boot loader from a USB stick (Chameleon cannot boot DVDs directly, or else I’d have tried that first) to boot my machine.  As to be expected, there were several caveats along the way.

First, I had to patch my dsdt (basically, BIOS-level device description table) to be compatible with Chameleon and other EFI-translation layers to provide EFI services to Mac OS.  I followed the general guidelines for similar Gigabyte boards here.  I used the intel “iasl” compiler with Ubuntu 9.10 on my machine to retrieve the BIOS’s regular dsdt, decompile it, edit, and recompile.  With my edited dsdt, I have native power-management functionality (rather than using a null driver that effectively makes your CPU run at maximum power-consumption levels all the time).  I also have many of my motherboard’s devices working, including Ethernet, USB, and obviously SATA.  Shutdown works with just my patched dsdt, but rebooting does not.  For that, i had to install a snow-leopard compatible version of the OpenHaltRestart driver.  For sound, I used the open-source voodoohda driver, which works just fine.  My graphics “just work” with the GraphicsEnabler=Y option, though switching resolutions in games does not seem to function as desired.  That said, I don’t really care, because I only ever use my display at native resolution.  My wireless card is identified as an Airport Extreme, as I was very careful to get one with the exact same Atheros chipset as those used in Macintosh hardware.  I use the fakesmc 2.5 driver to enable some platform devices necessary for booting MacOS, but other than the OpenHaltRestart and voodoohda drivers, everything else is vanilla, stock MacOS with no other modifications.  I updated to 10.6.2 without issue.

I did note, however, that Chameleon seems to default to attempting to boot the 64-bit version of the MacOS kernel on my hardware, which is nonsensical.  I had to force the 32-bit kernel in order to make my wireless card work, as Apple does not provide a 64-bit version of the driver.  I do not understand the fascination with the 64-bit kernel within the hackintosh community.  You’ll find lots of people bitching about a lack of a 64-bit driver for this, that, or the other.  As people who are actively modifying OS-level software — especially the MacOS kernel — the people writing the software, at least, should know that the 64-bit kernel buys you very little in terms of functionality on MacOS.  MacOS can address more than 4 GB of RAM using the 32-bit kernel via PAE.  Further, MacOS seamlessly supports 64-bit applications (as well as 32-bit applications) with large-RAM support on its 32-bit kernel.  No benchmark data shows any advantage on MacOS with a 64-bit kernel compared to a 32-bit kernel.  (Yes, there is overhead switching between modes of execution, so syscall-heavy code can suffer, which is why Xserves default to having the 64-bit kernel on. However, my desktop — even with heavy graphics-card use — does not show this to be an issue).  Attempting to default to the 32-bit kernel only reduces compatibility with drivers, for no actual normal-use benefit.

I’m using the F4 version of the BIOS for my motherboard, which is the newest.  I did have quite the scare with updating my BIOS, however.  I flashed it from a USB stick that I’d installed FreeDOS on.  The flash appeared to be successful, according to the program’s results, but upon reboot my motherboard appeared totally dead.  It wouldn’t give me anything on screen, it wouldn’t provide any beeps, and just seemed utterly dead.  The on-board boot status code LED indicated that it was constantly resetting itself, going back and forth between reset and initial memory tests.  I reseated my add-in cards, reseated my RAM, and still, the same result.  Finally I reset the BIOS variables (“CMOS” — an outdated misnomer if there ever was one), and thankfully it worked.  I was not looking forward to the prospect of returning a motherboard to newegg, but thankfully, it didn’t come to that.

Also, I’m glad I decided to go with the 950 rather than the 920 processor.  Apparently newegg got burned with a batch of counterfeit 920 processors last week, which is when mine would have arrived.

On the Windows front, I installed 64-bit Windows 7 (which I bought on sale at launch, knowing I’d need a copy anyway eventually) later, which went smoothly.  I disabled the annoying aspects of the hideously unusable menu-bar, basically making the menu function like Windows Vista (which I actually like).  It does have some minor improvements versus Windows Vista, particularly with simplified network configuration.  That said, it’s really just Windows Vista and an annoying menu bar.  Yes, the compatibility-mode feature (running Windows XP sp3 in a VM for a program) is a nice new addition, but for most users, this is not a big deal.  Most programs have been updated to run with Vista, and so Windows 7 benefits from the perception that “everything runs better”.  Actually, everything runs the same as it did with Windows Vista, now that developers (both 3rd-party and Microsoft) have finally updated most everything to stop doing nasty things like scribble on global, machine-wide registry variables.  Regarding multibooting, I used 2 separate drives for MacOS and for Windows.  Windows still cannot boot a gpt-partitioned drive, and I wanted to use native gpt partitioning for MacOS.  During Windows installation, I disconnected my MacOS drive (which I have since installed the Chameleon bootloader on to, obviating the need for a USB stick on each boot) to avoid Windows writing into the MBR of my MacOS drive.  After successfully installing, I reconnected my drive, and Chameleon can correctly select and boot Windows 7 just fine (though you do have to select the “System Reserved” partition to boot, which contains the Windows 7 boot loader).  I still need to install FreeBSD on this beast, but overall, I’m quite happy with the machine and with the software results.

Successful replacement of my Macbook Pro’s keyboard – some tips

Monday, March 1st, 2010

Last week, my wife left her (red, non-diet) soda next to my Macbook Pro on our kitchen counter, and the inevitable happened:  my 2-year-old son tossed something up on the counter and knocked the soda over right into the keyboard of my laptop.  (This is the third laptop-spill incident that my wife has been involved in — the previous 2 were on her Dell, which I’d fixed and replaced.  Here’s hoping she actually listens to me about not putting liquids next to laptops this time).  Fortunately, the laptop was still functional, though the keys were sticky and the “f” key in particular was completely nonfunctional.  I tried taking the key apart, cleaning underneath with rubbing alcohol, and replacing the key, but it didn’t work.  (As a side-note to all of you out there learning this the hard way, one thing you should do if this happens to you is to unplug it, remove the battery, turn it upside down with the display opened at a 90-degree angle after toweling it off, and let it dry out.  My wife toweled it off, but didn’t do any of the other stuff, risking electrical damage.  Thankfully that didn’t happen).

I ordered a replacement keyboard from  Despite the amateurish web design, the service was solid, and I received my keyboard (in new, not used, condition) in a well-packed box in just 3 days from the west coast.  I have a Core 2 Duo Macbook Pro (the late-2006 “Merom” edition, not the later “Santa Rosa” edition).  The guys at have a nice, detailed guide for replacing such a keyboard.  I’ve used their guides before for replacing my hard drive.  I like that they have large, clear pictures for each step, and that they effectively highlight where the screws are.

Now, this is not for the faint of heart.  Obviously I’ve done this a few times (including with my old G4 powerbook, which was easier to muck with).  If you endeavor upon such a thing, you’ll want to make sure you have separate containers for the screws from each step, so that when you put it back together, you’re not wondering which parts go where.  (I used baby-food cups).  I will say that though ifixit’s guide got me most of the way there, there were a few minor issues with their instructions.

Specifically, step 9 is troublingly sparse on detail about how exactly to get the upper case free from the front of the case (near the optical drive).  They mention “rocking it back and forth”.  This is totally, completely insufficient.  There are 3 or 4 HARD LOCKING SNAPS in place in this portion of the case.  After lifting up the back portion of the case (which is screwed tight, after you’ve removed the screws) as described in the ifixit guide, you really, really have to pry this sucker open.  The first time I did it, it took a long time.  I thought it should come apart rather naturally given the instructions, but you have to apply quite a bit more force than is indicated in the guide.  I honestly thought I was going to break it until it snapped apart, and everything was fine.

The other issue I have is ifixit’s pithy “follow these instructions in reverse order” reassembly instructions.  Seriously, that’s all they give you.  Sure, that’s sufficient to get the cables reconnected & screws back in place, but it tells you NOTHING about how to properly mount and install the keyboard.  I had to assemble/unassemble/reassemble 3 more times before I got the keyboard sitting just right (not bowing).  Also, the first time I screwed the keyboard back in place, I had forgotten to thread the backlight connector down through the tiny hole where it attaches.  Regarding the proper mounting, one issue is that there are tabs on the back/top of either side of the keyboard that must be pushed fairly far into place to prevent upward “bowing” of the keyboard (ie, keys sticking up at an angle).  It’s entirely possible to get the tabs into the proper slot, but for the keyboard to still bow up after reassembly — you’ll need to take it apart & then push the tabs further into place (mine had a bit of a “click” when they got all the way in — but I did have to force it).  The other issue is that the “tabs” (which are really sharp pointed needles of metal rather than what one might think of as a “tab”) at the top of the keyboard have to be carefully aligned and pulled into place to get the keyboard taught and satisfactorily installed.  (Unless you like bleeding, you’ll need needlenose pliers.  This is not listed as a “required material” in the guide.  Sure, I have them, but it’s a small nit about the guide itself).

One last thing you might want to consider when doing this is a can of compressed air for cleaning out the insides while you’re in there.  Mine was fairly clean, but it doesn’t hurt to blow out the dust, since excessive dust buildup can lead to static discharges and shorts.  Anyway, my keyboard is literally as good as new now.  Hopefully the extra tips here will help out someone else in a similar situation.

Hackintosh attempt: begun

Wednesday, February 24th, 2010

I’ve really wanted to buy a new Mac Pro. Really. I have the money. I could afford one if I wanted. (That said, I don’t like wasting money… who does?) I appreciate Apple’s attention to design and, normally, functionality. However, Apple has completely screwed around since the Intel changeover on their “Pro” line of computers. It’s late February. Nearly one year since the release of the beleaguered i7 Mac Pros. I cannot justify spending $3850 for the same hardware I can build myself for $1800. I just can’t.

So, I’m willing to cut the cord from Apple. I’ve ordered a “hackintosh”-compatible Gigabyte X58 motherboard, i7 950 processor, and corresponding peripherals, and hopefully it’ll actually work with the Chameleon bootloader. I’ll post back here if it does. (I bought a family pack of OS X 10.5 *and* the Snow Leopard upgrade, so I’m mostly covered on the licensing front… except for the obnoxious “Apple-branding” clause of the EULA).

The objective of this project is to get as close to an unmodified, retail build of MacOS as possible. We’ll see if it happens, but frankly, I’ll live if it doesn’t work out. I’ll just use FreeBSD and Windows (for gaming), if all else fails. Apple has pretty much turned their back on “Pro” developers like me. Updating their Pro line of hardware (and pricing) once every 16-18 months, given Intel’s update cycle, is pretentious and obnoxious. Worse, Apple is obviously more concerned with the faux-mobile computing market of the “iPad” (read: iPod Touch Maximum Edition) than they are with making reliable, high-performance computers anymore. Read the horror stories with the 27″ iMac sometime — good luck convincing me that Apple gives a shit about computers anymore. Or, the fact that they took a year to fix a serious performance problem with their i7 Mac Pros. Or, that they capriciously provide nonstandard power connectors for video cards just to throw up an obnoxious obstacle against modularly upgrading (software still required anyway!) the ALLEGEDLY MODULARLY UPGRADEABLE MAC PRO!

So, to hell with Apple. I’ll try hackintoshin’ it, and I’ll see what happens. But if it doesn’t work out, I’ll live. And I know, I know, Apple doesn’t give a crap about losing a sale from someone like me, despite the 3 Apple computers and 4 iPods in my household. I get it. They don’t give a shit. The feeling is mutual.