USBCreatorMaverick

Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2010-05-18 10:03:57
Size: 3947
Editor: eth0
Comment:
Revision 4 as of 2010-05-18 11:34:22
Size: 3888
Editor: eth0
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': UbuntuSpec:foo  * '''Launchpad Entry''': UbuntuSpec:foundations-m-usb-creator-bugfixer
Line 5: Line 5:
 * '''Contributors''':
 * '''Packages affected''':
 * '''Contributors''': EvanDandrea,
 * '''Packages affected''': usb-creator-gtk, usb-creator-kde
Line 10: Line 10:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples. usb-creator will be modified to use GRUB2 as the default bootloader. Care will be taken to fall back to syslinux on pre-Maverick Ubuntu CDs.

The interface will be streamlined for the common case of putting an Ubuntu ISO on a partition.
Line 14: Line 16:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
The Startup Disk Creator application now creates a single directory ("boot") to store all of its files on your USB disk. Its interface has also been improved to streamline the common use case.
Line 20: Line 20:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified.  * Using GRUB2 allows us to reduce the contents needed on the USB disk for usb-creator to a directory (/boot) and two files (grub.cfg and the ISO file).
 * The interface for selecting the target device is currently very confusing. The user must understand the difference between a disk device and a partition device. They must also understand that clicking on "Wipe Disk" will in fact clear the contents of the entire disk device, regardless of whether they selected the disk or one of its partitions.
Line 24: Line 25:
 * Bill wants to use his SanDisk Cruzer Micro as a startup disk. He starts usb-creator, selects an ISO file he's downloaded, and then selects the only target option, his SanDisk Cruzer Micro. He presses "Make Startup Disk".
Line 25: Line 28:

UbuntuSpec:foundations-m-cd-boot is implemented.
Line 28: Line 33:
You can have subsections that better describe specific parts of the issue.  * The "Wipe Disk" button will be greyed out and its label changed to "Formatting" for any disk that is currently being formatted.
Line 32: Line 37:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

=== UI Changes ===

Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
 * The devices structure will carry an additional boolean flag for each device that designates whether or not the device is being formatted. The frontend will check this flag and, if the device is selected, grey out the format button and change its label to "formatting". Selecting a device that isn't being formatted will return the button state to normal.
Line 51: Line 41:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.
 * We will endeavor to resurrect the test suite for usb-creator to cover the new functionality as well as cover existing code.
Line 56: Line 44:

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

Summary

usb-creator will be modified to use GRUB2 as the default bootloader. Care will be taken to fall back to syslinux on pre-Maverick Ubuntu CDs.

The interface will be streamlined for the common case of putting an Ubuntu ISO on a partition.

Release Note

The Startup Disk Creator application now creates a single directory ("boot") to store all of its files on your USB disk. Its interface has also been improved to streamline the common use case.

Rationale

  • Using GRUB2 allows us to reduce the contents needed on the USB disk for usb-creator to a directory (/boot) and two files (grub.cfg and the ISO file).
  • The interface for selecting the target device is currently very confusing. The user must understand the difference between a disk device and a partition device. They must also understand that clicking on "Wipe Disk" will in fact clear the contents of the entire disk device, regardless of whether they selected the disk or one of its partitions.

User stories

  • Bill wants to use his SanDisk Cruzer Micro as a startup disk. He starts usb-creator, selects an ISO file he's downloaded, and then selects the only target option, his SanDisk Cruzer Micro. He presses "Make Startup Disk".

Assumptions

foundations-m-cd-boot is implemented.

Design

  • The "Wipe Disk" button will be greyed out and its label changed to "Formatting" for any disk that is currently being formatted.

Implementation

  • The devices structure will carry an additional boolean flag for each device that designates whether or not the device is being formatted. The frontend will check this flag and, if the device is selected, grey out the format button and change its label to "formatting". Selecting a device that isn't being formatted will return the button state to normal.

Test/Demo Plan

  • We will endeavor to resurrect the test suite for usb-creator to cover the new functionality as well as cover existing code.

Unresolved issues

BoF agenda and discussion

= Bugs =
 * Show Manufactuer name instead of device name (Eg Acme Disk rather than /dev/sdb)
 * do not display /dev/sdb and /dev/sdb1;
  * Only offer the "smartest" choice in the UI.
    - If they don't have a partition table, then behind the scenes only offer the full disk device
    - If they do have a partition table, then behind the scenes only offer the partition device
 * Make startup disk button needs to be greyed out when disk and iso are not selected (no bug reported - file bug)
 * Detect other filesystem quirks and force format (FAT16 or USB key that has no partition table i.e. partition direct on device - unless --whole-disk is used)
 * when formatting show more feedback than just a spinning cursor.
  * target/destination box should show you that it is "Formating..." and allow you to format other disks
 * verify the disk after we write it out - do md5summing by reading back from flash

= If we move to Grub2 for disks =
 * Other file system support
   - Support existing NTFS disk support
   - Support ext3/ext4
 * Only putting a .iso on the disk and use grub's loopback (in conjunction with `iso-scan/filename=`)


= Random Ideas =
 * automated tests?
 * better messages for internal failures
 * allow apport to report crashes?
 * better message if you try to install something that's not an ubuntu iso
 * clone an existing usb stick (allowing for different sizes; might cause ui confusion)
 * We can try kvm-qemu boot to verify ISO
 * look at competition and steal ideas (e.g. Fedora)


CategorySpec

FoundationsTeam/Specs/USBCreatorMaverick (last edited 2010-10-14 18:44:17 by 99-156-85-10)