Creating a bootable El Capitan ISO image
Mon, 12 October 2015 :: #macos
It's very easy to create a bootable ISO image of El Capitan, if you have a working El Capitan system installed on your machine.
Start with going to AppStore and installing El Capitan, so you'll have an application named Install El Capitan
in your Application list. Then, you should follow the steps below.
There is an installation image file inside /Applications/Install El Capitan.app
, named InstallESD.dmg
. It's not a bootable ISO that can be used to install the system on a virtual machine, but we'll get there. Mount this image to some directory by using the hdiutil
tool:
$ hdiutil attach "/Applications/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg" -noverify -nobrowse -mountpoint /Volumes/esd
/dev/disk1 GUID_partition_scheme
/dev/disk1s1 EFI
/dev/disk1s2 Apple_HFS /Volumes/esd
The -noverify
and -nobrowse
options are there to make mounting operation faster and to make sure that Finder will not automatically pop up.
Now let's create a placeholder image of our ISO file.
$ hdiutil create -o ElCapitan3.cdr -size 7316m -layout SPUD -fs HFS+J
......................................................................
created: /Users/antek/vm/ElCapitan3.cdr.dmg
This can take a while.
After an empty ISO file will be created, we need to mount it:
$ hdiutil attach ElCapitan3.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/iso
/dev/disk4 Apple_partition_scheme
/dev/disk4s1 Apple_partition_map
/dev/disk4s2 Apple_HFS /Volumes/iso
Then, we will use asr
tool to populate the contents of our new drive:
$ asr restore -source /Volumes/esd/BaseSystem.dmg -target /Volumes/iso -noprompt -noverify -erase
Validating target...done
Validating source...done
Retrieving scan information...done
Validating sizes...done
Restoring ....10man ..^R
..20....30....40....50....60....70....80....90....100
Remounting target volume...done
The asr
tool will automatically create a new mountpoint, /Volumes/OS X Base System
. We're going to put some files into this directory.
First of all, remove an invalid link that won't be needed here:
$ rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
Instead of this link, we need a proper directory, full of package files. We're going to copy this directory from the ESD image that we have mounted few steps earlier.
$ cp -rp /Volumes/esd/Packages /Volumes/OS\ X\ Base\ System/System/Installation
We're going to copy some additional installer dependencies as well.
$ cp -rp /Volumes/esd/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/
$ cp -rp /Volumes/esd/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/
After that, we can unmount stuff we don't need anymore:
$ hdiutil detach /Volumes/esd
"disk3" unmounted.
"disk3" ejected.
$ hdiutil detach /Volumes/OS\ X\ Base\ System
"disk4" unmounted.
"disk4" ejected.
Last step is to convert our ISO file into the UDTO format.
$ hdiutil convert ElCapitan3.cdr.dmg -format UDTO -o ElCapitan3.iso
Czytam Driver Descriptor Map (DDM : 0)…
Czytam Apple (Apple_partition_map : 1)…
Czytam disk image (Apple_HFS : 2)…
....................................................................
Zmierzony czas: 3m 29.592s
Szybkość: 34.9M bajtów/s
Oszczędność: 0.0%
created: /Users/antek/vm/ElCapitan3.iso.cdr
Done. The ElCapitan3.iso.cdr
can be renamed to ElCapitan.iso
, and can be used in virtualization software like VirtualBox 5.
The method described above was found on forums.MacRumors.com (permalink). Thanks to colt2!