<div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">On Tue, Jul 6, 2010 at 11:44 PM, Frederick Grose </font><span dir="ltr"><font face="&#39;courier new&#39;, monospace">&lt;<a href="mailto:fgrose@gmail.com" target="_blank">fgrose@gmail.com</a>&gt;</font></span><font face="&#39;courier new&#39;, monospace"> wrote:</font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<font face="&#39;courier new&#39;, monospace">Another small update is available for Sugar Clone, a tool to clone a customized Sugar on a Stick installation onto another USB stick.<br></font></blockquote><div> </div><font face="&#39;courier new&#39;, monospace">Re: <a href="http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Sugar_Clone" target="_blank">http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Sugar_Clone</a></font><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">Available at:</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><a href="http://people.sugarlabs.org/fgrose/SugarClone" target="_blank"><font face="&#39;courier new&#39;, monospace">http://people.sugarlabs.org/fgrose/SugarClone</font></a><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">New:</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">1. Substituted the underlying modified_livecd-iso-to-disk shell script</span></div><div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   to match the proposed updates to livecd-iso-to-disk for the Fedora</font></div>


<div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   livecd-tools component.<br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><span style="font-family:&#39;courier new&#39;, monospace"> </span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote>
<span style="font-family:&#39;courier new&#39;, monospace">2. The above includes the copy-home and copy-overlay options as before,</span></div><div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   but fixes a few logic bugs while warning about the available free</font></div>


<div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   space for</font><span style="font-family:&#39;courier new&#39;, monospace"> the installation.</span></div>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">3. It also updates the local variable names to match the more general</span></div>


<div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   scope of the image exchange (for example, $SRC replaces $ISO and</font></div><div class="gmail_quote"><font face="&#39;courier new&#39;, monospace">   $TGTDEV replaces</font><span style="font-family:&#39;courier new&#39;, monospace"> $USBDEV).</span></div>


<div class="gmail_quote"><span style="font-family:&#39;courier new&#39;, monospace"><br></span></div><div class="gmail_quote"><span style="font-family:&#39;courier new&#39;, monospace">4. Updated the internal usage help messages.  The option --help displays</span></div>


<div class="gmail_quote"><span style="font-family:&#39;courier new&#39;, monospace">   the complete manual.</span></div><div class="gmail_quote"><span style="font-family:&#39;courier new&#39;, monospace"><br>
</span></div><div class="gmail_quote"><span style="font-family:&#39;courier new&#39;, monospace">5. S</span><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">tandardized the Bash conditional expression and list pipeline style</span></div>


<div class="gmail_quote"><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">   to </span><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">the more modern, [[ Expression &amp;&amp; Expression ]] format.</span></div>


<div class="gmail_quote"><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">   (See </span><span style="font-family:monospace;font-size:medium;white-space:pre-wrap"><a href="http://wiki.bash-hackers.org/syntax/ccmd/conditional_expression" style="color:rgb(0, 102, 204);text-decoration:none" target="_blank">http://wiki.bash-hackers.org/syntax/ccmd/conditional_expression</a>.)</span></div>


<div class="gmail_quote"><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">   </span><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">This means that variables within the special double brackets need not</span></div>


<div class="gmail_quote"><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">   be quoted, </span><span style="font-family:monospace;font-size:medium;white-space:pre-wrap">and the old, test-type operators -a, -o should not be used.</span></div>


<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">6. Standardized the whitespace to make the code much more readable.</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br>


</font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">Test Usage:</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">1. Before booting the SoaS device that will be the source of the new</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



</blockquote><span style="font-family:&#39;courier new&#39;, monospace">   Sugar Clone, copy the SugarClone script to the root, &#39;/&#39;, folder at</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">   the base of the filesystem for the device, or, to /mnt/live (from</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">   the perspective of a running LiveOS image).</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">2. Boot the computer from the USB stick into SoaS, and insert, or have</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">   a second USB device inserted, into the computer.</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">3. In the Terminal Activity of that running SoaS image, enter the</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">   command,</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">      /mnt/live/SugarClone</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">If there is more than one USB/SD storage device available, a menu of the devices will appear allowing you to select the target device.</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">The scripts will copy the currently running image to the target device. When that device is booted, a new, Sugar Learner sign-in will be triggered.  The previously customized Journal and operating system will be present on the Sugar Clone.</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">On a running LiveOS image, the root folder of the USB/SD device is</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">available at the /mnt/live mount point.  The SugarClone script can be obtained (assuming Internet connectivity) as follows:</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">1. In the Terminal Activity, change the working directory:</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">   cd /mnt/live</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">2. wget <a href="http://people.sugarlabs.org/fgrose/SugarClone" target="_blank">http://people.sugarlabs.org/fgrose/SugarClone</a></span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">3. chmod +x SugarClone</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">at this point, you may simply execute</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">   SugarClone</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br>


</font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">See <a href="http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Sugar_Clone" target="_blank">http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Sugar_Clone</a> for</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">more information.</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">Notes:</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">See <a href="http://wiki.sugarlabs.org/go/LiveOS_image" target="_blank">http://wiki.sugarlabs.org/go/LiveOS_image</a> for more information</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">on optimizing file storage for LiveOS images.  Information and</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><span style="font-family:&#39;courier new&#39;, monospace">suggestions there may be particularly relevant for SoaS deployments</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">that want to use the stock LiveOS installation with greater capacity</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



</blockquote><span style="font-family:&#39;courier new&#39;, monospace">for Activity storage with a longer lifetime for the write-once,</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><span style="font-family:&#39;courier new&#39;, monospace">ever-diminishing persistent overlay.</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="&#39;courier new&#39;, monospace">See also the </font><font face="&#39;courier new&#39;, monospace"><a href="http://wiki.sugarlabs.org/go/Activities/Toaster" target="_blank">http://wiki.sugarlabs.org/go/Activities/Toaster</a> project,</font><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><span style="font-family:&#39;courier new&#39;, monospace">which aims to make a graphical Sugar Activity for cloning Sugar images.</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


</blockquote><font face="&#39;courier new&#39;, monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><span style="font-family:&#39;courier new&#39;, monospace">      --Fred </span><br>


<div><font face="&#39;courier new&#39;, monospace"> </font></div>
</div><br>