<font face="&#39;courier new&#39;, monospace">As requested in <a href="http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/TODO" target="_blank">http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/TODO</a>,<br></font><div><font face="&#39;courier new&#39;, monospace"><span class="Apple-style-span" style="font-family: arial; "><a href="https://bugzilla.redhat.com/show_bug.cgi?id=448030">https://bugzilla.redhat.com/show_bug.cgi?id=448030</a></span>, and</font></div>

<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><font face="&#39;courier new&#39;, monospace"><span class="Apple-style-span" style="font-family: arial; "><a href="http://bugs.sugarlabs.org/ticket/74">http://bugs.sugarlabs.org/ticket/74</a>,</span> the following 3 scripts provide a testable</font></div>

<div><font face="&#39;courier new&#39;, monospace">means to duplicate a running SoaS image that may have been customized</font></div><div><font face="&#39;courier new&#39;, monospace">(in its persistent overlay or home folder):</font></div>

<div><font face="&#39;courier new&#39;, monospace"><br>modified_livecd-iso-to-disk<br>transferSugarImage<br>newSugarStick<br><br>These are available at <a href="http://people.sugarlabs.org/fgrose/" target="_blank">http://people.sugarlabs.org/fgrose/</a>.<br>




<br>Test Usage:<br><br>1. Copy the script files above to the root &#39;/&#39; folder at the base of the<br>   filesystem on a SoaS USB stick known to run Sugar.<br>2. Boot the USB stick into SoaS and insert a second USB device into the<br>




   computer running that SoaS image.<br>3. In the Terminal Activity of that running SoaS image, enter the command,<br><br>      /mnt/live/newSugarStick<br><br>      (At this point in development, the transferSugarImage script assumes that<br>




       the second device is mounted and recognized as /dev/sdc1.  You may<br>       confirm this by executing the command,<br>              mount<br>       and checking for the lines that return your second device&#39;s name and<br>




       device partition, such as /dev/sdc1.)<br><br>The scripts will copy the currently running image to the second device. When</font><div><font face="&#39;courier new&#39;, monospace">the second device is booted, a new Sugar Learner sign in will be triggered, but</font></div>


<div><font face="&#39;courier new&#39;, monospace">the customized Journal and operating system will be present.<br><br><br>Possible Use Case:<br><br>1. A teacher wants to prepare a SoaS image with a custom set of installed<br>




   Activity bundles or a Journal of Activity instances for an upcoming class<br>   term.<br>2. The teacher modifies their current working image by adding or deleting<br>   Activity bundles from their Home view and adding or removing Journal<br>




   entries with specific content, even saving bookmarks in Browse instances<br>   that are named for specific sets of web destinations.<br>3. The teacher scrubs out any personal passwords or other history that should<br>



   not be shared in the new copies.<br>
4. Following customization, a fresh or recycled USB stick is inserted into the<br>   computer running the customized SoaS image.<br>5. The Sugar Terminal Activity is opened and this command is entered:<br><br>       /mnt/live/newSugarStick<br>




<br>Step 5 assumes that Usage step 1 has been performed either directly or by<br>the SoaS packagers.<br><br>Presently, the transferSugarImage script is hard-coded to run the<br>modified_livecd-iso-to-disk installation script with these options:<br>




<br>   --noverify      To avoid the need for verification software--a running image<br>                   is its own form of verification.<br>   --copy-overlay  This duplicates the customizations on the source image<br>                   operating system, including those in the home folder if<br>




                   there was no separate, persistent home.<br>   --delete-home   This is required to confirm deletion of a persistent home<br>                   folder, if it exists on the target device.<br>   --copy-home     This duplicates the customizations on the source image<br>




                   home folder, if it exists.<br><br>The modified_livecd-iso-to-disk script has a new option, --help, which displays<br>its usage instructions.<br><br>These scripts have been tested with SoaS-Mirabelle (available at<br>




<a href="http://alt.fedoraproject.org/pub/alt/nightly-composes/soas/" target="_blank">http://alt.fedoraproject.org/pub/alt/nightly-composes/soas/</a>).<br><br>The scripts have have the /bin/bash shell specified with the -x (xtrace) option set<br>



to aid in testing.  That means they will show a lot of output on the screen as they<br>run.</font><div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">The scripts are copied to new SoaS devices prepared with these scripts so that they can propagate themselves.<br>


<br></font>
<div><font face="&#39;courier new&#39;, monospace">Needed:</font></div><div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">1. Review and testing.</font></div>


<div><font face="&#39;courier new&#39;, monospace">3. Submission of modified_livecd-iso-to-disk upstream</font></div><div><font face="&#39;courier new&#39;, monospace">2. A way to determine the name of the secondary USB device partition automatically</font></div>


<div><font face="&#39;courier new&#39;, monospace">   in the transferSugarImage script.</font></div><div><font face="&#39;courier new&#39;, monospace">3. A Sugar Activity that calls the scripts.</font></div></div></div><div>

<font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">These steps should help us prepare a SoaS customization kit.</font></div><div><font face="&#39;courier new&#39;, monospace"><br>

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