Installing OS X 10.11 El Capitan inside Parallels Desktop

This is actually surprisingly straightforward, once you know the hoops to jump through.

Essentially there are 4 main things we need to do:

  1. Download El Capitan from the App Store
  2. Prepare an install image
  3. Create a virtual machine
  4. Install El Capitan

So let’s take a look at those, one by one…

Step 1: Download El Capitan from the App Store

Currently you need to be a registered developer. Provided you are, you can download the beta from Apple’s website (this redeems a coupon inside the App Store, so you need to be on a Mac to start the download).

Step 2: Prepare an install image

This section is all command-line stuff, so go fire up (Warning: you’ll need at least 15GB of disk space free to deal with this next section safely… more if you don’t clean up the two temporary images we build along the way)

First up we want to install the iesd Rubygem which provides a nice way to deal with Apple’s InstallESD.dmg files:

sudo gem install iesd

Now we want to use that iesd tool to build a bootable image from the installer we downloaded from the App Store:

iesd -i /Applications/Install\ OS\ X\ 10.11\ Developer\ -o ElCapitan-base.dmg -t BaseSystem

Okay, so that’s built us a read-only (DMG format) bootable image for the installer. At the moment, though, that’s missing the copy of OS X that it actually needs to go and install into your VM. To fix that we need to get a read-write (sparse image format) copy of the image:

hdiutil convert ElCapitan-base.dmg -format UDSP -o ElCapitan.sparseimage

Let’s throw away the read-only version now:

rm ElCapitan-base.dmg

And now we want to mount the disk image so we can add some files into it:

hdiutil mount ElCapitan.sparseimage

We also want to mount the InstallESD.dmg file from inside the installer we downloaded from the App Store, as it has some files we’ll need to copy over:

hdiutil mount /Applications/Install\ OS\ X\ 10.11\ Developer\

Now we want to copy the files from the Install ESD into the writable image we made:

cp /Volumes/OS\ X\ Install\ ESD/BaseSystem.* /Volumes/OS\ X\ Base\ System/

Now we want to eject both of those:

hdiutil detach /Volumes/OS\ X\ Base\ System/
hdiutil detach /Volumes/OS\ X\ Install\ ESD/

And now we need to get it back into that read-only DMG format:

hdiutil convert ElCapitan.sparseimage -format UDZO -o ElCapitan.dmg

And let’s throw away the read-write version to free up disk space:

rm ElCapitan.sparseimage

Step 3: Create a virtual machine

  1. Open Parallels, and press the + button to create a new VM
  2. Install Windows or another OS from a DVD or image file
  3. Continue without a source
  4. When asked what type of OS you’re installing be sure to pick OS X
  5. Tick “Customise settings before installation” and click continue
  6. Go to the Hardware tab, then go to USB & Bluetooth, and turn off USB 3.0 support or the installer will kernel panic during boot
  7. Go to CD/DVD 1 and insert the ElCapitan.dmg file you created
  8. Go to CPU & Memory and make sure you have at least 2048MB of RAM
  9. Go to Video and ensure you have at least 128MB of video RAM

Step 4: Install El Capitan

Okay, now comes the moment of truth: boot the Virtual Machine and you should be presented with a white Apple logo on a black background for a few minutes, followed by the El Capitan installer.

Credit where credit’s due…

This post was originally inspred by this post by TheBressman on Reddit, however that was missing some steps, so I filled in the gaps with info from this blog post by Jacob Tomlinson. Thanks!

Ever wanted to know what makes OS X tick?

Ars recently posted a collection of John Siracusa’s write-ups of each OS X release. Going back and reading about the quirks of how older versions behaved is like stepping into a time machine. OS X has come a long way in 15 years, and these write-ups were there every step of the way.

“Long form” doesn’t even begin to cover it—a Siracusa review could stretch to a CMS-breaking 30,000 words and beyond (we’ve even added a special section into the Ars CMS containing some Siracusa-specific feature requests). To put that length in some context, Stephen King’s The Gunslinger runs about 55,000 words—not that much longer than a solid Siracusa review. Each one is a deep well of insight, providing not just raw information and impressions but also context. Siracusa’s informed musings on the OS X Finder even made waves among developers and managers at Cupertino.

Source: After fifteen years, Ars says goodbye to John Siracusa’s OS X reviews

