Sugar on a Stick/Sugar Clone



Sugar Clone is, at this point in time (April 2010), a bash script that aids in the copying of a LiveOS live image, such as Sugar on a Stick, to a secondary device. It is intended to support the Sugar image customization kit projects.



See this announcement post,

.

Introduction

Test Usage

  1. Before booting the SoaS device that will be the source of the new SugarClone, copy the script files above to the root '/' folder at the base of the filesystem (not the /root folder).
  2. Boot the USB stick into SoaS and insert a second USB device into the computer running that SoaS image.
  3. In the Terminal Activity of that running SoaS image, enter the command,
    /mnt/live/SugarClone

The scripts will copy the currently running image to the second device. When the second device is booted, a new Sugar Learner sign in will be triggered, and the customized Journal and operating system will be present.

Step 1 above, from the perspective of the learner inside a currently running SoaS image, would be different: The root folder of the USB device would be reached through the /mnt/live mount point. The scripts could be obtained (assuming Internet connectivity) as follows:

In the Terminal Activity, change the working directory, get the files, & make them executable:

cd /mnt/live
wget http://people.sugarlabs.org/fgrose/modified_livecd-iso-to-disk
wget http://people.sugarlabs.org/fgrose/SugarClone
chmod +x modified_livecd-iso-to-disk
chmod +x SugarClone

Possible Use Cases

Curriculum packaging

  1. A teacher wants to prepare a SoaS image with a custom set of installed Activity bundles or a Journal of Activity instances for an upcoming class term.
  2. The teacher modifies their current working image by adding or deleting Activity bundles from their Home view and adding or removing Journal entries with specific content, even saving distributable ebooks, or bookmarks in Browse instances that are named for specific sets of local web destinations (a class portal perhaps for deployments lacking Internet connectivity).
  3. The teacher scrubs out any personal passwords or other history that should not be shared in the new copies.
  4. Following customization, a fresh or recycled USB stick that is inserted into the computer running the customized SoaS image can become the SugarClone.

Step 4 assumes that Usage step 1 has been performed either directly or by the SoaS packagers.

Full image backup or sharing

  1. A Learner has modified their environment, perhaps adding Activity bundles and prepared specific instances such as a Activities/Physics simulation.
  2. Their modifications include changes to their operating system installed through YUM or RPM to obtain some new core functionality.
  3. The Learner wants to archive or share this image with friends or for a backup.
  4. Personal or private information is scrubbed from the Journal or Browse history and other potential stores.
  5. The User creates one or more Sugar Clones.

This method of backup has the advantage that it copies Learner changes to the core operating system as well as the Journal. A LiveOS image using a separate persistent home folder could be partially cloned with either the operating system overlay or home folder without the other should that be desired.

Notes

These scripts have been tested with SoaS-Mirabelle (available at http://alt.pub/alt/nightly-composes/soas/) but should work with other versions of SoaS.

The current version of the scripts have the /bin/bash shell specified without the -x (xtrace) option. Set this option, #!/bin/bash -x in the first line of the script to aid testing. When set, they will show a lot of output on the screen as they run.

The scripts are copied to the new SugarClone devices prepared with these scripts so that they can easily propagate themselves. This also applies to all new SoaS installations that are prepared with these scripts (using --image <source> options).

Needed:

  1. More review and testing.
  2. Submission of the modified_livecd-iso-to-disk script upstream.
  3. Modifications for XOs.
  4. Modifications for Intel Macintosh computers.
  5. Extraction of the Learner's Sugar image name for labeling the Clone.
  6. A Sugar Activity that calls or controls the scripts.
  7. A way to automatically identify extra partitions on devices with more than one available partition.
  8. A way to automatically identify live media images on secondary devices and partitions that could be used as sources for a Sugar Clone.
  9. Bundling of the scripts for convenience until they are included in SoaS.
  10. Extend the capability to write CD-ROM image files for inexpensive distribution.
  11. Extend the facility to any Sugar image.

These all should help us better prepare a SoaS customization kit.

Source

The script is available at http://people.sugarlabs.org/fgrose/SugarClone and is displayed from there below.
The script begins (just after the stock header) with the embedded help functions that describe the script and its usage.