<div class="gmail_quote"><font face="'courier new', monospace">On Tue, Jul 6, 2010 at 11:44 PM, Frederick Grose </font><span dir="ltr"><font face="'courier new', monospace"><<a href="mailto:fgrose@gmail.com" target="_blank">fgrose@gmail.com</a>></font></span><font face="'courier new', monospace"> wrote:</font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font face="'courier new', 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="'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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="'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', monospace">1. Substituted the underlying modified_livecd-iso-to-disk shell script</span></div><div class="gmail_quote"><font face="'courier new', monospace"> to match the proposed updates to livecd-iso-to-disk for the Fedora</font></div>
<div class="gmail_quote"><font face="'courier new', 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:'courier new', 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:'courier new', monospace">2. The above includes the copy-home and copy-overlay options as before,</span></div><div class="gmail_quote"><font face="'courier new', monospace"> but fixes a few logic bugs while warning about the available free</font></div>
<div class="gmail_quote"><font face="'courier new', monospace"> space for</font><span style="font-family:'courier new', 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="'courier new', 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:'courier new', monospace">3. It also updates the local variable names to match the more general</span></div>
<div class="gmail_quote"><font face="'courier new', monospace"> scope of the image exchange (for example, $SRC replaces $ISO and</font></div><div class="gmail_quote"><font face="'courier new', monospace"> $TGTDEV replaces</font><span style="font-family:'courier new', monospace"> $USBDEV).</span></div>
<div class="gmail_quote"><span style="font-family:'courier new', monospace"><br></span></div><div class="gmail_quote"><span style="font-family:'courier new', monospace">4. Updated the internal usage help messages. The option --help displays</span></div>
<div class="gmail_quote"><span style="font-family:'courier new', monospace"> the complete manual.</span></div><div class="gmail_quote"><span style="font-family:'courier new', monospace"><br>
</span></div><div class="gmail_quote"><span style="font-family:'courier new', 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 && 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="'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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:'courier new', monospace"> Sugar Clone, copy the SugarClone script to the root, '/', 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:'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="'courier new', 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:'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="'courier new', 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:'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><font face="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', 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:'courier new', 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:'courier new', 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:'courier new', 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:'courier new', 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:'courier new', 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="'courier new', monospace"><br></font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><font face="'courier new', monospace">See also the </font><font face="'courier new', 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:'courier new', 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="'courier new', 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:'courier new', monospace"> --Fred </span><br>
<div><font face="'courier new', monospace"> </font></div>
</div><br>