Unadopted Podcast Session 044 Out Now!

Another varied bunch with a Luther Vandross remix, Tensnake feat Nile Rodgers & Fiora, Pulp, Digitalism, Stanton Warriors, Booka Shade, Four Tet and an old Nathan Fake track.

  1. Solomun – Love Recycled 1
  2. Cupcakes – Captain Obvious
  3. Digitalism – So Totally Good
  4. Evil Nine feat Spoek Mathambo – No Manners (Arveene And Misk Remix)
  5. Pulp feat James Murphy – After You (Soulwax Remix)
  6. Tensnake feat Nile Rodgers & Fiora – Love Sublime (Duke Dumont Remix)
  7. Alex Metric – Illium
  8. Stereofunk – Captain Funk
  9. Stanton Warriors feat Ruby Goe & Hollywood Holt – Get Up
  10. Scratch Massive – Girls On Top
  11. The Knife – We Share Our Mothers’ Health (Trentemøller Remix)
  12. Booka Shade – In White Rooms (Neo Remix)
  13. Röyksopp – Sordid Affair (Maceo Plex Remix)
  14. Four Tet – Parallel Jalebi
  15. Nathan Fake – The Sky Was Pink (Holden Remix)

Listen now over at If you haven’t already set it up, search for “Unadopted” in the iTunes Store and have the latest sessions automatically delivered right into your iTunes Library!

Unadopted Podcast Session 043 Out Now!

Been listening to some old stuff as well as some new stuff lately, so here’s a fun genre-hopping, time-hopping mix to get your ears around.

  1. Lisa Lisa & Cult Jam – Let The Music Hit ‘Em (The Brand New Super Pumped-Up C&C Vocal Club Mix)
  2. Mylo – Paris Four Hundred
  3. Mighty Dub Katz – Just Another Groove (Stanton Warriors Edit)
  4. Shadow Child feat Tymer – 23
  5. Alex Metric & Oliver – Hope
  6. Adam Sky – Ape-X
  7. Hey Today! – 83
  8. Q-Tip – Work It Out (Disclosure Booty Call Edit)
  9. Frankie Knuckles – Your Love (Stanton Warriors Tribute Mix)

Listen now over at If you haven’t already set it up, search for “Unadopted” in the iTunes Store and have the latest sessions automatically delivered right into your iTunes Library!

The “Snooper’s Charter” is back, despite being illegal

Despite the European Court of Justice telling the UK it’s illegal, the Snooper’s Charter is back, and they’re scaremongering to justify it. What part of “it’s illegal” because it “interferes in a particularly serious manner with the fundamental rights to respect for private life and to the protection of personal data” does our government not understand?

Legitimate sites for publications like Linux Journal are being classed as “extremist forums” by the NSA (and by extension, GCHQ) according to leaked source code.

Even reading stories about this problem in mainstream publications is extremely likely to get you classed as an “extremist” — even if computer security is part of your job.

This is all very very bad. They’re coming up with multiple ways and multiple excuses to track all of us, so even if one of these ways or excuses is torn down it doesn’t matter as they’ll still have plenty of other methods to justify spying on you.

Yes, YOU.

Unadopted Podcast Session 042 Out Now!

Quite a varied one this time around, mid 90s Fatboy Slim, early 2000s Underworld, a new(er) version of The Man With The Red Face, a cheeky Soulwax remix in there for good measure, and more.

  1. Fatboy Slim – Song For Lindy
  2. Stanton Warriors feat Ruby Goe – Shoot Me Down
  3. Alex Metric feat Oliver – Motion Study
  4. His Majesty Andre – Hymn (Mickey Remix)
  5. Canblaster – Clockworks
  6. Felix Da Housecat – Rocket Ride (Soulwax Rock It Right Mix)
  7. Dave Spoon – At Night (Tom Staar Remix)
  8. Mark Knight & Funkagenda – The Man With The Red Face (Club Mix)
  9. Underworld – Two Months Off

Listen now over at If you haven’t already set it up, search for “Unadopted” in the iTunes Store and have the latest sessions automatically delivered right into your iTunes Library!

Unadopted Podcast Session 041 Out Now!

