Difference between revisions of "Sugar on a Stick/Linux"

From Sugar Labs
Jump to navigation Jump to search
m (fixed link)
(F17 update)
Line 3: Line 3:
 
</noinclude>
 
</noinclude>
 
== Introduction ==
 
== Introduction ==
This page provides additional detail for loading '''[[Sugar on a Stick/Pineapple|Pineapple]]''', the most stable, released version of Sugar on a Stick (SoaS), available at [http://spins.fedoraproject.org/soas/#downloads this download site], onto a USB/SD flash storage device using GNU/Linux.
+
This page provides additional detail for loading '''[[Sugar on a Stick/Quandong|Quandong]]''', the most stable, released version of Sugar on a Stick (SoaS), available at [[Sugar on a Stick/Downloads]], onto a USB/SD flash storage device using GNU/Linux.
  
 
: To explore a variety of '''experimental''' options for putting a [[What is Sugar?|Sugar]] image on a USB or SD flash drive under GNU/Linux, see the following pages:
 
: To explore a variety of '''experimental''' options for putting a [[What is Sugar?|Sugar]] image on a USB or SD flash drive under GNU/Linux, see the following pages:
Line 25: Line 25:
 
* Plug in a 2 GB or larger USB stick into your computer.
 
* Plug in a 2 GB or larger USB stick into your computer.
 
* Mount the 'SoaS.iso' image to reach the onboard livecd-iso-to-disk installation script:
 
* Mount the 'SoaS.iso' image to reach the onboard livecd-iso-to-disk installation script:
: {{Code|sudo mkdir /mnt/soas/}}
+
: {{Code|sudo mkdir /media/soas/}}
: {{Code|sudo mount /path/to/Fedora-16-x86_64-Live-SoaS.iso /mnt/soas/}}
+
: {{Code|sudo mount /path/to/Fedora-17-x86_64-Live-SoaS.iso /media/soas/}}
:: (mount: warning: /mnt/soas/ seems to be mounted read-only.)
+
:: (mount: warning: /media/soas/ seems to be mounted read-only.)
 
* Change the working directory to the LiveOS folder on the SoaS.iso mount:
 
* Change the working directory to the LiveOS folder on the SoaS.iso mount:
: {{Code|cd /mnt/soas/LiveOS}}
+
: {{Code|cd /media/soas/LiveOS}}
 
* Execute {{Code|./livecd-iso-to-disk --help}} for usage details. (The file is already executable.)
 
* Execute {{Code|./livecd-iso-to-disk --help}} for usage details. (The file is already executable.)
  
Line 46: Line 46:
 
/dev/sda2    ext4    20G  12G  7.5G  61% /var/tmp
 
/dev/sda2    ext4    20G  12G  7.5G  61% /var/tmp
 
/dev/sda2    ext4    20G  12G  7.5G  61% /home
 
/dev/sda2    ext4    20G  12G  7.5G  61% /home
/dev/loop0 iso9660    443M 443M     0 100% /mnt/soas
+
/dev/loop0 iso9660    509M 509M     0 100% /media/soas
/dev/sdc1    vfat    3.8G  4.0K  3.8G  1% /media/MyUSBdiscMountPoint
+
/dev/sdc1    vfat    3.8G  4.0K  3.8G  1% /run/media/MyAccount/MyUSBdiscMountPoint
 
</pre>
 
</pre>
  
 
* Unmount the drive,<br>
 
* Unmount the drive,<br>
: {{Code|sudo umount /media/MyUSBdiscMountPoint}}
+
: {{Code|sudo umount /run/media/MyAccount/MyUSBdiscMountPoint}}
  
 
* Then check to see that the partition is marked as bootable,<br>
 
* Then check to see that the partition is marked as bootable,<br>
Line 85: Line 85:
  
 
* Run {{Code|livecd-iso-to-disk}} as the root user, making sure to pass the correct USB device node name and to set overlay and home size appropriately, depending on the target USB device storage capacity.
 
* Run {{Code|livecd-iso-to-disk}} as the root user, making sure to pass the correct USB device node name and to set overlay and home size appropriately, depending on the target USB device storage capacity.
: {{Code|sudo ./livecd-iso-to-disk --reset-mbr --overlay-size-mb '''500''' --home-size-mb '''900''' --delete-home --unencrypted-home /path/to/SoaS.iso /dev/sd'''c'''1}}
+
:<div style="padding: 1em; border: 1px dashed #2F6FAB; background-color: #FBFBFB; margin: 1em 0px 1em 0em; font-family: Courier;">./livecd-iso-to-disk --reset-mbr --overlay-size-mb '''500''' --home-size-mb '''900''' --delete-home --unencrypted-home '''/path/to/source'''.iso /dev/sd'''?'''1</div>
:: (In the above example, the /path/to/SoaS.iso may be substituted with /dev/loop0, as this is the loop device that the mount command chose.)
+
:: (In the above example, the {{Code|'''/path/to/source'''.iso}} may be substituted with {{Code|/dev/loop0}}, as this is the loop device that the mount command chose.)
:: {{Highlight|'''Note''': Additional USB or SD devices may be loaded from a running ''Sugar on a Stick'' image that was loaded with the livecd-iso-to-disk script downloaded after 15 February 2011 (but not those installed by other methods) by running this command from a root user Terminal window:}}
+
: {{Highlight|'''Note''': Additional USB or SD devices may be loaded from a running ''Sugar on a Stick'' image that was loaded with the livecd-iso-to-disk script (but not those installed by other methods) by running this command in the Terminal Activity as a root user:}}
:: {{Code|/mnt/live/LiveOS/livecd-iso-to-disk --reset-mbr --overlay-size-mb '''500''' --home-size-mb '''900''' --delete-home --unencrypted-home /dev/sr0 /dev/sd'''?'''1}}
+
:<div style="padding: 1em; border: 1px dashed #2F6FAB; background-color: #FBFBFB; margin: 1em 0px 1em 0em; font-family: Courier;">/run/initramfs/live/LiveOS/livecd-iso-to-disk --reset-mbr --overlay-size-mb '''500''' --home-size-mb '''900''' --delete-home --unencrypted-home /run/initramfs/livedev /dev/sd'''?'''1</div>
 
: The ''livecd-iso-to-disk'' installation method has other advantages over the ''liveusb-creator'' method by allowing the creation of a separate,  persistent /home/liveuser folder with the <tt>--home-size-mb ''NNN''</tt> option. This feature avoids consumption of the write-once persistent overlay for Activity storage (see [[LiveOS image]]) and allows one to update the OS image while keeping the user files (by running the script against your existing installation but <u>leaving out</u> the --home-size-mb NNN option).
 
: The ''livecd-iso-to-disk'' installation method has other advantages over the ''liveusb-creator'' method by allowing the creation of a separate,  persistent /home/liveuser folder with the <tt>--home-size-mb ''NNN''</tt> option. This feature avoids consumption of the write-once persistent overlay for Activity storage (see [[LiveOS image]]) and allows one to update the OS image while keeping the user files (by running the script against your existing installation but <u>leaving out</u> the --home-size-mb NNN option).
 
::* The {{Code|--delete-home}} option is used to avoid an error message while requesting both a new home (with {{Code|--home-size-mb}}) and a persistent home (indirectly with {{Code|--unencrypted-home}}). You wouldn't use the --delete-home option on an upgrade of the operation system only.
 
::* The {{Code|--delete-home}} option is used to avoid an error message while requesting both a new home (with {{Code|--home-size-mb}}) and a persistent home (indirectly with {{Code|--unencrypted-home}}). You wouldn't use the --delete-home option on an upgrade of the operation system only.
Line 102: Line 102:
  
 
<pre>
 
<pre>
[LiveOS]$ sudo ./livecd-iso-to-disk --reset-mbr --overlay-size-mb 500 --home-size-mb 900 --delete-home --unencrypted-home /media/SoaS/Fedora-16-x86_64-Live-SoaS.iso /dev/sdc1
+
[LiveOS]$ sudo ./livecd-iso-to-disk --reset-mbr --overlay-size-mb 500 --home-size-mb 900 --delete-home --unencrypted-home /media/SoaS/Fedora-17-x86_64-Live-SoaS.iso /dev/sdc1
 
Verifying image...
 
Verifying image...
/media/SoaS/Fedora-16-x86_64-Live-SoaS.iso:  5fb3054f09478a6ae12e2384c2e0142d
+
/media/SoaS/Fedora-17-x86_64-Live-SoaS.iso:  470134baa7e48085595243e53b55d41e
Fragment sums: f772712c38fa22679ddadffa69fea8a9c64e85db24c7a3eec3ca7aa324af
+
Fragment sums: 7de3e14f3d5aa991343fa35bdfe3a1db59d578db95a844a63d22de789de1
 
Fragment count: 20
 
Fragment count: 20
 
Press [Esc] to abort check.
 
Press [Esc] to abort check.
Line 115: Line 115:
 
Copying live image to target device.
 
Copying live image to target device.
 
squashfs.img
 
squashfs.img
   447225856 100%  56.88MB/s    0:00:07 (xfer#1, to-check=0/1)
+
   512344064 100%  43.04MB/s    0:00:11 (xfer#1, to-check=0/1)
  
sent 447280525 bytes  received 31 bytes  52621241.88 bytes/sec
+
sent 512406681 bytes  received 31 bytes  44557105.39 bytes/sec
total size is 447225856 speedup is 1.00
+
total size is 512344064 speedup is 1.00
 
osmin.img
 
osmin.img
 
         8192 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)
 
         8192 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)
Line 128: Line 128:
 
500+0 records in
 
500+0 records in
 
500+0 records out
 
500+0 records out
524288000 bytes (524 MB) copied, 62.769 s, 8.4 MB/s
+
524288000 bytes (524 MB) copied, 5.1728 s, 101 MB/s
 
Initializing persistent /home
 
Initializing persistent /home
 
900+0 records in
 
900+0 records in
 
900+0 records out
 
900+0 records out
943718400 bytes (944 MB) copied, 384.582 s, 2.5 MB/s
+
943718400 bytes (944 MB) copied, 152.195 s, 6.2 MB/s
 
Formatting unencrypted /home
 
Formatting unencrypted /home
mke2fs 1.41.14 (22-Dec-2010)
+
mke2fs 1.42.3 (14-May-2012)
 
Filesystem label=
 
Filesystem label=
 
OS type: Linux
 
OS type: Linux
Line 150: Line 150:
 
32768, 98304, 163840, 229376
 
32768, 98304, 163840, 229376
  
 +
Allocating group tables: done                           
 
Writing inode tables: done                             
 
Writing inode tables: done                             
 
Creating journal (4096 blocks): done
 
Creating journal (4096 blocks): done
 
Writing superblocks and filesystem accounting information: done
 
Writing superblocks and filesystem accounting information: done
  
This filesystem will be automatically checked every 34 mounts or
+
tune2fs 1.42.3 (14-May-2012)
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 
tune2fs 1.41.14 (22-Dec-2010)
 
 
Setting maximal mount count to -1
 
Setting maximal mount count to -1
 
Setting interval between checks to 0 seconds
 
Setting interval between checks to 0 seconds

Revision as of 22:34, 13 July 2012


Introduction

This page provides additional detail for loading Quandong, the most stable, released version of Sugar on a Stick (SoaS), available at Sugar on a Stick/Downloads, onto a USB/SD flash storage device using GNU/Linux.

To explore a variety of experimental options for putting a Sugar image on a USB or SD flash drive under GNU/Linux, see the following pages:
SoaS test builds | OLPC XO-1 | openSUSE | Trisquel | VirtualBox | VMware | non-compressed Fedora | Live USB: (all known portable Sugar distributions)

If you have questions, trouble, or feedback, please let us know on the discussion page. If you can improve these instructions, please edit the page and do so!

Load SoaS onto a stick using Fedora or Ubuntu

This is known to work in Fedora and Ubuntu.

First, download a SoaS .iso image from http://spins.fedoraproject.org/soas/#downloads, then return here.

  • Make sure you have the syslinux package installed on the operating system that you will use to prepare the Live USB image. It is recommended that you also have the isomd5sum package installed. The cryptsetup package is another option potentially used by the "livecd-iso-to-disk" installation script. (On Ubuntu, sudo apt-get install syslinux isomd5sum cryptsetup will install the packages. They are also available through the Synaptic Package Manager.)
(On Gentoo, one needs to uncomment 'SAMPLE FILE' in /etc/mtools/mtools.conf to make syslinux work.)
  • syslinux is needed to set up booting on the FAT file system of the USB disc or Live CD.
  • isomd5sum is needed for the recommended verification step, which checks that the .iso file is complete after its travels. If there is a problem with the .iso file, the script will exit and provide a failure message. The verification step can be bypassed by using the --noverify option.
  • cryptsetup is only needed for the option to provide password protection and encryption for the persistent /home/liveuser folder. It is not necessary if one applies the recommended --unencrypted-home option. The --unencrypted-home option is preferred because the reduced overhead improves robustness with the compressed SquashFS file system employed by the Live USB deployment.
  • Plug in a 2 GB or larger USB stick into your computer.
  • Mount the 'SoaS.iso' image to reach the onboard livecd-iso-to-disk installation script:
sudo mkdir /media/soas/
sudo mount /path/to/Fedora-17-x86_64-Live-SoaS.iso /media/soas/
(mount: warning: /media/soas/ seems to be mounted read-only.)
  • Change the working directory to the LiveOS folder on the SoaS.iso mount:
cd /media/soas/LiveOS
  • Execute ./livecd-iso-to-disk --help for usage details. (The file is already executable.)
  • Check the USB device node name on your system. In the example below, the scsi device is /dev/sdc and filesystem partition on that device is /dev/sdc1:
$ df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
rootfs      rootfs     20G   12G  7.5G  61% /
udev      devtmpfs    1.6G     0  1.6G   0% /dev
tmpfs        tmpfs    1.6G  904K  1.6G   1% /dev/shm
tmpfs        tmpfs    1.6G  788K  1.6G   1% /run
/dev/sda2     ext4     20G   12G  7.5G  61% /
tmpfs        tmpfs    1.6G     0  1.6G   0% /sys/fs/cgroup
tmpfs        tmpfs    1.6G     0  1.6G   0% /media
/dev/sda2     ext4     20G   12G  7.5G  61% /tmp
/dev/sda2     ext4     20G   12G  7.5G  61% /var/tmp
/dev/sda2     ext4     20G   12G  7.5G  61% /home
/dev/loop0 iso9660    509M  509M     0 100% /media/soas
/dev/sdc1     vfat    3.8G  4.0K  3.8G   1% /run/media/MyAccount/MyUSBdiscMountPoint
  • Unmount the drive,
sudo umount /run/media/MyAccount/MyUSBdiscMountPoint
  • Then check to see that the partition is marked as bootable,
sudo fdisk -l /dev/sdc <----that's a lowercase letter 'L' for the list option.

You should see output that looks like this:

$ sudo fdisk -l /dev/sdc

Disk /dev/sdc: 4012 MB, 4012900352 bytes
124 heads, 62 sectors/track, 1019 cylinders, total 7837696 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000a9c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *          62     7834071     3917005    c  W95 FAT32 (LBA)

The '*' under the Boot column is what you want to see.

    If not, then
  • For Ubuntu 8.10, menu: System -> Administration -> Partition Editor (GParted).
  1. Select your USB device (/dev/sdb for the rest of these instructions),
  2. then your partition (/dev/sdb1),
  3. then menu: Partition -> Manage Flags,
  4. check the boot box,
  5. and Close to mark the partition as bootable.
  • For Fedora,
  1. parted /dev/sdc
  2. toggle 1 boot
  3. quit
  • Run livecd-iso-to-disk as the root user, making sure to pass the correct USB device node name and to set overlay and home size appropriately, depending on the target USB device storage capacity.
./livecd-iso-to-disk --reset-mbr --overlay-size-mb 500 --home-size-mb 900 --delete-home --unencrypted-home /path/to/source.iso /dev/sd?1
(In the above example, the /path/to/source.iso may be substituted with /dev/loop0, as this is the loop device that the mount command chose.)
Note: Additional USB or SD devices may be loaded from a running Sugar on a Stick image that was loaded with the livecd-iso-to-disk script (but not those installed by other methods) by running this command in the Terminal Activity as a root user:
/run/initramfs/live/LiveOS/livecd-iso-to-disk --reset-mbr --overlay-size-mb 500 --home-size-mb 900 --delete-home --unencrypted-home /run/initramfs/livedev /dev/sd?1
The livecd-iso-to-disk installation method has other advantages over the liveusb-creator method by allowing the creation of a separate, persistent /home/liveuser folder with the --home-size-mb NNN option. This feature avoids consumption of the write-once persistent overlay for Activity storage (see LiveOS image) and allows one to update the OS image while keeping the user files (by running the script against your existing installation but leaving out the --home-size-mb NNN option).
  • The --delete-home option is used to avoid an error message while requesting both a new home (with --home-size-mb) and a persistent home (indirectly with --unencrypted-home). You wouldn't use the --delete-home option on an upgrade of the operation system only.
Depending on the size of your USB stick, you may have to decrease --overlay-size-mb and --home-size-mb values (for example, for a 2 GB stick, use 500 for the overlay and 900 for the home folder).
If you have sufficient capacity on your target device, and format it with an ext[234] filesystem to overcome the 2048-MB fat32 file size limit, you may avoid the SquashFS compression by including the --skipcompress option in the script command line.
  • Watch out for errors in the output of the script, the script seems to ignore them! (and say all is fine on the last line).

livecd-iso-to-disk transcript

[LiveOS]$ sudo ./livecd-iso-to-disk --reset-mbr --overlay-size-mb 500 --home-size-mb 900 --delete-home --unencrypted-home /media/SoaS/Fedora-17-x86_64-Live-SoaS.iso /dev/sdc1
Verifying image...
/media/SoaS/Fedora-17-x86_64-Live-SoaS.iso:   470134baa7e48085595243e53b55d41e
Fragment sums: 7de3e14f3d5aa991343fa35bdfe3a1db59d578db95a844a63d22de789de1
Fragment count: 20
Press [Esc] to abort check.
Checking: 100.0%

The media check is complete, the result is: PASS.

It is OK to use this media.
Copying live image to target device.
squashfs.img
   512344064 100%   43.04MB/s    0:00:11 (xfer#1, to-check=0/1)

sent 512406681 bytes  received 31 bytes  44557105.39 bytes/sec
total size is 512344064  speedup is 1.00
osmin.img
        8192 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 8265 bytes  received 31 bytes  16592.00 bytes/sec
total size is 8192  speedup is 0.99
Updating boot config file
Initializing persistent overlay file
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.1728 s, 101 MB/s
Initializing persistent /home
900+0 records in
900+0 records out
943718400 bytes (944 MB) copied, 152.195 s, 6.2 MB/s
Formatting unencrypted /home
mke2fs 1.42.3 (14-May-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
57600 inodes, 230400 blocks
11520 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=239075328
8 block groups
32768 blocks per group, 32768 fragments per group
7200 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

tune2fs 1.42.3 (14-May-2012)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Installing boot loader
Target device is now set up with a Live image!

What's next?

After you've created your stick, it's time to boot your stick and test it out. Please also report your observations.