For the past few weeks, I’ve been working with some other Mac admins on a new application that can aid with the deployment of Macs – say hi to Imagr.
It’s not intended to be a full replacement for Deploystudio, but it’s now got all of the features I need to use Imagr full time. If you’d like to get started with Imagr, head on over to the Wiki – the only requirement is a web server, so the barrier to entry is pretty low (if you followed my guide on how to set up BSDPy, you can use that web server).
I hope you’ll give it a go and maybe, just maybe, we can get rid of those little Mac Minis for good!
Either VirtualBox or VMware Fusion (if you use Fusion with Vagrant, you will need to purchase the VMware plugin – this will allow you to create OS X Vagrantboxes as well as enjoy the much greater performance of VMware, but that’s another post)
Xcode, or at the very least the command line tools from Xcode so you have git available.
Something to NetBoot – either a physical Mac or a VM in VMware Fusion. A VM configured as per Rich Trouton’s post will do nicely.
Get all of that installed and you’re ready to go. Next we need to get the Vagrantfile:
You will obviously need an NBI – I’ve covered how to use AutoNBI before, or you could use an existing one. Just make sure you’ve edited NBImageInfo.plist to make enabled be true and that the Mac (or VM) you’re NetBooting isn’t in DisabledSystemIdentifiers (I leave this as an empty <array />). Put your NBI in the nbi directory.
Now there’s one thing left to do:
$ cd docker-vagrant
$ vagrant up
Give it 20 seconds to finish booting and you will see your NBI in the startup pane of your Mac.
Have you heard of Docker, but think it all sounds a bit mystical and exotic? Then this is the post for you! Before we begin, you’re going to need a machine (or a VM, either on your machine or on a server) with Ubuntu 14.04 LTS installed on it. You can install Docker on many other operating systems, but I use Ubuntu, so we’re using that. Your Ubuntu box will also need a real IP address – if you are using VMware Fusion, this will be a Bridged Network Adapter – adjust the terminology if you’re using a different virtualization tool. You don’t need to worry about giving your machine a static IP unless you want to – Macs will NetBoot just fine when they’re on the same subnet.
Last time we saw our heroes, there was the unfuffilled promise of making small NetInstall sets. Now is the time to deliver on that promise. We’re going to make a small NetInstall that will open up Terminal.app.
If you’ve not read the previous post (and have got AutoNBI), go and do it now. I’ll wait. All done?
Another day, another tool made by Mr Bruienne! A while back, Pepijn released AutoNBI – a tool for automating the creation of NetInstall sets. At the time, it was filled away in the “this is cool, but isn’t this what System Image Utility does?” section. Then I saw his NetInstall running at MacTech (are you seeing a theme here?). It had this really simple DeployStudio like imagaing app – it was really cool. And suddently it made sense why you can replace the Packages directory with AutoNBI – a NetInstall is a really stripped down OS X environment, so it it much easier to distribute and use – we’re looking at around 1.8GB for my current NetInstall vs 5-6GB for a normal NetBoot.
This time we’ll take a look at how to use AutoNBI to make a standard NetInstall – in a future post we’ll look at some of the more cool things you can do with AutoNBI.
Ok, stop talking, let’s do this.
We’re going to need AutoNBI to start off with. Open up your Terminal and:
$ git clone https://bitbucket.org/bruienne/autonbi.git
$ cd autonbi
Prepare the build!
We’re ready to go (assuming you’ve got an OS X installer – you do, right?). Still in your terminal:
What did we just do? The -s option is simply pointing at our Install OS X Yosemite.app – if you have it somewhere else, point AutoNBI there. -d is our destination directory and -n is the name of our NetInstall. -e is telling AutoNBI to make the NetInstall enabled.
So the next time there’s a new OS X Installer, you can have an updated NetInstall in seconds, not minutes.