Time to get your nostalgia on. Back in January 2010 I recorded a set of my favourite late-night tracks from the early 2000s. It was originally going to be Session 028 but I ended up not releasing it… until now!

  1. Future Sound Of London – Papua New Guinea (12″ Version)
  2. Moby – Why Does My Heart Feel So Bad? (Red Jerry’s String And Breaks Mix)
  3. Delerium feat Sarah McLachlan – Silence (Niels van Gogh vs Thomas Gold Remix)
  4. ATB – 9pm (Till I Come)
  5. Faithless – God Is A DJ (Monster Mix)
  6. Schiller – Das Glockenspiel
  7. Paul van Dyk – For An Angel
  8. Energy 52 – Cafe Del Mar (Deadmau5 Remix)
  9. Orbital – Frenetic
  10. Jean-Jacques Smoothie – 2 People (Mirwais Extended Mix)
  11. Layo & Bushwacka – Love Story

Listen now over at If you haven’t already set it up, search for “Unadopted” in the iTunes Store and have the latest sessions automatically delivered right into your iTunes Library!

Unadopted Podcast Session 040 Out Now!

It’s coming up to the end of another year, so here’s a roundup of some of my favourite tracks from 2013, including the Stanton Warriors remix of I Still Love You, The Music by Marcus Marr, the Jackson & His Computer Band Reprise of Surkin’s White Knight Two and much more.

  1. St Lucia – September (Alex Metric Remix)
  2. Russ Chimes – Tonic (Original Mix)
  3. Switch – I Still Love You (Stanton Warriors Remix)
  4. BURNS – Lies (Acrobat Remix)
  5. Marcus Marr – The Music
  6. Mø – Pilgrim (Digitalism Remix)
  7. Stanton Warriors – MPC (Original Mix)
  8. Human Life – Uptown
  9. The Whip – Secret Weapon (Alex Metrix Remix)
  10. Surkin – White Knight Two
  11. Surkin – White Knight Two (Jackson & His Computer Band Reprise)

Listen now over at If you haven’t already set it up, search for “Unadopted” in the iTunes Store and have the latest sessions automatically delivered right into your iTunes Library!

Sharing entropy between computers with entropyservice

Suffering with low entropy on Xen/KVM/VMware VMs? Get help from another computer with better entropy sources.

Check out entropyservice. It allows low entropy machines (eg virtual machines) to collect data from another host with high entropy (eg a real computer) via SSH, then stir it in to the kernel’s entropy pool using rngd.

Find out more at

OS X Mavericks: restoring my development enviromment

I upgraded to OS X Mavericks last night. It’s great, my Mac is faster, and I’ve not touched a single byte of swap yet, even with a ton of stuff open. But like any OS upgrade, there are some things that are causing my dev environment to work strangely. Here’s how I’m fixing them.

Apache just shows 403 Forbidden for all my sites in ~/Sites

This one’s an easy fix. Open /etc/apache/httpd.conf in your favourite editor. Find <Directory "/Library/WebServer/Documents/"> on line 197 and replace it with <Directory "/Users/your-unix-username/Sites/">.

Alternative solution: If you have multiple users on the same Mac all needing ~/Sites to work, you may need to replace the Directory directive entirely with a <DirectoryMatch "/Users/*/Sites/">, but don’t forget to change out the closing </Directory> for a </DirectoryMatch> too.

Once you’ve made your edits, save the file, and run sudo apachectl restart to make apache pick up the config change.

Git shell integration stopped working

I added these lines to my .bash_profile to get RVM info and Git info in my shell prompt:

# Show RVM gemset and Git branch in Bash prompt
source /usr/share/git-core/
export PS1="\h:\W \u\[\033[01;34m\]\$(~/.rvm/bin/rvm-prompt g)\[\033[00;33m\]\$(__git_ps1 \"(%s)\")\[\033[00m\]\$ "

Now, however, my shell prompt is a bit broken and has an error above each prompt, like this:

-bash: __git_ps1: command not found
piro:~ my-unix-username$

Turns out I don’t have a


file anymore, which is causing the __git_ps1 environment variable to not get set.

But, there does appear to be a copy at /Applications/ so I edited my .bash_profile to and updated the source line with the new path. Not sure it’s such a great idea running it from the /Applications/ path but it’s probably better than copying/symlinking it to /usr/share until I get familiar with The New Way Of Doing Things™.

X11 was no longer installed

Easily fixed, just need to download a fresh copy from

More issues will be posted here as I find/solve them.