Sugar on a Stick/Sugar Clone: Difference between revisions

No edit summary
No edit summary
Line 161: Line 161:
* With edit-liveos (disk-to-iso), a nearly-consumed overlay can be refreshed by rebuilding the system into a new, SquashFS image that re[[wikipedia:Sparse_file|sparse]]s the system files and repackages them into an iso installation file for reuse or distribution.
* With edit-liveos (disk-to-iso), a nearly-consumed overlay can be refreshed by rebuilding the system into a new, SquashFS image that re[[wikipedia:Sparse_file|sparse]]s the system files and repackages them into an iso installation file for reuse or distribution.
===SoaS-remix===
===SoaS-remix===
'''SoaS-remix''' is a bundle of edit-liveos.py and supporting scripts to make testing and use easier. The bundle will change with development. As of 10 February 2011 it contains,
'''SoaS-remix''' is a bundle of edit-liveos.py and supporting scripts to make testing and use easier.
 
The bundle will change with development. As of 10 February 2011 it contains,
* edit-liveos.py - the primary remix builder
* edit-liveos.py - the primary remix builder
* livecd-disk-to-iso - a Bash launcher script for edit-liveos.py
* livecd-disk-to-iso - a Bash launcher script for edit-liveos.py
Line 172: Line 174:
This is my recipe:
This is my recipe:
# Having used the ''livecd-iso-to-disk'' with --home-size-mb NNN to install my SoaS iso onto a Live USB device, I proceed to customize my working Stick with new Activites, content, or system settings as described [[#Introduction|above]] in step 2.
# Having used the ''livecd-iso-to-disk'' with --home-size-mb NNN to install my SoaS iso onto a Live USB device, I proceed to customize my working Stick with new Activites, content, or system settings as described [[#Introduction|above]] in step 2.
# Before copying ''SoaS-remix'' to the Live USB, it may be easiest to open it in an editor and adjust the {{Code|Set}} command at line 80 to something appropriate for your system.<br>
# Before copying ''SoaS-remix'' to the Live USB, it may be easiest to open it in an editor and adjust the {{Code|set}} command statement at line 80 to something appropriate for your system.<br>
#:{{Code|# Example command line. Edit and uncomment the set statement below to suit.}}
#:{{Code|# Example command line. Edit and uncomment the set statement below to suit.}}
#:{{Code|#set -- -v -n SoaSremix -o /media/WD-ext4 -t /media/WD-ext4 -i /GPL \}}
#:{{Code|#set -- -v -n SoaSremix -o /media/WD-ext4 -t /media/WD-ext4 -i /GPL \}}
#:{{Code|#       -r /boot/olpc_build --builder fgrose --clone /dev/live}}
#:{{Code|# &nbsp; &nbsp; &nbsp; -r /boot/olpc_build --builder fgrose --clone /dev/live}}
# I then copy ''SoaS-remix'' onto the USB device bearing a SoaS installation (to the /LiveOS/ folder on the device's filesystem).
# I then copy ''SoaS-remix'' onto the USB device bearing a SoaS installation (to the /LiveOS/ folder on the device's filesystem).
# Before running the ''SoaS-remix'' script bundle, I run these 2 system updates:
# Before running the ''SoaS-remix'' script bundle, I run these 2 system updates:
#* <code>yum install rsync</code>
#* <code>yum install rsync</code>
#* <code>yum update livecd-tools</code>
#* <code>yum update livecd-tools</code>
#*: (Together, these operations consume about 8 MiB of overlay capacity, so be sure to have that available. You can use [[#Sugar Cellar]] to check.)
#*: (Together, these operations consume about 8 MiB of overlay capacity, so be sure to have that available.<br>You can use [[#Sugar Cellar]] to check.)
# I boot my Sugar Stick on a system with a hard disc bearing an ext4-formatted partition with well over 5 GiB of free space.
# I boot my Sugar Stick on a system with a hard disc bearing an ext4-formatted partition with well over 5 GiB of free space.
# Once booted, I mount the partition from a Terminal activity with the root user account:
# Once booted, I mount the partition from a Terminal activity with the root user account:
Line 186: Line 188:
#* <code>mount /dev/sdb2 /media/ext4</code>
#* <code>mount /dev/sdb2 /media/ext4</code>
#*:(The device node and mountpoint names will depend on your resource names.  You might find the device node by issuing <code>df -Th</code> or <code>cat /proc/partitions</code> and knowing something about your disc resources.)
#*:(The device node and mountpoint names will depend on your resource names.  You might find the device node by issuing <code>df -Th</code> or <code>cat /proc/partitions</code> and knowing something about your disc resources.)
# If you didn't edit the {{Code|Set}} command before copying, you can use the vi editor or just invoke ''SoaS-remix'' with suitable parameters, such as,
# If you didn't edit the {{Code|set}} command before copying, you can use the vi editor or just invoke ''SoaS-remix'' with suitable parameters, such as,
#: {{Code|/mnt/live/LiveOS/SoaS-remix -v -n SoaSremix -o /media/ext4 -t /media/ext4 -i /GPL -r /boot/olpc-build --builder fgrose --clone /dev/live}}
#: {{Code|/mnt/live/LiveOS/SoaS-remix -v -n SoaSremix -o /media/ext4 -t /media/ext4 -i /GPL -r /boot/olpc-build --builder fgrose --clone /dev/live}}
# Otherwise, with a proper {{Code|Set}} command, ''SoaS-remix'' may be invoked simply with this command line:
# Otherwise, with a proper {{Code|set}} command statement, ''SoaS-remix'' may be invoked simply with this command line:
#: {{Code|/mnt/live/LiveOS/SoaS-remix}}
#: {{Code|/mnt/live/LiveOS/SoaS-remix}}


