Making USB Recovery HD that can run Casper Imaging?

jbestine
New Contributor III

Has anyone been successful in creating a USB Recovery HD that will run Casper Imaging? I have a few subnets that can't reach my Netboot server, and I'm trying to figure out the best way for them to do multiple machines w/o having to tether to another mac. I'm open to suggestions too.

Thanks,
Jeannine

12 REPLIES 12

roiegat
Contributor III

Jeannine,

I created USB image just for this purpose since most of our machines are not near the netboot server. What I did was put a base OS on a USB stick, then put the casper software on it.

There are couple tricks to making it work better. First use USB 2.0 sticks, they will boot up much faster then the older kinds. We buy the 32g versions in bulk for this purpose.

Using this we sent about 40 of them to the support units and instruct them to hold down the option while booting up and connect to them. Works great.

jarednichols
Honored Contributor

For what it's worth, the OS that the recovery partition boots is located in /com.apple.recovery.boot/basesystem.dmg.

You can do some minor modification to it if you covert it to a r/w, then convert it back to compressed.

mm2270
Legendary Contributor III
For what it's worth, the OS that the recovery partition boots is located in /com.apple.recovery.boot/basesystem.dmg

Er, maybe I'm just being dense this morning, or maybe I haven't had enough coffee yet, but I'm not following. Where is the path to "com.apple.recovery.boot"? Is that on the Recovery HD itself or somewhere else? Asking because I'd like to take a look at it to see if I can make use of it.

Thanks

jarednichols
Honored Contributor

On the recovery HD itself. I'd use the Apple recovery tool (http://support.apple.com/kb/DL1433) to create it. Then use Disk Utility to show the hidden disks http://osxdaily.com/2011/09/23/view-mount-hidden-partitions-in-mac-os-x/

Mount it. Then in Terminal you can find it pretty easily. The dmg won't show up in the finder as it's hidden with chflags. You can unhide it with

chflags nohidding /path/to/dmg

mm2270
Legendary Contributor III

Great, thanks!

jbestine
New Contributor III
chflags nohidding /path/to/dmg

Wouldn't that be

chflags nohidden /path/to/dmg

I'll give it a try!

Thanks!

jarednichols
Honored Contributor

yeah. I fat fingered.

ScottyBeach
Contributor

I'm also trying to make a small bootable USB Recovery drive for the same reasons. I've found basesystem.dmg, converted it to R/W, added the "open" command to the /usr/bin folder and "Casper Imaging" to the Utilities folder and then converted it back to a compressed image and replaced the original basesystem.dmg with my edited one. Boots fine and I can see Casper imaging but I can't launch it. I get windowing server errors. I'd like to figure out how to add Casper Imaging to the Utilities menu in the primary selection window.
Has anyone made any further progress on this?
Thanks,
- Scott

ScottyBeach
Contributor

Further to that, are there a set of commands for some of the Casper tools? It may make more sense to run imaging entirely from a command line than to try and launch its GUI. If I'm giving a handful of USB keys to my mostly PC-supporting cohorts, it would be better if they could point and click their way through. If that can't be - but commands can - then that will do, I guess.

rhysforrester
New Contributor

If somebody can add further to this it'd be great.

sudo -i (keep the permissions intact when editing)
hdiutil attach /path/to/InstalESD.dmg
hdiutil convert /Volumes/OS X Install ESD/BaseSystem.dmg -format UDRW -o /tmp/folder/BaseSystem.dmg
hdiutil detach /dev/diskX (find X with diskutil list)
hdiutil resize -size 2g /tmp/folder/BaseSystem.dmg
vim /Volumes/OS X Base System/System/Installation/CDIS/OS X Utilities.app/Contents/Resources/Utilities.plist

Add;
<dict>
<key>BundlePath</key>
<string>/Applications/Appname.app</string>
<key>DescriptionKey</key>
<string>What does the app do?</string>
<key>Path</key>
<string>/Applications/Appname.app/Contents/MacOS/appbinaryname</string>
<key>Arguments</key>
<string>-skipSignatureCheck 1</string>
<key>TitleKey</key>
<string>AppName</string>
</dict>

cp -R /Applications/Appname.app /Volumes/OS X Base System/Applications/
hdiutil detach /dev/diskX (find X with diskutil list)
hdiutil convert /tmp/folder/BaseSystem.dmg -format UDRO -o /tmp/folder/BaseSystemNew.dmg

Scan for restore with Disk Utility then dump on to a USB key.

At present i'm working my way around 'otool' to make sure any dependencies are also copied to BaseSystem.dmg. In theory this works...but as of this morning I haven't actually tested beyond this. I'm keen to know if anyone else has played around with this.

Matt
Valued Contributor

We run USB keys. I keep it simple. I just image a USB stick with Mavericks and the latest Casper utilities and give it to the techs. I tell them when to run Software Updates on them and when Casper upgrades come around I package it and they install it. We've been doing it this way for almost 3 years now. Much better than any other solutions we've tried.

rhysforrester
New Contributor

Our ageing Xserve can't handle more than 10-15 machines at once. I'm always looking for a way to slim down a netboot image. Theoretically, using the above method it should be possible to shrink it to ~700meg, which beats any attempt i've made at slimming down the full OS (2.4Gb is the best i've managed).

There's something special about being able to send a bless command to a lab full of machines and having them all imaged/bound to AD/software installed in ~2 hours without leaving my seat. But I am a team of one.