WubiJaunty

Differences between revisions 17 and 18
Revision 17 as of 2008-05-22 22:56:22
Size: 6781
Editor: 161
Comment: umount -l suggestion (Don)
Revision 18 as of 2008-06-19 07:40:31
Size: 9894
Editor: 87-194-85-156
Comment: Merged in gobby log, incorporating UDS discussion
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
 * Add bittorrent support to built-in download manager
 * Built-in cdburner (need to evaluate CD burning libraries)
 * Bootable USB device with ISO with casper-rw
 * HD-media like installation from HD (Target empty partitions?).
  * initrd-preseed needs to be able to take UUID and path; possibly file-preseed as well but we really need the former
  * iso-scan needs to be able to take UUID and path
  * sync this with lupin-casper
  * lupin-casper should drop initrd-override
  * casper-premount.sh should be native to lupin-casper
 * Bootable USB device with ISO with casper-rw
 * HD-media like installation from HD (target empty partitions?)
  * Depends on fixing bugs in partman that cause partition tables to be marked dirty
  * Any partition table changes require the disk to be entirely unused during partitioning, which is infeasible in Ubiquity
   * Consider supporting this only for d-i
Line 31: Line 37:
  * grub is still unsupported in Ubuntu anyway, and it won't be critical to have grub4dos unsupported too
  * we should move over eventually, but consensus is \"not yet\"
Line 32: Line 40:
 * Support for "large" distros such as ubuntu studio or edubuntu (support separate add-on CD directly? or leave it as pos-installation task? shall we automate such tasks somehow?)  * Support for \"large\" distros such as Ubuntu Studio or Ubuntu Education Edition (support separate add-on CD directly? or leave it as post-installation task? shall we automate such tasks somehow?)
Line 35: Line 43:
 * Support for "native" installations (installation inside a folder, no loopfile)
 * "My Documents" bookmark pointing to the appropriate windows folder (migration-assistant?)
 * Add "Use existing ISO" button, to use a pre-downloaded ISO (at the moment ISO and wubi.exe can be placed in the same folder, but it is not too obvious).
 * Support for \"native\" installations (installation inside a folder, no loopfile)
 * \"My Documents\" bookmark pointing to the appropriate windows folder (migration-assistant?)
  * Evan does not want to add this to m-a. He's afraid users would get horribly confused when they removed their NTFS partition and all of their documents suddenly disappeared. Since it's specific to Wubi, Evan thinks it should be done there.

Windows frontend improvements:
 *
Add bittorrent support to built-in download manager
 * Built-in CD burner (need to evaluate CD burning libraries)
 * Add \
"Use existing ISO\" button, to use a pre-downloaded ISO (at the moment ISO and wubi.exe can be placed in the same folder, but it is not too obvious).
Line 41: Line 54:
 * Don: use umount -l in /etc/init.d/umountfs (use a /etc flag to set the -l parameter)  * Don: use umount -l in /etc/init.d/umountfs (use a /etc flag to set the -l parameter)
  * why does /etc/init.d/umountfs not yet simply iterate in reverse order over /proc/mounts? this would be much simpler and I think more robust than the current scheme
  * this also ought to obviate the need for umount -f
Line 45: Line 60:
 * Can we further simplify the interface?   * Can we further simplify the interface?
Line 53: Line 68:
  * very important that this be separated such that it imposes zero cost on most Ubuntu users
Line 59: Line 75:
 * Requires porting upstream all the changes to initramfs-tools, grub & co, sysvinit scripts, caspre/d-i initrd hooks, lupin-support.
 * Investigate the opportuinty of a tighter integration with the win32-loader project (at the moment it does netinstallation only).

== Migration Tools (loopinstallation -> real partition) ==

 To be discussed in separate session:
 * Support for loopinstallations within ubiquity (it should detect existing loopinstallations and offer to migrate them)
 * Simplified migration GUI.
 * Requires porting upstream all the changes to initramfs-tools, grub & co, sysvinit scripts, casper/d-i initrd hooks, lupin-support.
  * ... and almost certainly most of Ubuntu's d-i customisations! This is a large project (which should be done anyway, but will take a while and contains some elements which are likely to be contentious).
  * console-setup needs to become the default in Debian
  * localechooser encoding support needs to be fixed
 * Investigate the opportunity of a tighter integration with the win32-loader project (at the moment it does netinstallation only).

== Migration ==

Rely on existing Ubuntu CD or USB stick; alternatively, offer to burn an existing CD or USB stick
All from Ubuntu; Windows need not be involved

First stage (so that users know how to find this feature):
 * Ask the user if they have an existing ISO if they want to use. Use BitTorrent to download a new ISO if they do not.
 * Modifies a known bit on the disk to notify gfxboot-theme-ubuntu that it should show the migrate option (TBD).

