Sugar on a Stick/Linux
Introduction
This page provides additional detail for installing the most stable, released version of Sugar on a Stick (SoaS), [1] on a USB 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 v2 test builds | OLPC XO-1 | openSUSE | Trisquel | VirtualBox | VMware | non-compressed Fedora | 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!
- Also See this reference for details:[2]
Put SoaS onto a stick using Fedora or Ubuntu
This is known to work in Fedora and Ubuntu.
First, download a SoaS-2-blueberry .iso image from [[3], then return here.
- (A program called UNetBootin available at http://unetbootin.sourceforge.net/ does all this magic for you... or you can do the magic yourself:)
- 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 1-GB or larger USB stick into your computer.
- Download the installation script: http://download.sugarlabs.org/soas/releases/livecd-iso-to-disk.sh (23 June 2009).
(You will execute this script several steps below.) - Check the USB device name. In the example below, the storage device is /dev/sdb and filesystem partition on that device is /dev/sdb1:
- df -h
Filesystem Size Used Avail Use% Mounted on /dev/sda1 19G 7.0G 11G 40% / tmpfs 1.5G 0 1.5G 0% /lib/init/rw varrun 1.5G 96K 1.5G 1% /var/run varlock 1.5G 0 1.5G 0% /var/lock udev 1.5G 2.9M 1.5G 1% /dev tmpfs 1.5G 104K 1.5G 1% /dev/shm lrm 1.5G 2.0M 1.5G 1% /lib/modules/2.6.27-11-generic/volatile /dev/sdb1 996M 913M 84M 92% /mnt/myUSBdisc
- Unmount the drive,
- sudo umount /dev/sdb1
- Then check to see that the partition is marked as bootable,
- sudo fdisk -l <----that's a lowercase letter 'L' for the list option.
You should see output that looks like this:
Disk /dev/sdb: 1047 MB, 1047265280 bytes 255 heads, 63 sectors/track, 127 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0008325f . Device Boot Start End Blocks Id System /dev/sdb1 * 1 127 1020096 6 FAT16
The '*' under the Boot column is what you want to see.
- If not, then
- For Ubuntu 8.10, menu: System -> Administration -> Partition Editor (GParted).
- Select your USB device (/dev/sdb for the rest of these instructions),
- then your partition (/dev/sdb1),
- then menu: Partition -> Manage Flags,
- check the boot box,
- and Close to mark the partition as bootable.
- For Fedora,
- parted /dev/sdb
- toggle 1 boot
- quit
- Change mode to make the script executable.
- chmod +x livecd-iso-to-disk.sh
- Run it as root, making sure to pass the correct USB device and to set overlay and home size appropriately, depending on the stick size.
- sudo ./livecd-iso-to-disk.sh --overlay-size-mb 300 --home-size-mb 160 --delete-home --unencrypted-home soas-strawberry.iso /dev/sdb1
- Note: With the soas-2-blueberry.iso, leave out the 3 options for a separate persistent home. The script will complete successfully, but the new installation startup process will have trouble finding the home folder and fail to complete.
- Normally, the livecd-iso-to-disk installation has the advantage over the liveusb-creator installation method by allowing a persistent /home/liveuser folder with the --home-size-mb NNN option. This feature would allow you 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.
- The
- Normally, the livecd-iso-to-disk installation has the advantage over the liveusb-creator installation method by allowing a persistent /home/liveuser folder with the --home-size-mb NNN option. This feature would allow you 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).
- 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 1-GB stick, use 200 for each).- If you get an error about udevinfo, you have the new version of udev where "udevadm info" is the proper command.
- Create an executable file called udevinfo somewhere in your path with the following contents:
#!/bin/bash
udevadm info $*
- 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).
- If you get an error about udevinfo, you have the new version of udev where "udevadm info" is the proper command.
livecd-iso-to-disk.sh transcript
$ sudo ./livecd-iso-to-disk.sh --overlay-size-mb 300 --home-size-mb 160 --delete-home --unencrypted-home Soas2-200906211228.iso /dev/sdb1 Verifying image... /home/walter/Desktop/Soas2-200906211228.iso: 9f1aa3c7a19dd9c68d1047d681f703c6 Fragment sums: f5ddb7deb26b6474bd59be9f57b6c7abcd624e1ccc682ddf664ba73da4ed Fragment count: 20 Checking: 100.0% The media check is complete, the result is: PASS. It is OK to use this media. Copying live image to USB stick Updating boot config file Initializing persistent overlay file 300+0 records in 300+0 records out 314572800 bytes (315 MB) copied, 88.7551 s, 3.5 MB/s Initializing persistent /home 160+0 records in 160+0 records out 167772160 bytes (168 MB) copied, 48.1191 s, 3.5 MB/s Formatting unencrypted /home mke2fs 1.41.4 (27-Jan-2009) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 40960 inodes, 163840 blocks 8192 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 20 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. tune2fs 1.41.4 (27-Jan-2009) Setting maximal mount count to -1 Setting interval between checks to 0 seconds Installing boot loader USB stick set up as live image!
Use liveusb-creator to make new Live USB as Installer USB (Unsupported and Experimental)
Make Installer USB
1_)use soas-2-blueberry CD to make 4GB or Better 8GB Live USB with liveusb-creator
First boot from soas-2-blueberry CD
In Terminal: zyx-liveinstaller install to fat 16 or fat 32 USB choose / and /boot as same /dev/sd(x)* Be sure it is your USB not your Hard Disk! when finished exit from soas-2-blueberry
- (hint in terminal: enter "gparted" and look at the available HD and USB and note name you want to use. Exit gparted)
2-)Boot from USB made with zyx-liveinstaller
In terminal: su - root # yum install liveusb-creator (13 files 22MB will download)
Use liveusb-creator to make new Live USB
3-) Insert CD containing soas xxxxx.iso (note this is .iso not Burned CD from .iso)
4-) Insert 2nd USB stick to use to make LiveUSB (suggested format: fat16,)
In terminal:"liveusb-creator" select correct USB (usually 1 letter higher than your boot USB) ie: if Booted USB is /dev/sda target USB will be /dev/sdb select to find CD with .iso file move slider to desired perisitence file size start making USB exit from running USB and then boot New USB you just created!
This method installs soas-3-20091228.iso to a live USB Stick
Thus you do not need to use the same version that is on the Installer USB
Note: You cannot use a downloaded xxxxx.iso with this Installer USB as liveusb-creator cannot see it when running from sugar terminal.
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.