Mavericks OS Installer for New MBPs

JPDyson
Valued Contributor

As some of you know, Mavericks is already forked - the new MBPs come with a build that's newer than GM (13A3017 vs. 13A603). How does one go about building an OS installer (i.e., not a captured base image) in this scenario?

I know a lot of you guys have been espousing the benefits of using OS installers, rather than base images captured from an installed OS, but this seems like a case where the former is the only option.

16 REPLIES 16

hkim
Contributor II

There are lots of ways to do this, but the crux basically is boot into recovery, run through the install and let it download off your network, but don't let it restart. In that state, before it's supposed to restart and start installing, you can grab the information you need to build your machine specific build.

Some suggest leaving something like the console open while it downloads so that the restart will get interrupted.

stevewood
Honored Contributor II
Honored Contributor II

Use the method @hkim mentioned to get the installer. Whenever I do it that way, I use a USB drive or Thunderbolt drive and point to that as the drive to restore. Once you have that installer, boot the machine you are on, one of the MBPs, and install AutoDMG on there (https://github.com/MagerValp/AutoDMG), and drop that installer onto AutoDMG to build an installer.

Once that is done, you have yourself an OS installer.

Does that make sense?

mojo21221
Contributor II

We did a similar method to @hkim however I let it fully boot after reinstalling from Recovery. Then used Composer to build the OS package. Being this image is, correct me if I'm wrong, hardware specific to the new Retinas I had to create a Netboot installer of this also, so we can deploy the image. As for the Recovery HD I used Disc Utility to create an image of that so we can use FV2. Cant wait for 10.9.1

stevewood
Honored Contributor II
Honored Contributor II

This is an article that talks about how to get the installer media:

http://www.macworld.com/article/1165337/create_a_bootable_lion_install_drive_for_newer_macs.html

JPDyson
Valued Contributor

Great feedback; I now remember reading about this trick, but since I wasn't going the OS installer route, I didn't commit it to memory. Sounds great, but I'll have to do it from home (Recovery is not proxy-aware).

One quick question (perhaps for @hkim): Have you had any luck with just launching the Console app and letting that interrupt the download? Otherwise, how tricky is it to catch the installer at the right moment to interrupt the reboot by yanking the drive?

hkim
Contributor II

I've only tried it once and I was lucky enough to be around when the restart was happening, so I didn't get a chance to see if it would work. I did have issues trying to get another window open but while Mavericks was downloading but I also wasn't trying very hard since I was occupied with other tasks at hand.

JPDyson
Valued Contributor

I was able to get another window open (couldn't give you steps to re-produce, it was a lot of clicking around and trying stuff) however it did not prevent a reboot. Also, I lost the progress bar, so I had to sit there and watch the screen for the last 5 minutes or so. Still, I yanked the external just as I heard the chime and I got my installer. CreateOSXInstallPkg validated the InstallESD.dmg and created a pkg installer with the correct build number (13A3017). I haven't had the opportunity to test this installer yet, but I'll report back if there's anything untoward.

nkalister
Valued Contributor

one new wrinkle with using an installesd.dmg captured from internet recovery on mavericks- it won't automatically create the recovery partition any more. To create the recovery HD at install time, you need to use the new createinstallmedia command embedded into the Install OS X Mavericks.app.
I haven't found a way to successfully use createinstallmedia with an installesd.dmg captured from internet recovery yet- the download doesn't include the required osinstall.mpkg file, and grabbing one from the retail installer app doesn't work. I've tried modifying the distribution file from inside that retail mpkg, but haven't found a way to modify that and still pass the installer verification at install time. sad trombone. Until 10.9.1 shows up I'll just run a separate package to create the recovery HD. I'm tired of surfing hackintosh sites!! :)

edit: Oh, and the 3017 build's plists only support the 3 new retina model's board ID's. un-modified it'll refuse to install anywhere else. I've booted older macs with that build, though, and they do boot and appear to work as expected. Haven't done in depth testing on that though.

nkalister
Valued Contributor

@JPDyson- you can get through proxies from recoveryhd- the networksetup binary is available, so you can set proxies from terminal, and they'll work.

JPDyson
Valued Contributor

Good call @nkalister; I'll try that ASAP.

One more thing about these installer packages: there's not really a way to use it for a re-image or in a Configuration, is there?

nkalister
Valued Contributor

sure you can, just treat it like like a regular OS installer. upload it, mark it as an OS installer in casper admin, add it to your configuration and go.

JPDyson
Valued Contributor

The 3017 installer I captured this way was throwing an error when attempting to upgrade older hardware. Looks like I'll have to keep my 13A603 package around for upgrades (13A3017 is working perfectly as a base OS image for all hardware I've tested).

nessts
Valued Contributor II

@JPDyson do you have something specific that is not working? Or what is the error? are you attempting to upgrade and existing OS with 3017?

hkim
Contributor II

Beware, there be dragons ahead!

The 13A3017 installer without editing it (since installers looks for supported hardware) will only work with the model it's associated with, the 15" 2013 MBAr. A BaseOS build using 13A3017 does work on other machines, maybe even all machines, but if something does break, or weird behavior starts to happen on unsupported models, the only thing you can do is revert back to the supported installation of 13A603 for those models.

I ran into a weird issue with 13A3017 on an older Macbook Pro (maybe 2010, don't quite remember) that had the machine randomly rebooting with my current configuration of software. It didn't happen on all of them, just that one. The issue went away with 13A603 that one time. Could it be a completely different issue causing it? Sure. But at least I can reach out for help if I have the supported version installed.

JPDyson
Valued Contributor

@hkim Funny, that installer is installing over a 13" 2013 MBAr right now! I'm guessing what you say is still true, but it doesn't matter...

We landed on this for now: a Flat image based on 3017 for re-imaging (again, we can't just to an Internet Recovery here), and an "upgrade" package based on 603 (because there's no scenario where it would be needed on the new hardware, what comes with Mavericks already, or would be re-imaged to 3017). So we're good. It's simpler whenever 10.9.1 lands, hopefully, but there will still likely be a flat base for imaging and an installer for upgrades.

Mac4Life
New Contributor

Sorry Im new to this post but Im having the same issue.. I was able to capture installESD.dmg on my thumb-drive from the online recovery but Im having trouble building the OS. I tried AutoDMG but i get an error message (hdiutil attach failed with return code 1: hdiutil: attach failed - image not recognized). ANY SUGGESTIONS???