Ubiquity derivative with a simpler UI; partitioning options are more restricted, and many questions need not be asked; bottom half performs some different customisations

Language, keyboard, user questions are unnecessary because all the answers are in place on the source filesystem already; migration-assistant is unnecessary

Simpler partitioner
No advanced partitioner
Autopartitioning alternatives:
 * Resize nominated partition
 * Select free space
 * Install into existing partition? -> general feature

Bottom half:
 * mount partitions and clear if necessary (i.e. normal bottom half of partman)
 * copy - potential checksumming will depend on method of copying:
  * dd + resize filesystem (only if we have a sane method of dding a sparse file)
   * partimage (backup suite that can skip zeros) http://www.partimage.org/Partimage-manual_Introduction
  * file-level copy as usual in ubiquity
 * regenerate fstab from scratch
 * menu.lst
 * install grub package and do usual grub installation
 * remove lupin-support package
 * regenerate initramfs

Notify user that they can remove Wubi from the Windows side.

== extraction tools ==

 * bsdtar (can extract ISO image as if it were a tar file)

Summary

This page is for discussion related to Wubi development in the Intrepid cycle.

Release Note

Further improve the user experience when using Wubi.

Possible New Features

  • d-i support (i.e. same hooks as lupin-casper)
    • initrd-preseed needs to be able to take UUID and path; possibly file-preseed as well but we really need the former
    • iso-scan needs to be able to take UUID and path
    • sync this with lupin-casper
    • lupin-casper should drop initrd-override
    • casper-premount.sh should be native to lupin-casper
  • Bootable USB device with ISO with casper-rw
  • HD-media like installation from HD (target empty partitions?)
    • Depends on fixing bugs in partman that cause partition tables to be marked dirty
    • Any partition table changes require the disk to be entirely unused during partitioning, which is infeasible in Ubiquity
      • Consider supporting this only for d-i
  • Grub2 (as recommended by bean123)
    • grub is still unsupported in Ubuntu anyway, and it won't be critical to have grub4dos unsupported too
    • we should move over eventually, but consensus is \"not yet\"
  • Better build scripts (nsis is available in the repositories)
  • Support for \"large\" distros such as Ubuntu Studio or Ubuntu Education Edition (support separate add-on CD directly? or leave it as post-installation task? shall we automate such tasks somehow?)
  • support DVD
  • Use resizable image files (LVM or simply 4GB zeroed + nGB sparse, or qcow2 type of images or images that are contiguous for the first 4GB and sparse for nGB)
  • Support for \"native\" installations (installation inside a folder, no loopfile)
  • \"My Documents\" bookmark pointing to the appropriate windows folder (migration-assistant?)
    • Evan does not want to add this to m-a. He's afraid users would get horribly confused when they removed their NTFS partition and all of their documents suddenly disappeared. Since it's specific to Wubi, Evan thinks it should be done there.

Windows frontend improvements:

  • Add bittorrent support to built-in download manager
  • Built-in CD burner (need to evaluate CD burning libraries)
  • Add \"Use existing ISO\" button, to use a pre-downloaded ISO (at the moment ISO and wubi.exe can be placed in the same folder, but it is not too obvious).

improvements

  • Don: use umount -l in /etc/init.d/umountfs (use a /etc flag to set the -l parameter)
    • why does /etc/init.d/umountfs not yet simply iterate in reverse order over /proc/mounts? this would be much simpler and I think more robust than the current scheme
    • this also ought to obviate the need for umount -f

UI Changes

  • Can we further simplify the interface?
  • Changes to the accessibility page
  • Do we want to have advanced options?
  • Possiblility of a frontend rewrite in python or c++ and such

Porting Wubi to other platforms

  • Could use a native installation approach (installation inside a folder, no loopfile)
    • very important that this be separated such that it imposes zero cost on most Ubuntu users
  • lubi (wubi for linux)
  • mubi (wubi for mac)

Porting Wubi To Debian

  • Requires D-I hooks.
  • Requires porting upstream all the changes to initramfs-tools, grub & co, sysvinit scripts, casper/d-i initrd hooks, lupin-support.

    • ... and almost certainly most of Ubuntu's d-i customisations! This is a large project (which should be done anyway, but will take a while and contains some elements which are likely to be contentious).
    • console-setup needs to become the default in Debian
    • localechooser encoding support needs to be fixed
  • Investigate the opportunity of a tighter integration with the win32-loader project (at the moment it does netinstallation only).

Migration

Rely on existing Ubuntu CD or USB stick; alternatively, offer to burn an existing CD or USB stick All from Ubuntu; Windows need not be involved

