For easy reference: How to mount a Chameleon EFI volume

I recently decided to use Carbon Copy Cloner to move the SnowFalcor partition (OS X 10.6.3) I've been using for the past few weeks, onto the fastest of my hard drives. However, that means changing the default boot partition in the com.apple.Boot.plist file on the hidden EFI partition of the drive I boot with. But it having been a good while since I've had to mess with this stuff (and that's a freaking wonderful thing, lemme tells ya :), I had forgotten how to do that. So, from Terminal:

sudo -s
mkdir /Volumes/EFI
mount_hfs /dev/diskXs1 /Volumes/EFI

Then either edit or create the following key-and-string pair:

<key>Default Partition</key>
<string>hd(x,y)</string>

Use the command diskutil list to see what your volumes' identifiers are, and replace x to be the disk number and 'y' to be the volume number (e.g., for a volume labeled disk0s1, x would be 0 and y would be 1).

Don't forget to unmount the EFI volume before rebooting, otherwise it can cause problems later on. To unmount, run this command in Terminal:

sudo umount /Volumes/EFI

Best Hackintosh Build 2010

But I can't help but wonder what kind of build I would have at the moment, if the whole hackintosh thing had even occurred to me a few months ago. Anyway, a search for "best hackintosh build" quickly yielded a respectful, yet sincere and straight-forward, clearly articulated question as to what exactly you should get in order to have a kickass OSx86 in twentyten. And it goes something like this:

Motherboard: "Pretty much all Gigabyte GA-P55-UDx, says mdnz01, who reports running a GA-P55-UD3—presumably something like this one, which is $150 - $15 rebate & free shipping on Newegg. Indeed, they have a whole page of the GA-P55 models by Gigabyte (actually, on a side note, I think their trademark is actually all caps: 'GIGABYTE'... I just thought that was interesting... I guess they have to do something, right?)

So personally, I've got the Yorkfield Q9550 which is a Core 2 Quad running at 2.83gHz. I bought it in August of '09 for $219 on Newegg, and it feels pretty good to look on there this morning and see that, not only is it still for sale—not discontinued or anything—but it's actually more expensive! I got it on sale almost 9 months ago and today it would have cost me 50 bucks more. Cool.

And then, it would seem that it's the same price as an i7 Bloomfield, which at 2.66 actually has a  slower clockspeed. Apples and oranges, to be sure, but considering the currently overinflated prices for i7-compatible mobos and DD3 memory, I think I did okay, even if I'd done it today :)

So, I probably would have gotten something like the GA-EP45-UD3L. Why are they so much cheaper? I could not find a GIGABYTE mobo for my processor that was $100. I guess it does seem to have less ports, but I'm still not exactly sure where my extra $40-50 was going in my Asus P5Q PRO TURBO (they went the other way around and made the model all caps. I'm sleep deprived enough that these trademarks are a little startling as I type them out! ...ask yourself: should you continue reading the words of someone in such a mental state?? :P)

And finally, the graphics card. The Achilles' heel. The supreme caveat. The weakest link (just in terms of compatibility in OSx86-land. My SAPPHIRE Vapor-X Radeon HD 4870 1GB. On this install it's working great—QE/CI, OpenGL... I guess I still need to confirm that OpenCL works. I think it will, but the question will be just how well?

As I think this, I jump over to some threads discussing benchmark results using OpenCL Benchmark for Mac. Looks like the luckiest contestant over on this thread from the Aussie MacTalk forum is user dangelovich, whose benchmark tests took less than one second on his 8800GT, whereas other people—those that were lucky enough to even have the OpenCL capability ranged from 2-5 seconds on the average.

...oookay. Let's see how mine does:



