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

From Sugar Labs
Jump to: navigation, search
(update install transcript, options for overlay and home sizes)
Line 1: Line 1:
<noinclude>{{TOCright}}
+
<noinclude>
 
[[Category:HowTo]]
 
[[Category:HowTo]]
 
</noinclude>
 
</noinclude>
Line 28: Line 28:
 
* Download the installation script: http://bit.ly/livecd-iso-to-disk.<br>(See [[fedora:Livecd-iso-to-disk.pod]] for usage details.)<br>(You will execute this script several steps below.)
 
* Download the installation script: http://bit.ly/livecd-iso-to-disk.<br>(See [[fedora:Livecd-iso-to-disk.pod]] for usage details.)<br>(You will execute this script several steps below.)
 
* Check the USB device name. In the example below, the '''s'''torage '''d'''evice is /dev/sdb and filesystem partition on that device is /dev/sdb1:
 
* Check the USB device name. In the example below, the '''s'''torage '''d'''evice is /dev/sdb and filesystem partition on that device is /dev/sdb1:
: {{Code|df -h}}
+
: {{Code|df -Th}}
Filesystem           Size  Used Avail Use% Mounted on
+
<pre>
/dev/sda1             19G  7.0G  11G  40% /
+
$ df -Th
tmpfs                1.5G     0  1.5G  0% /lib/init/rw
+
Filesystem   Type    Size  Used Avail Use% Mounted on
varrun                1.5G  96K  1.5G  1% /var/run
+
/dev/sda1    ext4     18G 5.6G   12G 33% /
varlock              1.5G     0 1.5G   0% /var/lock
+
tmpfs       tmpfs    1.6G 536K 1.6G   1% /dev/shm
udev                  1.5G  2.9M 1.5G  1% /dev
+
/dev/sdb1     vfat    996M     0 996M   0% /media/MyUSBdiscMountpoint
tmpfs                 1.5G 104K 1.5G   1% /dev/shm
+
</pre>
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,<br>
 