First stage (so that users know how to find this feature):

  • Ask the user if they have an existing ISO if they want to use. Use BitTorrent to download a new ISO if they do not.

  • Modifies a known bit on the disk to notify gfxboot-theme-ubuntu that it should show the migrate option (TBD).

Ubiquity derivative with a simpler UI; partitioning options are more restricted, and many questions need not be asked; bottom half performs some different customisations

Language, keyboard, user questions are unnecessary because all the answers are in place on the source filesystem already; migration-assistant is unnecessary

Simpler partitioner No advanced partitioner Autopartitioning alternatives:

  • Resize nominated partition
  • Select free space
  • Install into existing partition? -> general feature

Bottom half:

  • mount partitions and clear if necessary (i.e. normal bottom half of partman)
  • copy - potential checksumming will depend on method of copying:
  • regenerate fstab from scratch
  • menu.lst
  • install grub package and do usual grub installation
  • remove lupin-support package
  • regenerate initramfs

Notify user that they can remove Wubi from the Windows side.

extraction tools

  • bsdtar (can extract ISO image as if it were a tar file)

Migration Page Mockup

Action:
 * Migrate the existing Wubi installation to a dedicated partition
 * Create a new Ubuntu installation
 
Install into:
 * Free space in hard disk #1 (sda, 8GB) 
 * Free space in hard disk #2 (sdb, 6GB)
 * Empty partition #2 of hard disk #1 (sda2, 26GB)
 * Empty partition #5 of hard disk #1 (sdab, 12GB)
 * Advanced Mode

Free up space for the new installation:
 [Resize an existing partition] [Delete an existing disk/partition] 

The install-into list only contains safe items, I.E. items that do not contain any file and are large enough. For instance, if disk #1 is in use, and the user wants to dedicate the full disk #1 to the installation, he will have to click on "Delete an existing disk/partition", delete disk #1 and then select "Free space in hard disk #1" which will appear in the install-into list.

This is safer and clearer than merging the two operations into a single action such as "Install into disk #1", as in current ubiquity dialog. In particular, with the above suggestion, it is not possible to accidentally overwrite/delete any file unless the user explicitly selects "Delete an existing disk/partition" or (s)he uses the "Advanced Mode".

If there is no available free space or empty partition the Install-into list will instead display a message such as "No free space is available. You will need to free up some space first in order to continue the installation. A minimum of 4GB are required."

Resize partition dialog:

 Squeeze [partition #1] in [disk #1]
 to 5GB [ =====|========= ] and  free up 10GB
 -----------------------------------------------------
 Partition Info: /dev/sda1
 Total size: 15GB
 In use: 4GB
 Label: mytarget
 Filesystem: NTFS
 Files: WINDOWS, temp, Program Files, RECYCLER
 -----------------------------------------------------
 [Resize Partition] [Cancel]

Delete partition dialog:

 Delete: [partition #1 | all partitions] in [disk #1] 
 -----------------------------------------------------
 Partition Info: /dev/sda1
 Total size: 15GB
 In use: 4GB
 Label: mytarget
 Filesystem: NTFS
 Files: WINDOWS, temp, Program Files, RECYCLER
 -----------------------------------------------------
 [Delete Partition] [Cancel]

Advanced Mode (same as ubiquity):

  • Overwrite an existing disk/partition #skip disk/partitions where wubi is installed
  • Create multiple mountpoints

Brainstorm

[http://brainstorm.ubuntu.com/search?keywords=Wubi&ordering=mostvotes Wubi in brainstorm]

Outstanding Issues for 8.04.1

Most have already fixes committed, but need to be tested, approved and released.

  • Bug #217348 Incorrect disk order detection generates wrong menu.lst
  • Bug #222690 install failed during "import document and setting" at 88% - French windows XP
  • Bug #224311 grub4dos gets jammed with the message "Turning On Gate A20"
  • Bug #204128 After install completed bar wasn't all green and installer hung
  • Bug #136682 File with non-C/special characters in host computer disappear
  • Bug #226622 Wubi has unclear error message on NTFS dirty flag
  • Bug #224697 Disable hibernation if swap is on file
  • Bug #223250 Country detection is wrong when country name is localized in the registry
  • Bug #217593 If the installer fails or is aborted, users can end up in Live CD Desktop, which is confusing
  • Bug #207137 Wubi fails to install from my cd-rw but does from my dvd-rw
  • Bug #230703 Casper only scans vfat filesystems for cow files
  • Bug #230716 Allow casper to use a squashfs filesystem within an arbitrary path

BoF agenda and discussion


CategorySpec

WubiJaunty (last edited 2008-12-11 20:25:00 by 216)