On Mon, Jul 26, 2010 at 2:17 AM, Bruno Wolff III <bruno@wolff.to> wrote:
I have attached two patches from bug 582051 that are intended to make
--skipcopy more useful for testing. One is for functionallity, the other
expands the documentation of what skipcopy skips a bit better.

As discussed in the bug report I don't like:

+if [ -s $USBMNT/$LIVEOS/$OVERFILE ]; then

and think that it should be:

+if [ "$overlaysizemb" -gt 0 ]; then

This is easier to understand and seems more likely to be correct.
I am not sure if my comment about my suggestion was misunderstood, but I
don't see why my suggestion wouldn't work and the one provided would.
But maybe there is something subtle going on.

Since --skipcopy is for testing I don't think the patch will have much
impact on normal use.

So I would be inclined to except this patch if modified as I suggest, but I'd
like to get more feedback.

I think the confusion here is due to the dual use of --skipcopy:

1. Testing the livecd-iso-to-disk script (with variations on installation options, for example), or

2. Repairing boot configuration files on an already-installed LiveUSB image.

For use #2, one would test for the existence of the overlay file on the target device, rather than the existence of a request for a new overlay (because $overlaysizemb is set only by the command line option --overlay-size-mb <size>, which is the way one requests a new, persistent overlay).

So to include an existing overlay reference on an image needing a new boot configuration file, one could simply invoke the --skipcopy option---without needing also to include a, perhaps counterintuitive, request for a new, persistent overlay.  This, of course, means that the variable $OVERFILE must be set without the new overlay request (which the attached patch provides).

In the standard installation case, if an overlay was requested, the overlay file will have just been created with dd before the $OVERFILE test is performed.