View Full Version : Shrink a bootable disk image to make it burnable on single layer disc

10-25-2006, 02:08 PM

I have a bootable disk image which slightly exceeds the size of a single layer DVD. Here is what I did:

1- I Cloned it to a RW sparse image.
2- I removed some files from it (stuff not really needed, unrelated to bootability).
3- I hdutil compact'ed it
4- I tried to burn it. doesn't work. Of course: the file size is small enough, but the volume size is still logically too big.

Is there anything I can do? and no, I don't have access to the original bootable volume.

I will try to restore it back to a smaller disk image.


10-25-2006, 02:22 PM
How about just burning it as a file?

10-25-2006, 03:44 PM
Well, no. I want to be able to boot the DVD.

(to tell the background of the story, the image is a system install DVD, too big to burn on a single layer DVD. There are cumbersome workarounds involving partioning hard disks, but I would rather use a single layer DVD-RW, after removing a few ancillary files, namely packages that can get installed afte the fact).



10-25-2006, 03:48 PM
You can't. A standard OS install will not boot, even if it fit on the DVD.

10-26-2006, 11:54 AM
Actually, I found a way which works.

The solution is to create with Disk Utility a new read&write disk image with a size small enough to be burned to a DVD-R(W). Disk Utility proposes the largest such size, and this is what I chose.

I mounted that destination image on the desktop: it works as a read&write volume.

I mounted the source too-large-to-fit-on-DVD-R bootable disk image on the desktop: it shows a locked (read-only) volume.

Note that source is larger than destination: a full backup would not fit.

I used SuperDuper to make a full backup from source to destination, while adding a "Ignore" command to script. I omitted enough to make sure the remaining stuff to copy will indeed fit on destination, and also making sure nothing crucial for bootability was omitted.

The backup proceeded without error. I unmounted destination, and burned it on a DVD-RW with Disk Utility.

Acid test: the resulting DVD-RW did indeed boot correctly on an iMac Core Duo.

So you're wrong: it can be done ;-) I just did it.


Specifics: source was the Leopard seed. Omitted was the XCode directory, which can be installed later.

10-26-2006, 12:02 PM
I may add, that my first attempts failed because I chose as a destination in SuperDuper a disk image. Whether sparse or not, it doesn't work, because the resulting disk image has a logical volume size equal to the size of the source (including its free space). If that logical size is larger than what can fit on a DVD, then the resulting image cannot be burned.

Note that compacting the disk image with hdiutil doesn't work, because such a compacting is physical, and not logical: the resulting volume size doesn't change.

Suggestion: maybe you could add an advanced option to make the destination image as tight as possible by reclaiming any free space, whether the free space already exists on the source, or because it results from "Ignore" commands in the script.

I hope that helps other fellow developers,


10-26-2006, 02:15 PM
Wait: you copied an installed version of Leopard onto read-only media and it booted? I'm pretty surprised -- this has never worked before: there's no paging file, /tmp folder, etc...

10-27-2006, 04:56 AM
Well, maybe I was not clear enough (English is a second language for me). I stated that the image is a "system install DVD". It is those big .dmg files you download from ADC. Apple's instructions are to burn them on a double layer DVD before you can install it (or use the cumbersome hard disk partition workaround).

When I inspected the image volume, it turns out that a very significant part of the used space is for the XCode installer packages, which I figured could be safely omitted from the installer DVD.

So in short, I copied an UNinstalled version of Leopard, omitting XCode.

Now I hope this was clearer.


10-27-2006, 10:40 AM
Ah, understood. Sorry, must have missed that in your original message.

OK -- understand the issue you had: thanks for the report. It's not something that is a high priority thing, but I've noted the issue. Thanks!