* Unmount the drive,<br>
: {{Code|sudo umount /dev/sd''b1''}}
+
: {{Code|sudo umount /media/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 69: Line 67:
 
: {{Code|chmod +x livecd-iso-to-disk.sh}}
 
: {{Code|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.
 
* 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.
: {{Code|sudo ./livecd-iso-to-disk.sh --overlay-size-mb 300 --home-size-mb 160 --delete-home --unencrypted-home soas-strawberry.iso /dev/sd''b1''}}
+
: {{Code|sudo ./livecd-iso-to-disk.sh --reset-mbr --overlay-size-mb 300 --home-size-mb 200 --delete-home --unencrypted-home /path/to/.iso/file /dev/sd''b1''}}
 
:: '''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.
 
:: '''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 <tt>--home-size-mb ''NNN''</tt> 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 <u>leaving out</u> the --home-size-mb NNN option).
 
:: 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 <tt>--home-size-mb ''NNN''</tt> 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 <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.
:Depending on the size of your USB stick, you may have to decrease {{Code|--overlay-size-mb}} and {{Code|--home-size-mb}} values (for example, for a 1-GB stick, use 200 for each).
+
:Depending on the size of your USB stick, you may have to decrease {{Code|--overlay-size-mb}} and {{Code|--home-size-mb}} values (for example, for a 1-GB stick, use 300 for the overlay and 200 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 {{Code|--skipcompress}} option in the script command line.
 
:: 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 {{Code|--skipcompress}} option in the script command line.
 
<!--:* If you get an error about udevinfo, you have the new version of udev where "udevadm info" is the proper command.
 
<!--:* If you get an error about udevinfo, you have the new version of udev where "udevadm info" is the proper command.
Line 84: Line 82:
 
===livecd-iso-to-disk.sh transcript===
 
===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
+
<pre>
Verifying image...
+
$ sudo ./livecd-iso-to-disk.sh --reset-mbr --overlay-size-mb 300 --home-size-mb 200 --delete-home --unencrypted-home /mnt/VMs/Fedora-13-x86_64-Live-SoaS.iso /dev/sde1
/home/walter/Desktop/Soas2-200906211228.iso:  9f1aa3c7a19dd9c68d1047d681f703c6
+
Verifying image...
Fragment sums: f5ddb7deb26b6474bd59be9f57b6c7abcd624e1ccc682ddf664ba73da4ed
+
/mnt/VMs/Fedora-13-x86_64-Live-SoaS.iso:  7bb43cb6237802347e06d636b5974796
Fragment count: 20
+
Fragment sums: 5cb46db2dd7545c7154d99616eaa942ca515fb37188c34cf82564a498b68
Checking: 100.0%
+
Fragment count: 20
+
Press [Esc] to abort check.
The media check is complete, the result is: PASS.
+
Checking: 100.0%
+
 
It is OK to use this media.
+
The media check is complete, the result is: PASS.
Copying live image to USB stick
+
 
Updating boot config file
+
It is OK to use this media.
Initializing persistent overlay file
+
Copying live image to USB stick
300+0 records in
+
Updating boot config file
300+0 records out
+
Initializing persistent overlay file
314572800 bytes (315 MB) copied, 88.7551 s, 3.5 MB/s
+
300+0 records in
Initializing persistent /home
+
300+0 records out
160+0 records in
+
314572800 bytes (315 MB) copied, 35.3334 s, 8.9 MB/s
160+0 records out
+
Initializing persistent /home
167772160 bytes (168 MB) copied, 48.1191 s, 3.5 MB/s
+
200+0 records in
Formatting unencrypted /home
+
200+0 records out
mke2fs 1.41.4 (27-Jan-2009)
+
209715200 bytes (210 MB) copied, 24.2014 s, 8.7 MB/s
Filesystem label=
+
Formatting unencrypted /home
OS type: Linux
+
mke2fs 1.41.12 (17-May-2010)
Block size=1024 (log=0)
+
Filesystem label=
Fragment size=1024 (log=0)
+
OS type: Linux
40960 inodes, 163840 blocks
+
Block size=1024 (log=0)
8192 blocks (5.00%) reserved for the super user
+
Fragment size=1024 (log=0)
First data block=1
+
Stride=0 blocks, Stripe width=0 blocks
Maximum filesystem blocks=67371008
+
51200 inodes, 204800 blocks
20 block groups
+
10240 blocks (5.00%) reserved for the super user
8192 blocks per group, 8192 fragments per group
+
First data block=1
2048 inodes per group
+
Maximum filesystem blocks=67371008
Superblock backups stored on blocks:  
+
25 block groups
8193, 24577, 40961, 57345, 73729
+
8192 blocks per group, 8192 fragments per group
+
2048 inodes per group
Writing inode tables: done                             
+
Superblock backups stored on blocks:  
Creating journal (4096 blocks): done
+
8193, 24577, 40961, 57345, 73729
Writing superblocks and filesystem accounting information: done
+
 
+
Writing inode tables: done                             
This filesystem will be automatically checked every 28 mounts or
+
Creating journal (4096 blocks): done
180 days, whichever comes first.  Use tune2fs -c or -i to override.
+
Writing superblocks and filesystem accounting information: done
tune2fs 1.41.4 (27-Jan-2009)
+
 
Setting maximal mount count to -1
+
This filesystem will be automatically checked every 33 mounts or
Setting interval between checks to 0 seconds
+
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Installing boot loader
+
tune2fs 1.41.12 (17-May-2010)
USB stick set up as live image!
+
Setting maximal mount count to -1
 +
Setting interval between checks to 0 seconds
 +
Installing boot loader
 +
USB stick set up as live image!
 +
</pre>
  
 
== What's next? ==
 
== What's next? ==
  
 
After you've created your stick, it's time to [[Sugar_on_a_Stick#Boot|boot your stick]] and [[Sugar on a Stick/Getting Involved | test]] it out.  Please also [[Sugar on a Stick/Getting Involved/Testing | report]] your observations.
 
After you've created your stick, it's time to [[Sugar_on_a_Stick#Boot|boot your stick]] and [[Sugar on a Stick/Getting Involved | test]] it out.  Please also [[Sugar on a Stick/Getting Involved/Testing | report]] your observations.

Revision as of 17:06, 22 September 2010


Introduction

This page provides additional detail for installing Mirabelle, the most stable, released version of Sugar on a Stick (SoaS), available at this download site, 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!

Put SoaS onto a stick using Fedora or Ubuntu

This is known to work in Fedora and Ubuntu.

First, download a SoaS-Mirabelle .iso image from http://spins.fedoraproject.org/soas/#downloads, 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://bit.ly/livecd-iso-to-disk.
    (See fedora:Livecd-iso-to-disk.pod for usage details.)
    (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 -Th
$ df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext4     18G  5.6G   12G  33% /
tmpfs        tmpfs    1.6G  536K  1.6G   1% /dev/shm
/dev/sdb1     vfat    996M     0  996M   0% /media/MyUSBdiscMountpoint
  • Unmount the drive,
sudo umount /media/MyUSBdiscMountpoint
  • 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).
  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/sdb
  2. toggle 1 boot
  3. 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 --reset-mbr --overlay-size-mb 300 --home-size-mb 200 --delete-home --unencrypted-home /path/to/.iso/file /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.
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 300 for the overlay and 200 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.sh transcript

$ sudo ./livecd-iso-to-disk.sh --reset-mbr --overlay-size-mb 300 --home-size-mb 200 --delete-home --unencrypted-home /mnt/VMs/Fedora-13-x86_64-Live-SoaS.iso /dev/sde1
Verifying image...
/mnt/VMs/Fedora-13-x86_64-Live-SoaS.iso:   7bb43cb6237802347e06d636b5974796
Fragment sums: 5cb46db2dd7545c7154d99616eaa942ca515fb37188c34cf82564a498b68
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 USB stick
Updating boot config file
Initializing persistent overlay file
300+0 records in
300+0 records out
314572800 bytes (315 MB) copied, 35.3334 s, 8.9 MB/s
Initializing persistent /home
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 24.2014 s, 8.7 MB/s
Formatting unencrypted /home
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 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 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Installing boot loader
USB stick set up as 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.