Line 203: Line 205:
  /dev/live device partition (the currently running image).
  /dev/live device partition (the currently running image).


  -h (alone) will show you some more options</nowiki>ns</nowiki>
  -h (alone) will show you some more options</nowiki>




Line 218: Line 220:
* From a root user Terminal activity or console session, issue this installation command:
* From a root user Terminal activity or console session, issue this installation command:
*:  {{Code|/path/to/livecd-iso-to-disk --overlay-size-mb NNN /path/to/refreshed/image.iso /dev/sd?1}}
*:  {{Code|/path/to/livecd-iso-to-disk --overlay-size-mb NNN /path/to/refreshed/image.iso /dev/sd?1}}
* One needs to determine the proper paths on the working systems (for example, on a booted Mango Lassi, the path is {{Code|/LiveOS/livecd-iso-to-disk}}.
* One needs to determine the proper paths on the working systems.
*: For example, on a booted Mango Lassi, the path is {{Code|/LiveOS/livecd-iso-to-disk}}.


If the source Live USB was installed without a separate {{Code|home.img}}, the above commands will also refresh your image, but it will consume the overlay more rapidly as all Activity storage is in the write-once overlay storage.  Even deleting Activities will consume more of the storage! (See [[LiveOS image]].) Because the home folder (Learner's Journal and Activities) are mixed into the system SquashFS image file in this configuration, that portfolio as a whole will be less easily swapped or shared from one device or machine to another.
If the source Live USB was installed without a separate {{Code|home.img}}, the above commands will also refresh your image, but it will consume the overlay more rapidly as all Activity storage is in the write-once overlay storage.  Even deleting Activities will consume more of the storage! (See [[LiveOS image]].) Because the home folder (Learner's Journal and Activities) are mixed into the system SquashFS image file in this configuration, that portfolio as a whole will be less easily swapped or shared from one device or machine to another.


Testing of all of the above would be appreciated.
Testing of any of the above would be appreciated.


The script code is below:
The script code is below: