<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog of Moz Morris Freelance Web Developer</title>
	<atom:link href="http://earthview.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://earthview.co.uk</link>
	<description></description>
	<lastBuildDate>Mon, 19 Dec 2011 12:06:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>FacebookAuthenticate – Database-less version has arrived.</title>
		<link>http://earthview.co.uk/2011/12/facebookauthenticate-database-less-version-has-arrived/</link>
		<comments>http://earthview.co.uk/2011/12/facebookauthenticate-database-less-version-has-arrived/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 12:06:22 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Codez]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=129</guid>
		<description><![CDATA[FacebookAuthenticate &#8211; now database-less! So not everybody&#8217;s going to what to maintain a User model. Perhaps all they want is just plain old Facebook Authentication whereby the user&#8217;s details are returned from Facebook and then stored in session. Well, now it&#8217;s possible. I&#8217;ve created a database-less branch of FacebookAuthenticate. No database setup, no adding Facebook user_id [...]]]></description>
			<content:encoded><![CDATA[<p>FacebookAuthenticate &#8211; now database-less!</p>
<p>So not everybody&#8217;s going to what to maintain a User model. Perhaps all they want is just plain old Facebook Authentication whereby the user&#8217;s details are returned from Facebook and then stored in session. Well, now it&#8217;s possible.</p>
<p>I&#8217;ve created a database-less branch of <a title="FacebookAuthenticate – Facebook authentication handler for CakePhp 2" href="http://earthview.co.uk/2011/12/facebook-authentication-handler-for-cakephp-2/">FacebookAuthenticate</a>. No database setup, no adding Facebook <em>user_id</em> &amp; <em>token</em> fields &#8211; just plain old session storage for the current user.</p>
<p>The branch also includes a few updates that were made to the handler recently. Bonus.</p>
<p><a title="CakePhp 2 Facebook Authentication by Moz Morris, now database-less!" href="https://github.com/MozMorris/FacebookAuthenticate-CakePhp-Authentication-Handler/tree/database-less">Get the code over on my GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2011/12/facebookauthenticate-database-less-version-has-arrived/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo PlaceFinder DataSource for CakePhp 2</title>
		<link>http://earthview.co.uk/2011/12/yahoo-placefinder-datasource-for-cakephp-2/</link>
		<comments>http://earthview.co.uk/2011/12/yahoo-placefinder-datasource-for-cakephp-2/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 20:03:43 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=122</guid>
		<description><![CDATA[Need the coordinates of a location anywhere on Earth? Or how about the place name of any coordinates you provide? The Yahoo PlaceFinder datasource provides a familiar CakePhp interface for interacting with the Yahoo API. Typical usage looks like this: $results = $this-&#62;Location-&#62;find('all', array( 'conditions' =&#62; array( 'location' =&#62; $this-&#62;request-&#62;data['Location']['location'], 'flags' =&#62; 'JE', 'gflags' =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Need the coordinates of a location anywhere on Earth? Or how about the place name of any coordinates you provide? The Yahoo PlaceFinder datasource provides a familiar CakePhp interface for interacting with the Yahoo API.</p>
<p>Typical usage looks like this:</p>
<pre>$results = $this-&gt;Location-&gt;find('all', array(
  'conditions' =&gt; array(
    'location' =&gt; $this-&gt;request-&gt;data['Location']['location'],
    'flags' =&gt; 'JE',
    'gflags' =&gt; 'ACR',
  )
));</pre>
<p>It&#8217;s worth checking out <a href="http://developer.yahoo.com/geo/placefinder/guide/requests.html">Yahoo&#8217;s docs</a> for the various request parameters.</p>
<p><a title="YahooPlaceFinder - CakePhp Yahoo PlaceFinder Datasource" href="https://github.com/MozMorris/YahooPlaceFinder-CakePhp-DataSource">The first version is over on GitHub! Get it here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2011/12/yahoo-placefinder-datasource-for-cakephp-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FacebookAuthenticate &#8211; Facebook authentication handler for CakePhp 2</title>
		<link>http://earthview.co.uk/2011/12/facebook-authentication-handler-for-cakephp-2/</link>
		<comments>http://earthview.co.uk/2011/12/facebook-authentication-handler-for-cakephp-2/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 12:13:53 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Codez]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=112</guid>
		<description><![CDATA[Built to work with the AuthComponent using the recommended approach for building custom authentication handlers. The purpose of the Facebook Authentication Handler is to provide Facebook Authentication for your CakePHP 2.0 or later based application. The handler has been built following Cake&#8217;s recommended approach for building custom authentication objects for use with the built in [...]]]></description>
			<content:encoded><![CDATA[<p>Built to work with the AuthComponent using the recommended approach for building custom authentication handlers.</p>
<p>The purpose of the Facebook Authentication Handler is to provide Facebook Authentication for your CakePHP 2.0 or later based application. The handler has been built following Cake&#8217;s recommended approach for building <a title="Authentication &amp;mdash; CakePHP Cookbook v2.0.0 documentation" href="http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html?#creating-custom-authentication-objects">custom authentication objects</a> for use with the built in AuthComponent.<br />
The handler itself is part a <em>FacebookAuth</em> plugin, though this is essentially to make the handler easily redistributable with example configuration settings and an example controller detailing a typical use case scenario.</p>
<p>It should be noted that though this handler stores the access token returned by Facebook, it <strong>does not</strong> currently provide a means to makes calls to the Graph API. It&#8217;s function is to provide authentication. Of course, you could use the access token and your preferred method to communicate with Facebook.</p>
<p><a title="Facebook Auth Component Handler for CakePhp 2.0" href="https://github.com/MozMorris/FacebookAuthenticate-CakePhp-Authentication-Handler">The first version is over on GitHub! Get it here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2011/12/facebook-authentication-handler-for-cakephp-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configure PostgreSQL to accept incoming TCP/IP connections</title>
		<link>http://earthview.co.uk/2011/11/configure-postgresql-to-accept-incoming-tcpip-connections/</link>
		<comments>http://earthview.co.uk/2011/11/configure-postgresql-to-accept-incoming-tcpip-connections/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 17:17:50 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[10.6 Snow Leopard]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacPorts]]></category>
		<category><![CDATA[OSx86]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=94</guid>
		<description><![CDATA[Using: MacPorts PostgreSQL 9.x on OS X 10.6 (Snow Leopard) After switching to a new Mac, I didn&#8217;t have time to reinstall and setup PostgreSQL. I decided to access PostgreSQL on my old machine over the network. When I tried to connect, I hit the following error: psql: could not connect to server: Connection refused [...]]]></description>
			<content:encoded><![CDATA[<p>Using: MacPorts PostgreSQL 9.x on OS X 10.6 (Snow Leopard)</p>
<p>After switching to a new Mac, I didn&#8217;t have time to reinstall and setup PostgreSQL. I decided to access PostgreSQL on my old machine over the network. When I tried to connect, I hit the following error:</p>
<p><strong><em>psql: could not connect to server: Connection refused</em></strong><br />
<strong><em> Is the server running on host &#8220;192.168.0.6&#8243; and accepting TCP/IP connections on port 5432?</em></strong></p>
<p>Well, it was running but obviously not accepting connections. Let&#8217;s change that.</p>
<p>Get some super user privileges</p>
<blockquote><p><strong>sudo -s</strong></p></blockquote>
<p>Find the location of <strong>pg_hba.conf</strong> (Client Authentication Configuration File)<br />
<strong></strong></p>
<blockquote><p><strong>find / -type f -name &#8220;pg_hba.conf&#8221;</strong></p></blockquote>
<p>Mine was located here: /opt/local/var/db/postgresql90/defaultdb/pg_hba.conf</p>
<p>Change directory to where it&#8217;s located and edit it:<br />
<strong></strong></p>
<blockquote><p><strong>cd /opt/local/var/db/postgresql90/defaultdb/</strong><br />
<strong> vim pg_hba.conf</strong></p></blockquote>
<p>Add the following line where x.x.x.x is the email address of the client machine:</p>
<ul>
<li><strong>host all all x.x.x.x/24 trust</strong></li>
</ul>
<p>Now edit postgresql.conf (PostgreSQL configuration) that&#8217;s located in the same directory.<br />
<strong></strong></p>
<blockquote><p><strong>vim  postgresql.conf</strong></p></blockquote>
<p>&#8230;and change the line:</p>
<ul>
<li><strong>listen_addresses = &#8216;localhost&#8217;</strong> <em>(note, it might be commented out with a #, remove it if so)</em></li>
</ul>
<p>to&#8230;</p>
<ul>
<li><strong>listen_addresses = &#8216;*&#8217;</strong></li>
</ul>
<p>Restart PostgreSQL and try connecting again from the client machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2011/11/configure-postgresql-to-accept-incoming-tcpip-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A really simple Facebook &#8220;Fan / Like Gate&#8221; written in PHP</title>
		<link>http://earthview.co.uk/2011/11/a-really-simple-facebook-fan-like-gate-written-in-php/</link>
		<comments>http://earthview.co.uk/2011/11/a-really-simple-facebook-fan-like-gate-written-in-php/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 20:33:24 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[Codez]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=77</guid>
		<description><![CDATA[What? You&#8217;re not using a fan / like / reveal gate? Well, apparently you should be. It&#8217;s really easy if all you want to do is find out if the current user has liked the page or not. I&#8217;ve packaged it up into an index file that&#8230; Decodes the signed request that Facebook sends &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>What? You&#8217;re not using a fan / like / reveal gate?</p>
<p>Well, apparently you should be.</p>
<p>It&#8217;s really easy if all you want to do is find out if the current user has liked the page or not. I&#8217;ve packaged it up into an index file that&#8230;</p>
<ol>
<li>Decodes the signed request that Facebook sends &#8211; this contains the like status.</li>
<li>Renders a view depending on the like status.</li>
</ol>
<p>&nbsp;</p>
<h3>What is it?</h3>
<p>It&#8217;s one of those Facebook pages where you have to like the page before you&#8217;re allowed to see the hidden content. You know, like the classic <a href="https://www.facebook.com/cocacola">Coca-Cola</a> one*.</p>
<p>&nbsp;</p>
<h3>Where can I get it?</h3>
<p>On <a href="https://github.com/MozMorris">MozMorris</a> over on <a href="https://github.com/MozMorris/Facebook-Fan-Gate">GitHub.</a></p>
<p>&nbsp;</p>
<p><em>* it was there the last time I looked.</em></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2011/11/a-really-simple-facebook-fan-like-gate-written-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Guide: Mac OS X Snow Leopard 10.6.0 on a Dell Dimension 9200 / DXP061</title>
		<link>http://earthview.co.uk/2009/11/install-guide-mac-os-x-snow-leopard-10-6-0-on-a-dell-dimension-9200-dxp061/</link>
		<comments>http://earthview.co.uk/2009/11/install-guide-mac-os-x-snow-leopard-10-6-0-on-a-dell-dimension-9200-dxp061/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 23:03:41 +0000</pubDate>
		<dc:creator>Moz</dc:creator>
				<category><![CDATA[OSx86]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[hackintosh]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://earthview.co.uk/?p=17</guid>
		<description><![CDATA[Specification This guide was tested with the retail Snow Leopard retail disk and the following specification: Model: Dell Dimension 9200 / Dell XPS410 Chipset: Intel P965 Chipset (ICH8R) Processor: Intel Core 2 Duo Graphics: ASUS nVidia EN8400GS 512 PCIe Ethernet: Intel 82566DC Wireless: Belkin (Broadcom) Audio: SigmaTel 9227 Here is the LSPCI readout if you [...]]]></description>
			<content:encoded><![CDATA[<h2>Specification</h2>
<p>This guide was tested with the retail Snow Leopard retail disk and the following specification:</p>
<p><strong>Model:</strong> Dell Dimension 9200 / Dell XPS410<br />
<strong>Chipset:</strong> Intel P965 Chipset (ICH8R)<br />
<strong>Processor:</strong> Intel Core 2 Duo<br />
<strong>Graphics:</strong> ASUS nVidia EN8400GS 512 PCIe<br />
<strong>Ethernet:</strong> Intel 82566DC<br />
<strong>Wireless:</strong> Belkin (Broadcom)<br />
<strong>Audio:</strong> SigmaTel 9227</p>
<p><a href="/files/lspci.txt">Here is the LSPCI readout</a> if you want lower level information.</p>
<p>If you have a setup completely different to this then turn back now. You’re better off looking for a guide that matches your spec.</p>
<h2>Prerequisites</h2>
<p>You will need the following:</p>
<ol>
<li>A working OS X installation. I used my <a href="http://pcwizcomputer.com/ipcosx86/">iPC 10.5.6</a> installation. You could potentially use a friends.</li>
<li><a href="http://store.apple.com/uk/product/MAC_OS_X_SNGL">Snow Leopard DVD</a></li>
<li>An 8+GB USB Flash Drive &amp; spare hard disk</li>
<li><a href="/files/Chameleon2.zip">Chameleon 2 RC3 Boot loader Package</a></li>
<li><a href="http://www.kexts.com/view/91-efi_studio..html">EFI studio</a></li>
<li><a href="http://cheetha.net/">Kext Helper</a></li>
<li>A decent text editor, like <a href="http://macromates.com/">TextMate</a></li>
<li>Some patience. This guide probably looks quite long, but in reality it takes no longer than an hour</li>
<li>The attribute of following instructions carefully.</li>
</ol>
<p>You will also need the following, which I can provide:</p>
<ol>
<li>A DSDT</li>
<li>A few driver kexts</li>
<li>A boot list file, also known as com.apple.boot.plist</li>
</ol>
<p><a href="/files/extract_to_Extras.zip">Click here to get all of these.</a></p>
<p>BIOS settings:</p>
<ol>
<li>ACHI mode (RAID off)</li>
<li>SpeedStep off</li>
<li>USB as priority boot</li>
</ol>
<h2>Preparation</h2>
<h3>Restore DVD to USB</h3>
<p>1. Boot into your existing OS X installation, insert the Snow Leopard DVD &amp; USB drive, and open Disk Utility.</p>
<p>2. Use Disk Utility to Restore the <strong>Snow Leopard DVD</strong> to the USB drive by:</p>
<p>3. Selecting the Flash Drive</p>
<p>4. Select the <strong>Erase</strong> tab on the right and then set Format to <strong>Mac OS Extended (Journaled)</strong>. Name the partition you’ll be creating <strong>Snow Leopard Install DVD</strong> so you can keep track of your installation device. After you’ve done this, click the Erase button.</p>
<p>5. After Disk Utility finishes erasing your old data on the flash drive and setting it as a new partition, it will be ready for the Snow Leopard install files. Select the <strong>Restore</strong> tab at the top and then drag the <strong>Snow Leopard DVD</strong> to the Source field. Select your USB device, now called <strong>Snow Leopard Install DVD</strong> for the Destination file. Click Restore and wait for the restoration to finish (about 20 minutes).</p>
<h3>Boot loader &amp; Kexts</h3>
<p>1. Install <a href="files/Chameleon%202%20RC3.zip">Chameleon 2 RC3 Boot loader</a> using the package installer to the USB drive where you restored the <strong>Snow Leopard DVD</strong> to. <strong>Not</strong> your working OS X installation.</p>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 503px"><img class="size-full wp-image-29" title="Screen shot 2009-11-23 at 20.40.38" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.40.38.png" alt="Snow Leopard Install DVD post Chameleon Install" width="493" height="384" /><p class="wp-caption-text">Snow Leopard Install DVD post Chameleon Install</p></div>
<p>2. Copy the ‘com.apple.Boot.plist’ &amp; ‘dsdt.aml’ to the <strong>Extra</strong> folder in the root of the USB drive.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 397px"><img class="size-full wp-image-28" title="Screen shot 2009-11-23 at 20.40.59" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.40.59.png" alt="Content of Extra" width="387" height="117" /><p class="wp-caption-text">Content of Extra</p></div>
<p>3. Create a new folder called <strong>Extensions</strong> within the Extra folder. Copy all the kext files to the <strong>Extensions</strong> folder.</p>
<div id="attachment_27" class="wp-caption aligncenter" style="width: 536px"><img class="size-full wp-image-27" title="Screen shot 2009-11-23 at 20.41.16" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.41.16.png" alt="Contents of Extensions" width="526" height="316" /><p class="wp-caption-text">Contents of Extensions</p></div>
<p>4. Open <strong>Terminal</strong> and <span class="command">run <strong>diskutil list</strong></span> This will list out all mounted drives. Look for the one that corresponds to your USB drive and note the drive number and installation partition. In this example below, the disk number is 2 and the partition is 2, also written as <strong>disk2s2</strong></p>
<div id="attachment_24" class="wp-caption aligncenter" style="width: 570px"><img class="size-full wp-image-24" title="Screen shot 2009-11-23 at 20.31.28" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.31.28.png" alt="diskutil list" width="560" height="82" /><p class="wp-caption-text">diskutil list</p></div>
<p>Now run <strong><span class="command">diskutil info disk2s2</span></strong> You’ll need to substitute in <strong>your own</strong> disk and partition number after the <span class="command">info</span>.</p>
<div id="attachment_26" class="wp-caption aligncenter" style="width: 459px"><img class="size-full wp-image-26" title="Screen shot 2009-11-23 at 20.34.27" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.34.27.png" alt="diskutil info disk2s2" width="449" height="105" /><p class="wp-caption-text">diskutil info disk2s2</p></div>
<p>5. Copy the <strong>Volume UUID identifier</strong> from the information listed to you clipboard or somewhere safe.</p>
<p>6. Now lets go back to the <strong>Extra</strong> folder on the USB drive. Using that decent <a href="http://macromates.com/">text editor</a> I mentioned earlier, you’ll need to open up <strong>com.apple.Boot.plist</strong>.</p>
<p>7. We are now going to tell the boot loader which disk to boot based on the disk identifier we just retrieved. After the last &lt;/string&gt; and before &lt;/dict&gt; enter</p>
<p>&lt;key&gt;boot-uuid&lt;/key&gt;<br />
&lt;string&gt;000000000000&lt;/string&gt;</p>
<p>8. Replace 000000000000 with your own disk identifier that should still be in your clipboard. <strong>Save</strong> the file and <strong>exit</strong>.</p>
<div id="attachment_30" class="wp-caption aligncenter" style="width: 493px"><img class="size-full wp-image-30" title="Screen shot 2009-11-23 at 20.39.16" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.39.16.png" alt="com.apple.Boot.plist content" width="483" height="110" /><p class="wp-caption-text">com.apple.Boot.plist content</p></div>
<p>9. Navigate the Extensions folder within the Extra folder. Open up <strong>UUID-platform.kext</strong> in your text editor. Go to the contents folder and edit the info.plist.</p>
<p>10. Look for &lt;key&gt;PlatformUUID&lt;/key&gt; and paste in your disk identifier in the &lt;string&gt;In Here&lt;/string&gt; below it. <strong>Save</strong> the file and <strong>exit</strong>.</p>
<div id="attachment_31" class="wp-caption aligncenter" style="width: 848px"><img class="size-full wp-image-31" title="Screen shot 2009-11-23 at 20.53.14" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-20.53.14.png" alt="info.plist inside of PlatformUUID.kext" width="838" height="380" /><p class="wp-caption-text">info.plist inside of PlatformUUID.kext</p></div>
<h3>Graphics</h3>
<p>1. Start <strong>EFI studio</strong> and locate your graphics card from the drop down. For EN8400GS I had to use the 7600GS EFI string. If you have trouble locating an EFI string, just have a Google around.</p>
<div id="attachment_36" class="wp-caption aligncenter" style="width: 598px"><img class="size-full wp-image-36" title="Screen shot 2009-11-23 at 22.34.19" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-22.34.19.png" alt="EFI Studio Interface" width="588" height="444" /><p class="wp-caption-text">EFI Studio Interface</p></div>
<p>2. Click <strong>Add device</strong>. Then click <strong>Hex String to Clipboard</strong>.</p>
<p><img class="aligncenter size-full wp-image-35" title="Screen shot 2009-11-23 at 22.34.36" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-22.34.36.png" alt="Screen shot 2009-11-23 at 22.34.36" width="692" height="597" /></p>
<p>2. Now back to the Extra folder on the USB drive and open up <strong>com.apple.Boot.plist</strong> again.</p>
<p>3. After the last &lt;/sting&gt; which should be where you entered your disk identifier, start a new line and input:</p>
<p>&lt;key&gt;device-properties&lt;/key&gt;<br />
&lt;string&gt;000000000000&lt;/string&gt;</p>
<p>4. Replace 000000000000 with your own EFI string that should still be in your clipboard. Save the file and exit.</p>
<div id="attachment_39" class="wp-caption aligncenter" style="width: 569px"><img class="size-full wp-image-39" title="Screen shot 2009-11-23 at 22.40.36" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-22.40.36.png" alt="Complete apple.com.Boot.plist" width="559" height="538" /><p class="wp-caption-text">Complete apple.com.Boot.plist</p></div>
<h3>Permissions</h3>
<p>1. Open the <strong>Terminal</strong> and run <strong><span class="command">sudo –s</span></strong> at which point you must enter your password. <strong>Sudo</strong> allow us to run programs with the privileges of root.</p>
<p>2. If you’ve followed the instructions exactly to this point, then you should be able to copy and paste the following commands. You may have decided to follow the guide slightly different up to this point. If you have, then you’ll understand what you need to change here.</p>
<p><strong><span class="command">cd /Volumes/Snow\ Leopard\ Install\ DVD/Extra</span></strong><br />
<strong><span class="command">chown –R root:wheel *</span></strong><br />
<strong><span class="command">chmod –R 777 *</span></strong></p>
<p>If any of these throws an error then either I’m terrible at writing instructions, or you’re terrible at following instructions. No time to argue anyway, on we go.</p>
<h2>Installation</h2>
<p>1. Reboot your machine and if you’ve set your <strong>USB</strong> to priority boot the Chameleon boot loader should appear.</p>
<p>2. Select ‘Snow Leopard Install DVD’, which funnily enough is your USB drive and hit enter.</p>
<p>3. Fingers crossed within a few moments the Snow Leopard installer will appear.</p>
<p>4. If you get the ‘no smoking’ sign after a while then something’s gone wrong. Reboot, and at Step 2 this time, type <strong><span class="command">-v</span></strong> before hitting enter to boot in verbose mode. This will then output an error message. From here, you’ll have to use your friend Google to help you.</p>
<p>5. Choose your required language.</p>
<p>6. Before continuing with the installation program we’re going to prepare that spare hard drive I mentioned you needed in the prerequisites. Open the <strong>Disk Utility</strong> under the Utilities menu.</p>
<p>7. Select the <strong>spare hard disk</strong>.</p>
<p>8. Select the <strong>Erase</strong> tab on the right and then set Format to <strong>Mac OS Extended (Journaled)</strong>. Name the partition you’ll be creating <strong>Snow Leopard</strong>. Now click the Erase button.</p>
<p>9. Now exit the Disk Utility and continue with the installation</p>
<p>10. Choose your newly formatted disk <strong>Snow Leopard</strong> as the destination and install. The installation should take around 15minutes or so.</p>
<p>11. It should be noted that sometimes the installer would display an error after completion. You can ignore this. I’m sure someone out there has an answer why this happens, just Google it if you’re that bothered.</p>
<p>12. Reboot!</p>
<h2>First Boot</h2>
<p>1. Leave your USB as the priority boot device as we’ll be using the chameleon boot loader installed on there to boot our <strong>Snow Leopard</strong> installation.</p>
<p>2. When the boot loader appears, you should see the Snow Leopard installation. Select it but <strong>don’t</strong> press enter yet.</p>
<p>3. Currently the boot loader is always going to look for the USB drive as the root device, remember we set this earlier when editing the <strong>apple.com.Boot.plist</strong>.</p>
<p>We now need to tell it which device we would like to boot this time. Now I can’t tell you exactly for your system what this is going to be. For me this was <strong>disk0s2</strong>. With Snow Leopard selected, enter <strong>rd=disk0s2</strong> and hit enter. If this fails, it is worth trying the following: <strong>disk1s2</strong>, <strong>disk2s2</strong>, <strong>disk3s2</strong> etc</p>
<p>4. If you’ve reached this point then you must be totally buzzing. You’re almost there, nice one.</p>
<h2>Post Install</h2>
<p>A lot of this is going to be the same procedure as in the Preparation section but we’re putting the Snow Leopard disk in place of the Snow Leopard Install DVD. I’ll write it out again for consistency.</p>
<h3>Bootloader &amp; Kexts (again)</h3>
<p>1. Install the Chameleon boot loader to the <strong>Snow Leopard</strong> disk using the package installer.</p>
<p>2. Copy the ‘<strong>com.apple.Boot.plist</strong>’ &amp; ‘<strong>dsdt.aml</strong>’ to the Extra folder in the root of <strong>Snow Leopard</strong>.</p>
<p>3. Create a new folder called <strong>Extensions</strong> within the Extra folder. Copy all the kext files to the Extensions folder.</p>
<p>4. Open terminal and <span class="command">run <strong>diskutil list</strong></span> This will list out all mounted drives. Look for the one that corresponds to your Snow Leopard drive and note the drive number and installation partition. In this example below, the disk number is 0 and the partition is 2, also written as disk0s2</p>
<p>Now run <strong><span class="command">diskutil info disk0s2</span></strong> You’ll need to substitute in your own disk and partition number after the info.</p>
<p>5. Copy the UUID identifier from the information listed to you clipboard or somewhere safe.</p>
<p>6. Now lets go back to the Extra folder on the Snow Leopard drive. Using that decent text editor I mentioned earlier, you’ll need to open up <strong>com.apple.Boot.plist</strong>.</p>
<p>7. We are now going to tell the boot loader which disk to boot based on the disk identifier we just retrieved. After the last &lt;/string&gt; and before &lt;/dict&gt; enter</p>
<p>&lt;key&gt;boot-uuid&lt;/key&gt;<br />
&lt;string&gt;000000000000&lt;/string&gt;</p>
<p>8. Replace 000000000000 with your own disk identifier that should still be in your clipboard. Save the file and exit.</p>
<p>9. Navigate the Extensions folder within the Extra folder. Open up <strong>UUID-platform.kext</strong> in your text editor. Go to the contents folder and edit the <strong>info.plist</strong>.</p>
<p>10. Look for &lt;key&gt;PlatformUUID&lt;/key&gt; and paste in your disk identifier in the &lt;string&gt;In Here&lt;/string&gt; below it. <strong>Save</strong> the file and <strong>exit</strong>.</p>
<h3>Graphics (again)</h3>
<p>1. Start <strong>EFI studio</strong>, locate your graphics card, copy hex to clipboard. For EN8400GS I had to use the 7600GS EFI string. If you have trouble locating an EFI string, just have a google around.</p>
<p>2. Now back to the <strong>Extra</strong> folder on the Snow Leopard drive and open up com.apple.boot.plist again.</p>
<p>3. After the last &lt;/sting&gt; which should be where you entered your disk identifier, start a new line and input:</p>
<p>&lt;key&gt;device-properties&lt;/key&gt;<br />
&lt;string&gt;000000000000&lt;/string&gt;</p>
<p>4. Replace 000000000000 with your own EFI string that should still be in your clipboard. Save the file and exit.</p>
<h3>Sound</h3>
<ol>
<li>1. Open the <strong>Kext Helper</strong>.</li>
<li>2. Navigate to the <strong>Extensions</strong> folder under Extra on your Snow Leopard disk.</li>
<li>3. Drag the <strong>VoodooHDA</strong> kext into Kext Helper.</li>
<li>4. Click install. You’ll be prompted to enter your password.</li>
</ol>
<div id="attachment_37" class="wp-caption aligncenter" style="width: 530px"><img class="size-full wp-image-37" title="Screen shot 2009-11-23 at 22.32.20" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-22.32.20.png" alt="Kext Helper ready for me to click 'Easy Install'" width="520" height="302" /><p class="wp-caption-text">Kext Helper ready for me to click &#39;Easy Install&#39;</p></div>
<h2>Reboot!</h2>
<p>1. Now reboot and set your <strong>Snow Leopard</strong> disk to boot priority.</p>
<p>2. Chameleon should appear; select <strong>Snow Leopard</strong> and hit enter.</p>
<p>3. If everything’s gone to plan, and I’ll be honest, first time it probably won’t have, you should have a fully functioning Mac OS X Snow Leopard Hackintosh system.</p>
<h2>Update</h2>
<p>Just hit the Apple Software Update. It will download the latest package, which at the time of writing was 10.6.2. The updates will automatically be installed and then OS X will reboot. Job done.</p>
<div id="attachment_40" class="wp-caption aligncenter" style="width: 356px"><img class="size-full wp-image-40" title="Screen shot 2009-11-23 at 22.45.51" src="http://earthview.co.uk/wp-content/uploads/2009/11/Screen-shot-2009-11-23-at-22.45.51.png" alt="'About This Mac' post update" width="346" height="422" /><p class="wp-caption-text">&#39;About This Mac&#39; post update</p></div>
]]></content:encoded>
			<wfw:commentRss>http://earthview.co.uk/2009/11/install-guide-mac-os-x-snow-leopard-10-6-0-on-a-dell-dimension-9200-dxp061/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
		</item>
	</channel>
</rss>

