[SoaS] Duplicating SoaS with customization -was: Call for Testing: Duplicating SoaS via CMD

Frederick Grose fgrose at gmail.com
Tue Apr 6 12:50:53 EDT 2010

As requested in http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/TODO,
https://bugzilla.redhat.com/show_bug.cgi?id=448030, and
http://bugs.sugarlabs.org/ticket/74, the following 3 scripts provide a
means to duplicate a running SoaS image that may have been customized
(in its persistent overlay or home folder):


These are available at http://people.sugarlabs.org/fgrose/.

Test Usage:

1. Copy the script files above to the root '/' folder at the base of the
   filesystem on a SoaS USB stick known to run Sugar.
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,


      (At this point in development, the transferSugarImage script assumes
       the second device is mounted and recognized as /dev/sdc1.  You may
       confirm this by executing the command,
       and checking for the lines that return your second device's name and
       device partition, such as /dev/sdc1.)

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,
the customized Journal and operating system will be present.

Possible Use Case:

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
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 bookmarks in Browse instances
   that are named for specific sets of web destinations.
3. The teacher scrubs out any personal passwords or other history that
   not be shared in the new copies.
4. Following customization, a fresh or recycled USB stick is inserted into
   computer running the customized SoaS image.
5. The Sugar Terminal Activity is opened and this command is entered:


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

Presently, the transferSugarImage script is hard-coded to run the
modified_livecd-iso-to-disk installation script with these options:

   --noverify      To avoid the need for verification software--a running
                   is its own form of verification.
   --copy-overlay  This duplicates the customizations on the source image
                   operating system, including those in the home folder if
                   there was no separate, persistent home.
   --delete-home   This is required to confirm deletion of a persistent home
                   folder, if it exists on the target device.
   --copy-home     This duplicates the customizations on the source image
                   home folder, if it exists.

The modified_livecd-iso-to-disk script has a new option, --help, which
its usage instructions.

These scripts have been tested with SoaS-Mirabelle (available at

The scripts have have the /bin/bash shell specified with the -x (xtrace)
option set
to aid in testing.  That means they will show a lot of output on the screen
as they

The scripts are copied to new SoaS devices prepared with these scripts so
that they can propagate themselves.


1. Review and testing.
3. Submission of modified_livecd-iso-to-disk upstream
2. A way to determine the name of the secondary USB device partition
   in the transferSugarImage script.
3. A Sugar Activity that calls the scripts.

These steps should help us prepare a SoaS customization kit.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sugarlabs.org/archive/soas/attachments/20100406/ce49d4ca/attachment.htm 

More information about the SoaS mailing list