Summary

An application will be developed to convert and write Ubuntu CD images to USB disks. In addition, our existing tools will be modified to better handle installing from a removable disk.

Release Note

It is now possible to install Ubuntu from a USB disk. Just install and run the usb-installer package, then insert a USB disk into your computer to create an installation image.

Rationale

Use Cases

Design

A utility will be written that takes a CD or ISO file as input and writes its contents in a somewhat modified form to an inserted USB disk of the user's choosing. This is done instead of shipping another binary blob because a large amount of bandwidth is already required to host cdimage, and because even if more bandwidth was available, a user friendly tool to easily write disk images to devices is not readily available on most systems anyway.

The utility will first be written for Ubuntu and then written for Windows and Mac OSX, sharing code between the three applications if possible. Only the completion of the Ubuntu utility will be required for this specification to be considered complete for Ubuntu 8.10. The Windows and OSX applications will only be considered if there is sufficient time available.

+----------------------------------------------------+
|         Create an Ubuntu desktop USB disk          |
|                                                    |
| This utility will copy Ubuntu from the inserted CD |
| onto your USB disk so that you may boot from your  |
| USB disk and try or install Ubuntu.                |
|                                                    |
| Files will be copied from:                         |
| Ubuntu 8.04 Desktop CD                             |
|                                                    |
| Select an USB disk to use:                         |
| [ SanDisk Cruzer Micro |v|]                        |
|                                                    |
| How much space should be used?  Additional space   |
| will be used for persistent storage.  If no        |
| additional space is selected, persistent storage   |
| will be disabled and changes made when in Ubuntu   |
| will not be permanent.                             |
| [=======================================V--------] |
|                1.5 GB (500 MB free)                |
|                                                    |
|                              [ Quit ] [ Install ]  |
+----------------------------------------------------+

+----------------------------------------------------+
|         Create an Ubuntu desktop USB disk          |
|                                                    |
| This utility will copy Ubuntu from the inserted CD |
| onto your USB disk so that you may boot from your  |
| USB disk and try or install Ubuntu.                |
|                                                    |
| Files will be copied from:                         |
| Ubuntu 8.04 Desktop CD                             |
|                                                    |
| Select an USB disk to use:                         |
| [ SanDisk Cruzer Micro |v|]                        |
|                                                    |
| There is insufficient space on the USB disk you    |
| have selected.  Please delete some unneeded files  |
| off the disk before continuing.                    |
|                                                    |
|                              [ Quit ] [ Install ]  | <- greyed out
+----------------------------------------------------+

+----------------------------------------------------+
|         Create an Ubuntu desktop USB disk          |
|                                                    |
| This utility will copy Ubuntu from the inserted CD |
| onto your USB disk so that you may boot from your  |
| USB disk and try or install Ubuntu.                |
|                                                    |
| Files will be copied from:                         |
| Ubuntu 8.04 Desktop CD                             |
|                                                    |
| Select an USB disk to use:                         |
| [ SanDisk Cruzer Micro |v|]                        |
|                                                    |
| How much space should be used?  Additional space   |
| will be used for persistent storage.  If no        |
| additional space is selected, persistent storage   |
| will be disabled and changes made when in Ubuntu   |
| will not be permanent.                             |
| [=======================================V--------] |
|                1.5 GB (500 MB free)                |
|                                                    |
| This USB disk already has a boot sector.  If you   |
| continue with the install it will be overwritten.  |
|                                                    |
|                              [ Quit ] [ Install ]  |
+----------------------------------------------------+

+----------------------------------------------------+
| +------------------------------------------------+ |
| |=================                               | |
| +------------------------------------------------+ |
|                  Copying files...                  |
+----------------------------------------------------+

Support in the installer

Because, unlike CDs, USB disks are treated like regular disks, modifications will need to be made to partman, ubiquity, and grub in order to better support installation from these devices.

Implementation

Language and toolkit selection

We will use Python for the programming language as it's cross-platform and the developers are familiar with it. As it's not readily available on Mac or Windows, we can either bundle it, or in the case of Windows use IronPython to run it on the .NET CLR.

We will use GTK for the Ubuntu frontend. The Windows and Mac frontend toolkits will be determined later.

Installer changes

UI Changes

While modifications will need to be made to ubiquity, no user interface or string changes should be necessary.

Test/Demo Plan

BoF agenda and discussion

Targets

Design

Advantages

Notes from previous discussion (UDS-Seville)

Live/Install from USB key

Use cases

Results

Needs research

Targets

Wants

Transformation utility that takes a .iso image and it works out what to do with it

Should work for Linux and Windows, so possibly two separate applications

Comments


CategorySpec

USBInstallationImages (last edited 2011-01-31 14:24:14 by p50817AF1)