First I have to download the new image.
vagrant up a Mavericks box
To do that, I start a Mavericks box, that I already have. I use this
Vagrantfile with the box named
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define :"osx-update" do |config| config.vm.box = "osx109" config.ssh.forward_agent = true config.vm.hostname = "osx-update" ["vmware_fusion", "vmware_workstation"].each do |provider| config.vm.provider provider do |v, override| v.gui = true v.vmx["memsize"] = "2048" v.vmx["numvcpus"] = "2" end end end end
Then I just call
and log into the desktop. After a while, the Mac App Store Icon shows, that there's an update.
Download from Mac App Store
I open up the Mac App Store from that VM, and click on the Download button for the OS X Yosemite update.
After downloading the installer starts automatically and shows
Now, just don't press Continue.
Instead, copy the downloaded InstallESD.dmg file from the VM to your host.
cp /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/InstallESD.dmg /vagrant
Now I destroy the VM with
vagrant destroy -f
Build new basebox with box-cutter
Now it's time to clone the GitHub repo from box-cutter/osx-vm.
git clone https://github.com/box-cutter/osx-vm cd osx-vm
At the moment, there is my PR #3 to add templates like
osx1010-desktop.json file. As long as this PR isn't merged, please clone my fork as described in the next steps. After the PR is accepted and merged, just skip these steps.
rm -rf osx-vm git clone https://github.com/StefanScherer/osx-vm cd osx-vm git checkout feature/yosemite
Copy downloaded ISO
You have to copy the downloaded Yosemite ISO into the
iso/OS X Yosemite/ folder.
mkdir iso/OS\ X\ Yosemite cp ../InstallESD.dmg iso/OS\ X\ Yosemite
There is a
Makefile that will help you preparing the ISO and building the basebox with Packer.
make list make osx1010-desktop
It will prepare the original DMG to make it work with packer. Then the basebox will be created. The final basebox will be placed in box/vmware/osx1010-desktop-nocm-1.0.0.box.
Add Vagrant basebox
Now it's time to add the basebox to be used with Vagrant.
vagrant box add osx1010-desktop box/vmware/osx1010-desktop-nocm-1.0.0.box --force
Now spin up your first OSX Yosemite VM with Vagrant.
mkdir yosemite cd yosemite vagrant init osx1010-desktop vagrant
Have fun with your new toy!
I have built and tested the OSX Yosemite box only with VMware Fusion 6.0.5 and not with VirtualBox.