Difference between revisions of "LiveOS image"

From Sugar Labs
Jump to navigation Jump to search
m
(correct Sugar Activity Storage locations)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>{{TOCright}}
+
<noinclude>[[Category:Live USB]]
[[Category:Live USB]]
 
 
</noinclude>
 
</noinclude>
 +
''This page has been moved to the [[fedora:Fedora_Project_Wiki|Fedora Project Wiki]].''
  
==Introduction==
+
Additional information for [[Sugar on a Stick]] is available [[#Sugar Activity Storage|below the frame]].
Fedora has developed [[wikipedia:Live CD|Live CD]] [[wikipedia:Live USB|USB]] DVD images for their GNU/Linux operating system. Since the image file systems are stored in the /LiveOS folder of the image, this is the name we'll use to reference their product.
 
  
This page shares some information about the LiveOS design that helps [[Sugar on a Stick]] Learners make better use of their disc resources.
+
The frame below is an active view of the [[fedora:LiveOS image|LiveOS image]] page on the Fedora Project Wiki:
  
==References==
+
{{#widget:Iframe
 +
|url=https://fedoraproject.org/wiki/LiveOS_image
 +
|width=893
 +
|height=900
 +
|border=1
 +
}}
  
* [[fedora:FedoraLiveCD|FedoraLiveCD]]
+
==Sugar Activity Storage==
* [[fedora:How to create and use a Live CD|How to create and use a Live CD]]
+
Activity bundles that come pre-installed with the Sugar on a Stick (SoaS) are saved in the /usr/share/sugar/activities folder of the root filesystem. When Activities are updated from the Sugar Control Panel, the new Activity bundles are saved in the /home/liveuser/Activities folder.  When an Activity is run, Activity instance data is saved in the Sugar Journal in /home/liveuser/.sugar/default/<activity bundle_id> folder and /home/liveuser/.sugar/default/datastore/<hashed folder names>
* [[fedora:How to create and use Live USB|How to create and use Live USB]]
 
  
==Storage==
+
When additional Activity bundles are downloaded, they are saved in the /home/liveuser/Activities folder (but not the /usr/share/sugar/activities folder).
The Fedora LiveOS system allows for persistent storage in 3 ways:
+
Thus, when SoaS is installed with the --home-size-mb NNN option of livecd-iso-to-disk, storage for the Activities one wants to try and, perhaps later, throw away, is made available without consuming the write-once root filesystem overlay, which can be consumed very quickly (and overlay file space is not directly reusable).
  
# A general persistent overlay - a compressed, write-once, fixed-size file space that will save updates and changes to the LiveOS image (Activities, operating system changes, anything written in the LiveOS file space).
+
==Device filesystem==
# Persistent Home folder - a re-sizable (with difficulty), uncompressed, optionally-encryptable, file space for anything that goes in the Learner's /home/ folder (all the Sugar Activities, logs, and good stuff).  A persistent home fold is an option that must be selected at the time of installation of the LiveOS image. This option is only available through the installation scripts, 'livecd-iso-to-disk' or 'modified_livecd-iso-to-disk'. The Windows and Fedora 'Live USB Creator' installers do not provide this option as of April 2010.
 
# Host device file space - this is the file system that is outside of the LiveOS file tree, but accessible through the /mnt/live folder mount point.  There, one finds the boot configuration files and anything else one had on the device before loading the SoaS image.  One may be save files here without consuming the other limited file spaces,  (limited by device capacity).
 
  
The standard persistent overlay is needed for operating system changes and updates.
+
The filesystem of the USB/SD flash storage device before SoaS was loaded is available through the /run/initramfs/live mount point (/mnt/live before Fedora 17 or SoaS Quandong).  It would be helpful if the Sugar Journal code were adjusted to recognize this partition structure and offer this space as an attached disk to facilitate file sharing.)
  
But, one may find many advantages to installing Sugar on a Stick with a persistent home folder (using the --home-size-mb NN --delete-home options), which will hold all the Activities one wants to try and, perhaps later, throw away&mdash;all without consuming the write-once overlay that would fill up very quickly.
+
==Installation options==
 +
[[Sugar on a Stick]] may be installed on a 1 GB USB device using the following options with '''[[fedora:livecd-iso-to-disk|livecd-iso-to-disk]]''' (on a single, Terminal Activity or console command line, even though the wiki may wrap the following text in accord with your browser window size):
  
Additionally, keeping some storage space on the device disc outside of the LiveOS system will let you copy, carry, and delete large resource files, such as image.iso files, or anything you might want to use or share.  (We should adjust the Journal code to show this root mount to facilitate file sharing.)
+
:{{Code|./livecd-iso-to-disk --reset-mbr --overlay-size-mb '''200''' --home-size-mb '''150''' --delete-home --unencrypted-home /path/to/source/iso/or/device /dev/sd'''?'''1}}
  
Sugar on a Stick may be installed on a 1-GB USB device using the following options with ''livecd-iso-to-disk'' or ''modified_livecd-iso-to-disk'' (on a single Terminal Activity or console command line, even though the wiki may wrap the following text according to your browser window size):
+
:: where '{{Code|'''?'''}}' in the final parameter represents the target bootable device node, such as {{Code|sd'''b'''1}} or {{Code|sd'''c'''1}}, etc.
  
:{{Code|./livecd-iso-to-disk --overlay-size-mb 200 --home-size-mb 200 --delete-home --unencrypted-home /path/to/source/iso/or/device /dev/sd'''?'''1}}
+
The above configuration would allow space for the home folder, the operating system, and a little on the device root.
  
:: where '{{Code|'''?'''}}' in the final parameter represents the target bootable device node, such as {{Code|sdb1}} or {{Code|sdc1}}, etc.
+
But with a larger capacity device, one may allocate the resources to suit the anticipated use, as described above.
:: (You may use '\' line-continuation symbols followed by a newline [enter or return keypress] to break a long line visually on the terminal, but not logically to the script processing software.)
 
  
The above configuration would allow space for the home folder, the operating system, and a little on the device root.
+
==File Systems==
 +
 
 +
Consumption of the space allocated for persistent storage in the snapshot overlay file may be tracked with the ''device mapper'' {{Code|dmsetup status}} report.  '''Sugar Cellar''' is a small, utility script which uses that service to allow for Learner testing and discovery. It will help Learners manage their storage resources and learn ways to economize limited resources.
 +
 +
* ''Sugar Cellar'' is available at http://people.sugarlabs.org/fgrose/SugarCellar and as a component of [[Sugar on a Stick/Sugar Clone]].
  
But with a larger storage device, one can allocate the resources to suit the anticipated use as described above.
+
Several developments in the Sugar on a Stick design may be considered to maximize the endurance of the LiveOS image.
  
==File Systems==
+
==Image customization, recompression, and overlay refreshment==
  
The Fedora LiveOS uses the [[wikipedia:Device mapper|Device-mapper]] service of the Linux kernel to manage the file stores on the deviceThis is the same service that is used by [[wikipedia:Logical Volume Manager (Linux)|Logical Volume Manager]] to provide disc partition services.
+
[[Sugar on a Stick/Sugar Clone]] provides a method to build a customized LiveOS image installation file through the [[Sugar_on_a_Stick/Sugar_Clone#SoaS-remix | SoaS-remix]] bundle.  The SoaS-remix.iso installation file can be used to redistribute the customized image.  A new installation from this .iso will have the old image recompressed and a fresh overlay. With the current version, the home.img file must be manually copied to a new installationOne's aging SoaS image can be refreshed by an over-installation (see the instructions on the referenced page).
  
One limitation, mentioned above, is that the LiveOS persistent overlay is a write-once file space.  This is related to its use of ''device mapper'' snapshots to merge a read-only file system image with a [[wikipedia:Copy-on-write|Copy-on-write]] service that tracks only changed bits of data in the snapshot file and then re-referencing any pointers to any updated bits.  Any changes to the operating system files are stored as differences from the base. As such, "deletions" of files are saved as additional difference references, and the originals are hidden, and so, physical storage space is consumed in the write-once file space rather than recovered.
+
Development is proceeding on a new version of Sugar Clone, which uses the Device-mapper mirror facility to copy and merge the root filesystem and overlay, and then replaces the compressed SquashFS images on the USB or SD card with fresh, recompressed versions along with a refreshed overlay.  This procedure does not require re-running the livecd-iso-to-disk script to effect the refreshment.  An updated version of livecd-iso-to-disk will provide --copy-home, --reset-overlay, & --include <path s> options to support installation of the new, remixed builds.
  
To track the consumption of the space allocated for persistent storage, the snapshot overlay file, the ''device mapper'' service {{Code|dmsetup}} provides a {{Code|status}} report.  '''Sugar Cellar''' is a small, utility script which uses that service to allow for Learner testing and discovery. This will help Learners manage their storage resources and learn ways to economize limited resources.
+
The remix building of a LiveOS image is also a good way to maintain and distribute system updates. Many software security, enhancement, and bug fixes are distributed through PackageKit (Software Update) or Yum update, which are turned off by default on LiveOS installations like SoaS.  After manually running an update, the image can be remixed to incorporate the changes into a new Updated-SoaS.iso fileThis process could be migrated to the Sugar BuildBot service to provide the Community with an up-to-date Sugar on a Stick image.
   
 
* ''Sugar Cellar'' is available at http://people.sugarlabs.org/fgrose/SugarCellar and as a component of [[Sugar on a Stick/Sugar Clone]].
 

Latest revision as of 08:34, 22 August 2012


This page has been moved to the Fedora Project Wiki.

Additional information for Sugar on a Stick is available below the frame.

The frame below is an active view of the LiveOS image page on the Fedora Project Wiki:

Sugar Activity Storage

Activity bundles that come pre-installed with the Sugar on a Stick (SoaS) are saved in the /usr/share/sugar/activities folder of the root filesystem. When Activities are updated from the Sugar Control Panel, the new Activity bundles are saved in the /home/liveuser/Activities folder. When an Activity is run, Activity instance data is saved in the Sugar Journal in /home/liveuser/.sugar/default/<activity bundle_id> folder and /home/liveuser/.sugar/default/datastore/<hashed folder names>

When additional Activity bundles are downloaded, they are saved in the /home/liveuser/Activities folder (but not the /usr/share/sugar/activities folder). Thus, when SoaS is installed with the --home-size-mb NNN option of livecd-iso-to-disk, storage for the Activities one wants to try and, perhaps later, throw away, is made available without consuming the write-once root filesystem overlay, which can be consumed very quickly (and overlay file space is not directly reusable).

Device filesystem

The filesystem of the USB/SD flash storage device before SoaS was loaded is available through the /run/initramfs/live mount point (/mnt/live before Fedora 17 or SoaS Quandong). It would be helpful if the Sugar Journal code were adjusted to recognize this partition structure and offer this space as an attached disk to facilitate file sharing.)

Installation options

Sugar on a Stick may be installed on a 1 GB USB device using the following options with livecd-iso-to-disk (on a single, Terminal Activity or console command line, even though the wiki may wrap the following text in accord with your browser window size):

./livecd-iso-to-disk --reset-mbr --overlay-size-mb 200 --home-size-mb 150 --delete-home --unencrypted-home /path/to/source/iso/or/device /dev/sd?1
where '?' in the final parameter represents the target bootable device node, such as sdb1 or sdc1, etc.

The above configuration would allow space for the home folder, the operating system, and a little on the device root.

But with a larger capacity device, one may allocate the resources to suit the anticipated use, as described above.

File Systems

Consumption of the space allocated for persistent storage in the snapshot overlay file may be tracked with the device mapper dmsetup status report. Sugar Cellar is a small, utility script which uses that service to allow for Learner testing and discovery. It will help Learners manage their storage resources and learn ways to economize limited resources.

Several developments in the Sugar on a Stick design may be considered to maximize the endurance of the LiveOS image.

Image customization, recompression, and overlay refreshment

Sugar on a Stick/Sugar Clone provides a method to build a customized LiveOS image installation file through the SoaS-remix bundle. The SoaS-remix.iso installation file can be used to redistribute the customized image. A new installation from this .iso will have the old image recompressed and a fresh overlay. With the current version, the home.img file must be manually copied to a new installation. One's aging SoaS image can be refreshed by an over-installation (see the instructions on the referenced page).

Development is proceeding on a new version of Sugar Clone, which uses the Device-mapper mirror facility to copy and merge the root filesystem and overlay, and then replaces the compressed SquashFS images on the USB or SD card with fresh, recompressed versions along with a refreshed overlay. This procedure does not require re-running the livecd-iso-to-disk script to effect the refreshment. An updated version of livecd-iso-to-disk will provide --copy-home, --reset-overlay, & --include <path s> options to support installation of the new, remixed builds.

The remix building of a LiveOS image is also a good way to maintain and distribute system updates. Many software security, enhancement, and bug fixes are distributed through PackageKit (Software Update) or Yum update, which are turned off by default on LiveOS installations like SoaS. After manually running an update, the image can be remixed to incorporate the changes into a new Updated-SoaS.iso file. This process could be migrated to the Sugar BuildBot service to provide the Community with an up-to-date Sugar on a Stick image.