Sugar on a Stick/Resources

Project Home   ·   Get Involved   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Meetings

Project Definition

Sugar on a Stick is is a project to distribute and deploy the Sugar Learning Platform on inexpensive USB and SD flash storage devices, which people can easily carry from home to school to library to clubhouse to any computing device and back home again for seamless continuation of their learning Activities and collaborations.

Simultaneously, the project must

  1. overcome the technical challenges of building and distributing a transportable GNU/Linux operating system—in the sense that each installation must work on multiple and diverse computing platforms to provide the individual with continuous accessibility to their friends and activities, and
  2. develop the social structures to best deploy this new, on-line, off-line, resumable, collaborative technical capability within and between the communities where learning occurs.

Thus, distribution no longer just means get the software onto an end user's computer, where it can be stably configured for a single hardware environment. The installation must be ready to be picked up and moved to another, wholly different environment. This goal presents many technical challenges that are new, or made more significant by the goal's importance to the project's essence.

Developing the social mechanisms to imagine, plan, and deploy this leap in technology is also at the core of the project. We must take existing community resources, often old and institutionalized, and reconstruct them around the movements of the learners and their collaborators. Just as the human brain grows and develops in a social context, the Sugar Learning Platform aims to offer a constantly accessible, electronic, supplementary companion set of tools for learning, and ultimately, growing our capabilities in human society.

Having persistence of availability of the learner's Activities and collaborations permits repeated and deep exploration of concepts and phenomena, and moves the external system closer to being an adaptable learning appendage.

Project Planning

Use Cases

This is a list of ways we're working to support SoaS installation and their status. TODO: replace with a flow chart.

Sugar:

  1. On a Stick:
    1. Mobile booting using USB boot support in BIOS - implemented
    2. Mobile booting using ISO helper CDs - implemented
    3. Mobile virtualization or emulation - unimplemented
    4. Combination of booting and emulation - unimplemented
      • VMware (VMware Player and Appliance on one 8-GB bootable stick, or a 4-GB boot stick and a 4-GB stick with the Appliance) works but is complicated. (Waiting for Fedora 11 to allow VMware Player installation; this workaround uses Ubuntu 9.04 boot stick with VMPlayer.)
  2. On a fixed hard disk:
    1. Local booting with storage - implemented via various distros.
    2. Local booting with external storage - unimplemented, students would insert their SoaS stick and the fixed system would operate off their transportable data, and optionally, update their stick's software to the latest image.

Installation Methods

  1. Windows/Mac/Linux
    1. LiveUSB creator script - implemented
  2. Windows
    1. SoaS-emu - installer for a SoaS appliance on the local machine - work in progress
    2. MokaFive portable player installer - investigating
  3. Virtualization environments
    1. Boot a SoaS image on a USB device in VirtualBox. See this discussion thread.
    2. Live CD which boots a Mac OS X version of VirtualBox and uses a SoaS USB device as the guest OS. See this discussion thread.
    3. Live CD which boots to live user and autostarts VMware Player (installed in CD SquashFS). Then students can sequentially insert their USB Stick and work on same PC - "idea" [satellit 07/05/2009]
  4. Other variations
    1. Live CD which creates USB sticks - works in SoaS Strawberry
      1. Insert the target USB storage device into your computer,
      2. Boot from a CD-ROM burnt with the soas-strawberry.iso image,
      3. Launch Terminal,
      4. Switch to the root user, su -l
      5. Unmount the USB device, umount /dev/sdb1
      6. Install the live image to the USB device by executing the following, single command with arguments:
        /mnt/live/LiveOS/livecd-iso-to-disk --noverify --overlay-size-mb 300 --home-size-mb 160 --unencrypted-home --delete-home /dev/sr0 /dev/sdb1
        Note: If you have more than 1 hard disc or USB device, you should verify the name of the USB storage device by reviewing the output of the mount command before step 5 above.
    2. zyx-liveinstaller (in Terminal) in SoaS v2 betas can be used to make USB installations from the running live CD. - "works in latest iso"
    3. dd install to USB device with F12 dual mode .iso "works, but offers no persistence"

More Information

Home View Design

See this page for ideas about the Home view design.

Initial Home View Activities

Discussion of which Activities should be visible on initial display of the Home view is appropriate here. See this sugar-devel thread for the background.