VoodooHDA.kext in /Extra/Extensions = :-(

While attempting to reboot after installing VoodooHDA in /E/E didn't work. Watching the boot in -v mode, it started to print very slowly, while talking about VoodooHDA. Then I remembered this forum thread:

http://forum.voodooprojects.org/index.php?topic=399.0

Other kexts that don't do well in /E/E are:
   - lspcidrv.kext
   - Natit.kext
   - VoodooBattery.kext
   - VoodooHDA.kext
   - VoodooPower.kext
   - VoodooPS2Controller.kext
   - ClamshellDisplay.kext



...HOURS LATER: I just ditched the Ron's blog kexts after all, and simply installed the VoodooHDA.kext on iPortable here:
/Hackintosh tools/Snow Drivers/Intel HDA Audio driver/VooDooHDA 2.5.3 Snow Leopard/VoodooHDA.kext



Before reboot, I ran Kext Helper. Rebooted with -v and sound works!

iPortable + Chameleon 2.0 RC4 r684 = Blue Screen

So yeah... no go on booting without the Kingston at the moment. However, I imagine that I'll be able to boot Windows from that now.

Unforunately, I don't know what versions they used (the creator(s) of iPortable, so it's hard to say what exactly isn't working. I did try to copy the boot file from one of the images, to see if that would be enough, but I got the same result.

Booting again from the iPortable USB and all is fine.

So, I have actually decided not to use all those "Ron's blog" kexts. Graphics is working wonderfully, with QE/CI/OpenGL, and I also already have networking. I have already been using file sharing and screen sharing, with no noticeable hiccups of any kind. So I have decided to only install VoodooHDA.kext, since I do still need a sound fix.

Furthermore, I'm going to try to install that kext to /E/E instead of /S/L/E, so as to try and keep the mods separate.

So I did that in terminal by copying the kext to /E/E using 'sudo cp -r' (the -r option means 'recursive', and this is needed here because Terminal can see that the kext is really just a folder.

Here I go!

Graphics Enabled!

After returning the graphics kexts to /S/L/E (see the last post), and repairing kext permissions as well as making the plist edits, rebooted with nothing except -v in case anything happened.

I tested Quartz by trying to place a dashboard widget. If you see the ripple effect when you drop the widget into place, then you have Quartz enabled. The "Chess" test is not so reliable, as I have found that I was still able to run it.

I also successfully tested video playback using VLC. Definitely have graphics accelleration. 1080p playback on the 1280x800 monitor was smooth and flawless.

Expose is smoother than on the Macbook, which—provided that graphics accelleration is actually working—is to be expected when this machine has a Radeon HD 4870 1024MB and my Macbook has the Intel GMA 950.

I've created a fresh backup with Carbon Copy Cloner (hereafter referred to as 'CCC') and saved it to an HFS+ partition on my 1.5TB drive, my Windows 7 drive, which I'm not planning on messing with any more, other than to save my backup images.

However, I have two 2.5" SATA drives, both previous drives from my Macbook. Having cleared all important data off of one, I went ahead and reformatted it, using a MBR table, and creating a 20GB partition at the beginning of the disk. I then restored the image I just made with my graphics accelleration working.

But also, since this is a fresh disc, I wanted to go ahead and try to get Chameleon working if possible, so I can remove the Kingston iPortable USB drive from this process. Even the minuscule bootloader is obviously loading slower than usual!

So here's how I did that:

  1. Formatted the disk with a MBR (see earlier posts)
  2. Downloaded Chameleon-2.0-RC4-r684-bin from http://chameleon.osx86.hu
  3. Used the instructions in the "doc" folder to install from terminal. You'll want to run "diskutil list" from the command line to see what the BSD name of your disk is. If you booted OS X from the same volume you want to install Chameleon on, then it will probably be disk0, but do check for yourself!

So now I will restart from the restored image, and see if I can boot without the USB drive.

So cool to see that it worked on the first try! (minus the kernel panic, I guess :)

Fine-Tuning Methodology

I just ran the first successful boot of a volume restored from an image. This was without any flag at boot (except for '-v', just because I wanted to see what was going on, but nothing to change what was happening).

I used Carbon Copy Cloner 3.3 this time, as opposed to the first time, when I used CopyCat, which is the same app used in the guide.

The main reason I switched to Carbon Copy is because it has an incremental backup option. This will be valuable, as I will likely want to do new backups every time I am about to do something even remotely risky.

Also I really don't like CopyCat's interface. It deviates from the natural OS X style in bad ways. For example, say you want to cancel the current action. So you click 'Cancel'. Then it asks you if you're sure, but the buttons provided are "OK' and "Cancel", which is confusing. What if I click "Cancel" at this point? Will it think I mean "Yes, I'm sure. Cancel!" or "No, I'm not sure. Cancel the 'Cancel'". Worse yet, what if clicking 'Cancel' in the first place was an accident? What if continuing with the cancellation is going to cause damage? Epic design fail on the part of SubRosaSoft.

Don't deviate from what the masters of interface design do, for gods sakes, unless you plan on doing it even better ;)

And now that I'm done with that little rant, here's how I'll proceed in terms of adjustments and backups:


  1. First, I'll do an incremental backup to save the few adjustments I've done so far.
  2. Follow the instructions in /Hackintosh tools/Snow Drivers/Video Drivers. Here are those instructions, which I've cleaned up a little bit (mispellings and minor formatting issues). The highlights and italics indicate my notes regarding my specific build:
    1. Remove framebufferdisabler.kext from /Extra/Extensions/.. and System/Library/Extensions.. folders In case you were wondering: I didn't see this kext in the S/L/E folder, either
    2. Unzip RemovedGraphicsKexts.zip and move all .kept .kext files to /System/Library/Extensions Note: corrected misspelling on "kext", which really threw me off the first time! ALSO, MOVE ONLY THE KEXTS, NOT THE FOLDER WITH THE KEXTS IN IT.

      SO, QUICK NOTE HERE: I've actually had issues with this method a couple of times. I had forgotten about the first time this happened, actually.
      OS X doesn't always like it when you're just moving moving kexts into its /S/L/E (I'll just point out one last time: that's just shorthand for the /System/Library/Extensions). After about 20 seconds, it started giving me alert windows for a lot of the kexts (maybe all of them), saying that it couldn't use them. Then, as I was trying to run Kext Utility, hoping to fix the issues (mainly permissions issues, from what I understand, and ownership), I got a kernel panic.
      Also—not at all to my surprise—it panicked again when I tried to reboot, since the kexts are still in there and I wasn't able to do anything before had hung.

      So I hope this doesn't happen to you, but if it does happen, do the following steps and you're done (meaning, this is a replacement for steps 3-8):
      1. Reset the crashed computer and at the Chameleon boot screen use "-v -x -s" to boot in    safe mode (-v does that) with command line only (-s stands for 'single-user mode')
      2. Enter the following command to mount the drive so you can go in and do stuff:

        /sbin/mount -uw /
      3. Run the script called 'pfix (snow)'. The command looks gnarly because all of the spaces and some characters have to have a backslash in front of them for the command line to accept them. This is called 'escape characters', because you are bypassing—escaping out of—the default meaning these characters have in the shell environment's syntax. So these commands go to the directory where the script is, then run the script. You can use that Tab key technique; it'll always save a lot of time.

        cd /Applications/OSx86Tools/Repair\ \&\ Set\ Permissions\ scripts/
        ./pfix\ \(snow\)

        QUICK NOTE: the 'sudo' command isn't necessary here, because in this mode we are already using the root account, which is the 'superuser' ('sudo' actually stands for "superuser do", not 'pseudo', as some knucklehead had once told me XD). So FYI, if you use this script in Terminal while you're logged in as yourself, you need to use sudo.
      4. Now we're going to go ahead and use nano to edit the plist from here. Again, normally you would use sudo in front of the command below:









        nano /Extra/com.apple.Boot.plist
      5. Go ahead and change "chocolate_kernel" to "mach_kernel", which my Core 2 Quad (the Q9550) runs just fine.
      6. Change "arch=i386" to "arch=x86_64" in the 'Kernel Flags' entry.
      7. I assume here that you already changed "PciRoot=1" to "PciRoot=0" per my other post regarding editing plist files. If you haven't done that, do that, unless 1 works for you.
      8. Add a new key + string pair to use the graphics enabler:

        <key>GraphicsEnabler<\key>
        <string>y</string>

      9. Press Control-X (as shown on the bottom of the interface in nano) to exit. It will want you to choose whether you want to save your changes, and also to confirm what filename to use. So you press 'y' first, and then just enter since we want to save to the same filename we opened.

    3. Repair permissions with Kext Utility.
    4. Remove com.apple.Boot.plist from /Extra folder on root partition.
    5. Replace with /Hackintosh tools/Snow Drivers/com.apple.Boot.plist
    6. You may have to remove also bootflag: arch=i386 from com.apple.boot.plist in extra folder... 
    7. If this fails to work initially try changing "PciRoot=1" to "PciRoot=0" in the com.apple.Boot.plist
    8. reboot
  3. Assuming reboot is successful create another incremental backup. Keep in mind that you should save the backup to another drive. For two reasons:
    1. If the drive in question fails, you don't want the backup to be lost, too.
    2. Backup goes a lot faster if the backup utility can read from one drive while it writes to the other.
  4. Proceed with P5Q specific kexts, per the guide here:
    http://rgwoehr.wordpress.com/2010/01/30/hackintosh-p5q-pro-turbo/
    Downloading the kexts at the end of the post was kind of a pain, so here they are in one .zip file:
    http://www.mediafire.com/?timfnmzmwnb
  5. Assuming reboot is successful, run another incremental backup.

First edit to apple.com.Boot.plist

For the first edits to the version that comes with the iPortable USB image, I changed the following (highlighted stuff).






EthernetBuiltIn
y
Graphics Mode
1280x800x32
Kernel
chocolate_kernel
Kernel Flags
arch=i386 PciRoot=0
Timeout
5




So basically I just changed the "Graphics Mode" to match the screen I currently have connected to the machine, but most importantly, I added "PciRoot=0", to match my configuration.

I will test the use of the vanilla kernel, 'mach_kernel', which I have not seemed to have a problem with. It is suggested to use it unless your processor is not supported. Also, I'm going to go ahead and change the architecture to x86/64 by replacing "arch=i386" (32-bit), to "arch=x86_64".

A replacement .plist is included here:

/Hackintosh tools/Snow Drivers/Video Drivers/Removed Video Kexts/com.apple.Boot.plist
However, I'm not going to use that one. It would be nice if you could simply edit the .plist from where it is located, but you have to use the 'sudo' command from terminal in order to do that. Therefore, I just use the nano text editor which is available from the terminal. Just enter "sudo nano" and the path.


For example:

  1. Open Terminal
  2. Type 'sudo nano' and a space
  3. Enter a forwardslash (the one next to the right-side Shift key on an ANSI US keyboard and an uppercase 'E'. Now, you should be able to press tab, which tells Terminal that you want it to guess what the rest of the path is, based on what you typed so far, against the possible paths. Since we know that so far, there is only one directory in the root that starts with an upper-case E, it will finish it for you.
  4. Enter another forwardslash, and another 'c' or 'co' should do it. Hit tab again and it'll finish the whole pathname for the .plist file. If so, press Enter.
  5. You'll be asked for the root password, which is the same as your password in OS X. If you run this command again right after this session, it might not even ask you again. But if you wait too long or close Terminal and open a new session later, it will once again make sure you have permission to do this.
Otherwise, just copy the .plist to the Desktop, use the Property List Editor included with iPortable, and then drag it back to /Extra, and Finder will ask you for your password. Same result either way.

Okay, graphics!

A Volley of Folly with the Target Drive: GUID and MBR

After a series of Hackintosh faux pas regarding proper case-based usage of MBR vs the traditional GUID partition table, I ended up making a huge mess and almost losing hundreds of gigs of video tutorials and music/iTunes purchases that I amassed over a long time (and/or week after week of slow downloading of Maya video tutorial torrents from a tenacious 3G connection in the highlands of Central America).

BUT... crises were averted, thanks to iPartition, Disk Utility, Disk Warrior, good ol' Testdisk, definitely!

If not for the fact that Testdisk let's you manually enter the first and last sectors of partitions that just seems to go *poof* out of existence, and the happy coincidental screenshot I had taken of the 'Partition Table' view in iPartition, All that stuff would have been gone. Check it out, it's really cool:


I am seriously rethinking my lack of any kind of sound, proper backup strategy. As a lifelong procrastinator, it may be time to learn to try to think ahead. Backups are not at all something that you can do at the last minute.

However, to actually be able to use the figures above, I had to do some, perhaps long overdue disambiguation of some of the basics regarding hard drive file systems. For example, although iPartition let's you switch between blocks, bytes, megabytes, gigabytes, terabytes (maybe petabytes too?), as well as multiples of 10, 100 and so on of all of those units, the fact remained that I took the screenshots without messing with it, so it was set to the default unit, blocks.

So it all started while I was trying to use iPartition to move these partitions around to make room for a 20GB partition at the beginning of the disk, where I wanted to put the image I made of the iPortable Snow USB image, and give it a chance to stretch out over 20GB instead of just the 8GB on the Kingston Datatraveler USB drive. God that thing is slow! I don't know what is wrong with it, but I bet if I format it back to FAT16 it'll be happier again. That has to be it. Although I have this 256MB USB drive I got for free as a gift when I was a freshman in college, which I formatted to ext3 in order to make it into a Puppy Linux 4 Live USB, and it works more like one would expect (like an old low-end consumer grade hard-drive, I guess is what I mean. Totally bearable for something like Puppy Linux).

ALSO.... *feeling like I have to do that thing now that Ace Ventura does, where he's just finished explaining a so much stuff without taking a breath that he must then spastically inhale to get his breath (except, did I really explain anything?? ;P ...hope you're finding some entertainment value in this at least, by the way).

So yeah, also, I haf previously formatted this disk in Disk Utility as HFS+, but using the MBR partition table option, as seen here:


Nevermind that hardware btw—I got this screenshot of the web and annotated it. At this point folks, I wouldn't have been surprised if I accidentally formatted my actual Macbook partition trying to take a stupid screenshot! :)

Then, for whatever reason (I don't remember anymore), I used iPartition to change the partition table style to GUID (probably in an effort to make some other partition compatible with the Snow Leopard retail image. There does exist a method where you use an altered OSInstall.mpkg in the image to get around that, but iPartition made it so easy to go the other way... but it didn't work in the end anyway.

All along, being my second-largest storage device, I was stashing some data that was (and still is) pretty valuable to me, so I was unintentionally half-assing things, most likely due to my preoccupation with the precarious placement of my partitions. Geeze! Where's Daffy Duck when you need him?! :D

...haven't slept in a couple of days.

So, salvaged the data, mostly with Testdisk and a handy screenshot. Meanwhile the restored image of iPortable is running, and it's about 10 times fast running on the 2.5" WD 500GB drive, on that 20GB partition at the beginning like I mentioned above. Even at 5400 rpms, it runs circles around the Kingston Datatraveler, poor thing. I'm sure it's just not properly configured at the moment.

After recovering my media data partitions with Testdisk and using Disk Warrior to clean up afterwards, I used the 'iPortable Boot Fix' on the 'First Aid' image that comes with iPortable.

However, I haven't completely cleaned up my mess on the WD, since I am getting a 'boot1 failed' error at the moment. Using the Kingston to boot and then manually selecting the cloned iPortable partition works just fine, and again, it boots much quicker this way. Cloning over to the hard drive was definitely a big time saver. Making a huge freaking mess on said hard drive was not a time saver, unfortunately!

Being booted back into the partition, I resisted the urge to dive into the hardware-enabling 'punch list'. However, I did go ahead and edit the Boot.plist file. On iPortable it resides in the /Extra folder, and, trying to prepare myself for someday achieving a vanilla installation (not hacking the Apple system folders, but rather just setting up the communication with the PC's BIOS and hardware in a more external, non-invasive way, outside of their (Apple's) directory structure.

I mean, wouldn't it be cool if you could theoretically pop this hard drive out of the Hackintosh and into your Macbook, install an update or whatever it is that you want to do that would be impossible or more difficult on the PC hardware?

Anyway, back to the present task: Reboot again, and try and address the issue of the boot1 error. I have put a few hours worth of time configuring the environment already, though—installing apps and utilities, tweaking the environment the way I like it (skipping the Migration Assistant this time)—so I will most like so another image before I do anything remotely risky.

I'm thinking that it may be necessary to install the bootloader manually. I have not kept very good track of which versions of Chameleon and PC EFI have worked best for my hardware, but I will make sure to do so this time around.

I used the included CopyCat utility to make the backup image, as well as to restore that image. However, I make use SuperDuper! or Carbon Copy this time in order to take advantage of the incremental backup features of those programs (I don't think CopyCat has incremental backup). Since I'll be taking lots of 'snapshots' in order to avoid losing progress, it'll be a great time saver if the backup utility knows how to save only the data which I've altered, once it has the 'first' image.

A word on the "-v" nature of these blog entries... lol. I am not anywhere near as experienced as some of the wizards in the OSx86 game. These people that develop and maintain the Chameleon project, Netkas over there on the other side of the planet with his bootloading ninjitsu and his supernatural smc fakeouts (hrmf... sounds like a sports video game). I'm just a layperson. A noob standing on the shoulders of giants, trying to make a mangy mutt purr like a kitten. For shits and giggles.

So I figure that the best I can hope to do is try to chronicle what it is like for a regular person, not so much a whiz as just one of those "power user"-type guys, is able to acheive in such perilous realms, even when the hard core folks have done so much to bring us to the threshold of a paradigm shift in the personal computing ecosystem. Crazy stuff! "Dogs and cats living together! MASS HYSTERIA!"

(again, remember: Sleep deprived.)

It turned out that the disk's blocks (which is a term often used interchangeably with 'sectors', sometimes correctly, other times not so much, but mostly it means the same thing, when talking about the disk as a whole) were 512kb each in size, and so equipped with that fact and the numbers above, I was able to manually

Windows 7 is a Spoiled Brat

So. Apparently, Windows 7 is one of those spoiled fat rich kids that doesn't know how to act when he's at another kid's house, and that kid is happily sharing his toys with him. Cause he still insists on being the boss of playtime, and acting like all the toys still belong to him...

...Ugghhh!

DSDT Patcher GUI, Reboot, Image

Run DSDT Patcher GUI, turn on "Force Compile", "New HPET Option", and "Apply DSDT Patch to:" the iPortable USB drive, which is your main volume right now.

Run the permissions repair script at:
/Applications/OSx86Tools/Repair\ \&\ Set\ Permissions\ scripts/pfix\ \(snow\)

It looks weird because of all the backslashes needed to precede all the spaces and parentheses.

Actually, running the pfix script is for when you're not able to get all the way into the OS GUI. But no harm done. I'll go ahead and do it again the GUI way: with "Kext Utility" (in /Applications/OSX86 Apps)

-- Kext Utility x64 for MAC OS X --
v2.4.2 © cVad 2009.
- Repairer kexts permissions -
- mkext Packer/UnPacker -
- kexts Installer -
www.applelife.ru
www.torrentmac.ru


ProductName : Mac OS X ProductVersion: 10.6.2 BuildVersion: 10C540
Bootargs : boot-uuid=CBA32637-213B-3748-BAB7-B917E541B79B rd=*uuid arch=i386 -v -f -x PciRoot=0
Kernel : Darwin Kernel Version 10.0.0: Mon Oct 12 04:06:05 AST 2009
Model ID : MacPro3,1 KernelMode: i386
CPU TYPE : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
Core : 3000MHz Bus: 333MHz FSB: 1332MHz
CPU ID : Ox1067A (67194) Cache L2: 6Mb
RAM : 4096Mb HibernateMode: 0
SwapUsage : total = 64.00M used = 0.00M free = 64.00M
User : salvin on Falcor.local


Start working: Wed Apr 21 01:38:23 EDT 2010
Detected ... MAC OS X "Snow Leopard".


Task: Full service for "/System/Library/Extensions"
and "/Extra/Extensions" folders.


Repair Permissions for "/System/Library/Extensions" ............... Done.
-- Total processed: 4847 files (322 kexts) for 42 sec.


Updating "Snow Leopard" system caches ......... Done.
-- Build time = 13sec.


Search "/Extra/Extensions/" folder ... Found.


Task: Pack "/Extra/Extensions"
to "/Extra/Extensions.mkext"


Repair Permissions for "/Extra/Extensions" .... Done.
-- Total processed: 463 files (40 kexts) for 3 sec.


BackUp "Extensions.mkext" to "Extensions.bak.mkext" ... Done.


Found i386 (arch) only kext(s).
Packing i386 (arch) "Extensions.mkext" ... Done.
-- Build time = 0 sec.


Repair "Extensions.mkext" permission ... Done.


Syncing disk cache ... Done.


All done.
Have a nice ... day(night)
Enjoy ...

Then reboot (and cross your fingers!)

And it hung on the first try. Could have been a couple of things, including the fact that I didn't have a keyboard plugged in, but there's no way of really knowing since I also didn't select the -v (verbose) option.

Tried again, explicitly picked the iPortable volume to boot from by moving over to another volume with the arrow keys and then back to iPortable. Boot flags were as follows:

boot: -v PciRoot=0

NOTE: The iPortable comes configured with PciRoot set to 1 in the Boot.plist file, but it still boots since we start out in safe mode. I will rectify to Boot.plist settings next. However, in the interest of keeping track of working states, I will go ahead and do the image first.
I've decided to shut down iPortable and put the USB drive into my Macbook, where I can take advantage of iPortable not having to make an exact copy of itself while it's running as the main volume. It should be easier that way. Also, It will be easier to save the resulting image on the Macbook's drive.

You don't want to try to save a backup image of an Mac partition that is formatted to, say, HFS+, onto an NTFS (Windows) volume. You will have all kinds of issues.

Okay, so I've got Falcor booted back up in my reactivated Windows 7 drive. I will turn in for the night, but probably get the image backup going first, so that I can see about clearing up a partition on one of the volumes for this image.

Since I have three different SATA drives, it occurs to me to use the two 2.5" drives as a RAID 0 array. both drives are 5400 rpm, which is fairly slow. Together as a RAID 0 array, they could probably feel like a 10,000 rpm drive, which would be a LOT nicer, especially when compiling in Xcode and using Yep or searching in Spotlight. But I will definitely worry about getting the hardware kinks out first before migrating to such a setup.

First boot in iPortable

I decided a few weeks back to take all of my Macbook's older hard drives and install them in Falcor. FYI, you can do that. A notebook 2.5" SATA drive has the same data and power connections, and your power supply is supposed to be able to detect if your SATA drive wants 12 volts (as the 3.5" ones will) or just 5 volts (as the 2.5" notebook varieties will). Definitely, absolutely, without exception!!! CONSULT. YOUR. POWER SUPPLY. DOCUMENTATION. You don't want to accidentally fry a perfectly good SATA drive.

I ended up disabling the big hard drive in the BIOS, so that iPortable wouldn't be confused by all the booting options. I don't know if that was necessary, but I do know that it took a crapload of configuration to finally get iPortable to boot (I don't recall it being so problematic the first time).

A few recollections of things I did in the BIOS

FIRST OF ALL: I am using a modified P5Q PRO TURBO firmware. I'll post an update with the name of the firmware image and where to get it


I enabled ACPI 2.0 support and AHCI


Removed the Windows drive as a boot option, and disabled that SATA port entirely, actually (payback for it being so picky about having other bootable partitions around when I was reinstalling Windows 7. I actually had to unplug and/or disable all the other bootable SATA drives!)


Setting the front audio mode to AC97 instead HD Audio seems to help.

Also, I had been plugging the USB drive into a conveniently place USB 2.0 hub on my desk, but it kept hanging during startup, and when I tried on the USB ports on the front of my tower, it worked right away.

The boot flags I used when it finally worked were:

boot: -v -f -x PciRoot=0

So here I go, gonna try a fresh installation of iPortable (hopefully the last one). This is Snow Leopard 10.6.2. Once you've followed the included instructions and you've restored the image to your USB drive and made sure it's bootable, you'll basically have a SL install similar to what you have when you install the regular way, after the DVD is done copying its files to the hard drive, and after it reboots itself. To save space, this image doesn't include the super-cool opening credits (oh Apple! You had to have opening credits on your OS. Of course, right? :)

So we will blow through the setup, skip the registration and migration assistant (Oh god... do NOT do the Migration Assistant at this stage, on the USB drive there will not only not be enough space if you want to migrate your stuff from another OS X installlation, but it will take hours upon hours, if you are copying files and media and apps and what not).

First and foremost, let's get everything configured correctly. We want the following hardware functionality:

  1. Networking - works OOTB (out of the box) for me
  2. Sound, and then... hopefully...
  3. Full graphics accelleration with QE/CI/OpenGL

    I don't need to be able to play Half Life 2 (though theoretically, I certainly freakin should be able to!). I just want to be able to watch videos up to 1080p with HDMI, either from directly from the HDMI port or using a DVI-to-HDMI adapter (my HP monitor only has HDMI and VGA). Cover flow and Front row would really be nice, too. It's supposed to be the equivalent of a $2,700 Mac Pro, dammit! So yes, it would be nice to have hardware accelleration on interface animations like Exposé, and to be able to use desktop apps like Bumptop 3d :D
But first things first. On the very first boot of iPortable, you need to run the DSDT GUI app per the instructions (again, really great instructions, so I'm not going to bother repeating all that stuff).

After that, I'm going to reboot and go ahead and make an image of the installation (probably going to use Chronosync, or possibly one of the apps included in iPortable). Once we're running on a hard drive, things will run a lot faster.

the "iPortable Snow" 10.6.2 Bootable ISO

So here we go. My first actual "native install"—by "native" I simply mean to say 'not in a virtual machine'.

It was in no small part thanks to a wonderfully compact, well accessorized USB image called "iPortable Snow OSx86 10.6.2 Bootable USB image" which can be found on several popular BitTorrent trackers by searching with your good buddy, Google.

You need:

  1. The iPortable USB image mentioned above.
  2. A USB flash drive. Get one that is at least 8GB if you want to make your life easy!
NOTE: Don't just go for the cheapest 8GB flash drive you can find at Fry's! I made that mistake, and realized that some Flash drives are waaaaaaaay sloooooooweeeeeerrr that other more expensive models. The Kingston Datatraveler 8GB I got for about $20 is really slow when booting iPortable. Anyway, it'll work, and the idea is to start on the USB drive and then clone the installation over to a proper hard drive partition, which can be done with the tools provided in the iPortable image, or you can go find a copy of SuperDuper! Chronosync, Carbon Copy, etc.

The instruction manual that comes inside the image is a thorough, well-illustrated, relatively newbie-friendly PDF.

Warning #1: You'll want to have access to OS X to get ready! iPortable is a .dmg, so you are going to want to have access to at least Tiger, so you can use Disk Utility to format and configure a USB drive to which you will restore the iPortable .dmg. After you have done this (like I said, you'll need Disk Utility on a Mac or a stable enough Hackintosh, and all the other apps and resources will be on the iPortable .dmg)

And here's Warning #2: if you are the type of person that abhors having to ever open Terminal, then you are going to be fighting an uphill battle at best, and most probably will find yourself stuck at some point. If this happens to you and you can afford it, try going on a Hackintosh forum that has a section for posting a 'bounty', that is, naming a price you will pay for anyone that can solve that problem you're up against.

That having all been said, I'm going to take it down a notch and just make notes of my progress this time around.

First Success: Snowy VM VMWare method in Windows 7 64-bit

The very first experience of having a respectable, usable installation of Snow Leopard on Falcor was with a virtual machine, using VMWare Workstation 7, 32-bit edition, on Windows 7 Ultimate x64.

It was pretty straight forward, and all I had to do was round up a copy of the so-called 'Golden Master' (i.e. a .dmg image of the retail Snow Leopard 10.6.0 (or 10.6.1, as of this writing I am clear on 10.6.2 and 10.6.3, but not as to whether there are a .0 as well as a .1 and if so, what the differences between them are). And the files which are provided in this tutorial.

With the help of a few kexts (short for Kernel Extensions) and a version of VMWare Tools meant for Snow Leopard Server, I was able to set up a virtual Snow Leopard machine with networking, sound, graphics including QE (Quartz Extreme, responsible for things like the ripple effects when you put a new widget on your dashboard, as well as other things like Front Row and Cover Flow), CI (Core Image, not so sure what type of graphics that one is responsible for, but you'll often see "QE/CI" bundled together. And OpenGL. In short, I could watch videos, and pass tests like the "are you able to open the Chess app without it crashing" tests, which are common now since System Profiler in SL doesn't say anything about QE/CI.

However, I found disk access to be the deal-breaker. I really wanted to have a nice, zippy Spotlight response time, and it quickly because obvious that it just wasn't gonna happen with a hard drive that was living inside of a bunch of 2GB files on a folder in an actual hard drive. But giving the VM direct access to a physical disk was a little too intimidating, so I decided I just needed to take it up a notch, and just install the OS directly.

NOTA BENE. A little advice from "future you" if you get to this point and find yourself unsatisfied, as I did. Be careful with your Windows partition, and make sure you don't shrink it any more than it wants to be shrunk. Even if you're only using say, 40GB on a 1.5TB hard drive, it could still be saving system restore points at the end of the partition, and it will freak out on you if you go behind it's back and resize the partition with something like Gparted from a Live CD/Live USB. Yes, this is of course what happened to me. I ended up just salvaging my files and having to reinstall Windows. Even then, it took one more botched boot sector before I realized that I needed to be super careful about trying to install SL and Win7 together on the same drive, even if it's a 1500+GB drive.

Bizarre Love Triangle, pt. 1

I must say that, other than to my fiancee, I have never admitted this to anyone else (especially not anyone who would actually care! ....*deep breath*...I really like Windows 7. Truth be told, I would take it over Tiger any day, and there are only a few reasons why I would use either Leo or Snow Leo every day as opposed to the latest offering from Redmond. In stream-of-consciousness order:


EXPOSÉ: *shrugs* If your PC can handle Aero, all you need to do is download Switcher 2 by Bao Nguyen.
SPOTLIGHT: I gotta tell ya, the once might leverage of HFS+ and Spotlight is starting to lose it's luster in the face of Instant Search on Windows 7. I did have to go download the PDF iFilter so that I could index my PDFs' contents. And when I do actually find the text matches, it's a shameful pain-in-the-ass to actually get to that text. Without something as beautiful as the combination of Quick View and Preview, Spotlight wins by a nose. By a freakin' unibrow hair, man. ....BUT!!...
GARAGEBAND: ...and when Apple does something right, it's a downright marvel. A gorgeous spectacle of form and function. An interactive work of art that grows and pulsates, giving birth to little baby works of art. Pretty cool, huh? :)
What really gets me is that it's just thrown in there, for FREE. Included when you buy a Mac. Microsoft tosses you an "MS Paint", or a "Hyperterminal"; Apple gives you a fully functional audio production app complete with excellent drum kit sound libraries and guitar amp simulators. Okay, I'm wiping the fanboy foam off my lips now ;)
PREVIEW: Yeah, that's right. You heard me. Preview.app. Look, I'm going to be straight with you. If I could use a cracked copy of the fanciest, most Pro-Premium-Enterprise-Platinum 2025 DARPA-issue edition of Acrobat and have a better PDF reading, searching and bookmarking experience. I'd do it... I don't care who made it! If I could have the same experience—or even reasonably close—with something like Sumatra or Foxit, I'd be there. I'm all about freeware alternatives, and also certainly dig the FOSS movement, but not if it means I have to fight all day long against one of the most constantly used of my applications. Give me a viewer in Windows that loads that quickly, let's me search as I type, moves as smoothly and renders both content and annotation graphics, and I'll give you one less reason I make sure to keep them snow kitties around!
Sigh... to be continued :P

Abandon Hoping "It Just Works™", All Ye Who Enter!

I'll start off with the disclaimer that I R NEWB. This is my first time attempting to install OS X on a PC, and to further complicate things, I totally did not take any future hackintoshin' when I bought the components for the Core 2 Quad system I built for myself last year. I just aimed for the best possible bang-for-the-buck, while ensuring that I would not be sorry about what I bought come 12 months later. But lo-and-behold, I find myself wanting to do some stuff that my 4-year-old Macbook just groans through, mostly due to 5400 rpm hard drives and intergrated graphics chips.

My fiancee will no doubt roll her eyes with hyperspatial intensity at the thought of me actually trying to justify the mutilation of a perfectly capable computer I just built six months ago into some EULA-disregarding, philosophically errant, entirely unsupported monstrosity.

Needless to say, it doesn't "just work"! ...not yet, anyway.