InstallerForWindows

Differences between revisions 12 and 14 (spanning 2 versions)
Revision 12 as of 2007-04-30 07:20:50
Size: 7549
Editor: adsl-69-235-38-186
Comment:
Revision 14 as of 2007-04-30 10:30:49
Size: 10569
Editor: netmail
Comment:
Deletions are marked like this. Additions are marked like this.
Line 103: Line 103:
 * No download needed in first installer stage (initrd and kernel come bundled in 8.5 MB package)  * No download needed in first installer stage (initrd and kernel come bundled in 7.3 - 8.5 MB package)
Line 115: Line 115:
'''Summary:''' An Ubuntu community project the ''Windows Ubuntu Installer'' uses method 2, a look mounted disk. Download a simple .exe file which launches an NSIS installer. It asks for your user name and password and reboots to install. Ubuntu is actually installed on a loop-mounted drive stared as an image file within the Windows file system. Previously known as 'install.exe' in the wiki. Current development is taking place within the [http://launchpad.net/lupin lupin] (back-end) and [http://launchpad.net/wubi wubi] (front-end) projects hosted on Launchpad. There is a proposal to merge most lupin features within Ubuntu https://blueprints.launchpad.net/ubuntu/+spec/lupin. '''Summary:''' An Ubuntu community project the ''Windows Ubuntu Installer'' uses method 2, a loop mounted disk. Download a simple .exe file which launches an NSIS installer. It asks for your user name and password and reboots to install. Ubuntu is actually installed on a loop-mounted drive stored as an image file within the Windows file system. Previously known as 'install.exe' in the wiki, see [http://launchpad.net/lupin lupin] for technical details. Current development is taking place within the [http://launchpad.net/lupin lupin] (back-end) and [http://launchpad.net/wubi wubi] (front-end) projects hosted on Launchpad.
Line 124: Line 124:
 * Easy to remove Ubuntu from the system  * No CD burning required
 * Easy to remove Ubuntu from the system, restoring the system to its previous state
 * The bootloader is not replaced, an additional boot option is addded to it
Line 126: Line 128:
 * Asks very few questions during the install as it gathers info from Windows.  * Behaves as a standard installation (the only modifications are required to boot from a loopfile, reboot cleanly and upgrade the kernel, but a regular user would not spot the difference).
 * The above points allow Wubi to offer an install-then-try approach as opposed to a try-then-install approach. Unlike a LiveCD/VirtualMachines there is no distinction between "demo" mode and "real" mode. Unlike Virtual machines there is no need for the host OS to be running. Unlike netboot approaches the system can be installed/uninstalled as a regular application, with a mechanism the user is familiar with and that does not involve operations perceived as "dangerous".
 * Virtual disk image can potentially be migrated to a real partition in a second moment, offering a clean upgrade path once Ubuntu has won user goodwill. Note: a migration tool has not yet been developed.
 * Simplyfied installer: asks very few questions during the install as it gathers info from a working OS.
 * Supports migration-assistant (available in next release)
 * Supports all Ubuntu flavours that provide an alternate ISO
 * Installation files (sourced from the alternate ISO) are pre-downloaded by the front-end within Windows, avoiding potential networking issues which might affect netboot methods which rely on Linux networking
 * Resume mode for download is supported
 * Kernel upgrade is supported
 * It is based on debian-installer with preseed, to which loop-installation mode is added. All features supported by d-i are available, therefore installation to a real partition can also be implemented as an option. (The preseed file is generated by the Windows front-end).
 * Clean separation of front-end and back-end, allows to port the installer to different platforms by only changing the front-end.
 * The back-end mostly consists of a patched initramfs and a dynamic ISO patching mechanism to add loop-installation support, and its functionalities can be added to official initrd/installer. A blueprint (https://blueprints.launchpad.net/ubuntu/+spec/lupin) has been prepared to coordinate such efforts.
Line 130: Line 143:
 * Does not yet work with Vista
 * Uses alternate disc to install from
 * Fixed size disc image (would be nice to have a dynamic image or manual resize option)
 * Does not yet work with Vista, but preliminary prototypes are being developed
 * Uses alternate disc to install from, that said, the ISO is used only in the background as a source of packages, the only difference from netboot methods is that pre-downloading the ISO, all packages are available in one go without having to rely on Linux networking
 * Fixed size disc image: virtual disk size will be selectable from the installer, and an extra virtual disk can be added, but it would be nice to have a dynamic image or manual resize option
 * Requires write access to the host file system, which in the case of windows requires installation of ntfs-3g
 * Windows fragmentation can impact disk I/O performance of Ubuntu.
 * Relies on grldr (grub for windows), which is less reliable than a real grub bootloader. For instance, grldr fails when the initrd/kernel is fragmented.
Line 137: Line 153:
 * Needs a graphical installer front-end to d-i
 * Better post-install management features. A control panel running in windows that lets you resize discs, make backups, select between different installed systems
 * Needs a graphical installer front-end to d-i, even though once d-i gtk frontend is included in the alternate ISO that can be used for progress bars
 * Better post-install management features. A control panel running in windows that lets you resize discs, make backups, select between different installed systems.
Line 165: Line 181:
 * Host OS is needed, which makes the user less focused on the new OS

Note: spec revamped for Feisty. Related specs exist in the wiki and LP for specific technical solutions. Please keep this spec neutral until a technical approach has been selected.

Summary

A simple install procedure for Ubuntu initiated in Windows.

Rationale

Windows users are often more comfortable with downloading a small ubuntu.setup.exe file than downloading and burning an ISO. Some laptops do not have a CD drive and many systems are configured to boot from the HD first.

Use Cases

Scope

Select the most suitable technical solution.

Design

TODO: Select from one of several possible technical solutions.

Windows installers for Ubuntu

Several Windows-based installers for Linux (including Ubuntu) have appeared recently, each using different methods. The common goal of these is to provide a simple path to Ubuntu that starts with downloading a small executable installer, and removes the need to use a CD. The three main approaches are:

  1. Repartition and install

  2. Install on a loop mounted disk image

    • downloads packages or ISO
    • Gathers information from Windows and simply asks for a user name and password
    • Adds Ubuntu entry to the Windows bootloader
    • Reboots to start an install process (non-interactive)
    • Reboot again to start Ubuntu (or Windows)
    • Painless removal of Ubuntu of desired
    • Implementations: [http://www.cutlersoftware.com/ubuntusetup/wubi/en-US/index.html Wubi]

  3. Install a virtual machine

    • Installer contains a copy of Virtualbox and downloads a pre-made virtual machine of Ubuntu
    • Simple NSIS install and launch VM directly without reboot
    • Simple unistall
    • Has to share resources so performance will be reduced and hardware support may be limited
    • Implementations: [http://www.virtualbox.org/ Virtualbox], [http://www.h7.dion.ne.jp/~qemu-win/ QUEMU]

An overview of existing implementations follows.

win32-loader

Summary: Download a small executable which downloads the netboot files, modifies the NT bootloader and reboots.

Links: http://goodbye-microsoft.com/

Advantages

  • Fast download in first installer stage (netboot stuff only)
  • A real ubuntu install on a real partition

Disadvantages

  • Mistakenly grabbed the 64-bit version on a 32-bit virtual system and failed to boot (admittedly an odd test case)
  • Leaves the bootloader behind
  • No accessibility support in alternate installer
  • Does not work with Vista

instlux

Summary: same principle as win32-loader, but a slightly cleaner implementation usability-wise.

Advantages

  • Fast download in first installer stage (netboot versions)
  • A real ubuntu install on a real partition
  • Cleans up the NT bootloader after install

Disadvantages

  • Text-based install (could use graphical d-i)
  • No accessibility support in alternate installer
  • Does not work with Vista
  • Does not work on Win9x
  • Only currently supports Ubuntu 6.06 and older

Wubi-netboot

Summary: A stripped-down version of Wubi which allows for installation to a real partition without a CD using the netboot installer, but lacks the ability to autodetect Windows settings or install on a loopmounted partition. Wubi-netboot is a temporary fork of Wubi which will be discontinued once Wubi implements support for installation on a real partition.

Advantages

  • Currently works with Ubuntu 7.04, 6.10, and 6.06.1 LTS
  • No download needed in first installer stage (initrd and kernel come bundled in 7.3 - 8.5 MB package)
  • A real ubuntu install on a real partition
  • Cleans up the NT or Win9x bootloader after install

Disadvantages

  • Text-based install (could use graphical d-i)
  • No accessibility support in netboot installer
  • Does not work with Vista

Wubi

Summary: An Ubuntu community project the Windows Ubuntu Installer uses method 2, a loop mounted disk. Download a simple .exe file which launches an NSIS installer. It asks for your user name and password and reboots to install. Ubuntu is actually installed on a loop-mounted drive stored as an image file within the Windows file system. Previously known as 'install.exe' in the wiki, see [http://launchpad.net/lupin lupin] for technical details. Current development is taking place within the [http://launchpad.net/lupin lupin] (back-end) and [http://launchpad.net/wubi wubi] (front-end) projects hosted on Launchpad.

Links: [http://www.cutlersoftware.com/ubuntusetup website], [http://ubuntuforums.org/forumdisplay.php?f=234 forum], [https://wiki.ubuntu.com/install.exe wiki], [http://launchpad.net/lupin lupin], [http://launchpad.net/wubi wubi]

http://www.cutlersoftware.com/ubuntusetup/wubi/en-US/screenshots/wubi3.jpg

Advantages

  • No disk resizing or partitioning required
  • No CD burning required
  • Easy to remove Ubuntu from the system, restoring the system to its previous state
  • The bootloader is not replaced, an additional boot option is addded to it
  • Runs at native speeds using all system resources (provided the loop mounting is efficient)
  • Behaves as a standard installation (the only modifications are required to boot from a loopfile, reboot cleanly and upgrade the kernel, but a regular user would not spot the difference).
  • The above points allow Wubi to offer an install-then-try approach as opposed to a try-then-install approach. Unlike a LiveCD/VirtualMachines there is no distinction between "demo" mode and "real" mode. Unlike Virtual machines there is no need for the host OS to be running. Unlike netboot approaches the system can be installed/uninstalled as a regular application, with a mechanism the user is familiar with and that does not involve operations perceived as "dangerous".
  • Virtual disk image can potentially be migrated to a real partition in a second moment, offering a clean upgrade path once Ubuntu has won user goodwill. Note: a migration tool has not yet been developed.
  • Simplyfied installer: asks very few questions during the install as it gathers info from a working OS.
  • Supports migration-assistant (available in next release)
  • Supports all Ubuntu flavours that provide an alternate ISO
  • Installation files (sourced from the alternate ISO) are pre-downloaded by the front-end within Windows, avoiding potential networking issues which might affect netboot methods which rely on Linux networking
  • Resume mode for download is supported
  • Kernel upgrade is supported
  • It is based on debian-installer with preseed, to which loop-installation mode is added. All features supported by d-i are available, therefore installation to a real partition can also be implemented as an option. (The preseed file is generated by the Windows front-end).
  • Clean separation of front-end and back-end, allows to port the installer to different platforms by only changing the front-end.
  • The back-end mostly consists of a patched initramfs and a dynamic ISO patching mechanism to add loop-installation support, and its functionalities can be added to official initrd/installer. A blueprint (https://blueprints.launchpad.net/ubuntu/+spec/lupin) has been prepared to coordinate such efforts.

Disadvantages

  • Does not yet work with Vista, but preliminary prototypes are being developed
  • Uses alternate disc to install from, that said, the ISO is used only in the background as a source of packages, the only difference from netboot methods is that pre-downloading the ISO, all packages are available in one go without having to rely on Linux networking
  • Fixed size disc image: virtual disk size will be selectable from the installer, and an extra virtual disk can be added, but it would be nice to have a dynamic image or manual resize option
  • Requires write access to the host file system, which in the case of windows requires installation of ntfs-3g
  • Windows fragmentation can impact disk I/O performance of Ubuntu.
  • Relies on grldr (grub for windows), which is less reliable than a real grub bootloader. For instance, grldr fails when the initrd/kernel is fragmented.

Work oustanding

  • Needs a dash of usplash in a few places
  • Needs a graphical installer front-end to d-i, even though once d-i gtk frontend is included in the alternate ISO that can be used for progress bars
  • Better post-install management features. A control panel running in windows that lets you resize discs, make backups, select between different installed systems.

Outsanding questions

  • How efficient is the loop mounted drive?
  • How easy would it be to move such an install out from under windows to a separate partition (perhaps an improved version of the migration tool could be used?)

VirtualBox

Summary: The GPL version of Virtualbox can be packaged and distributed on the net and on 3rd party CDs.

Link: http://www.virtualbox.org/

Advantages

  • Simple install with no need to reboot
  • Simple unistall
  • Dynamic disk images that lets users install and explore more software
  • Runs in parallel with the Windows session, allowing you to switch back and forth
  • Several distro flavours can be installed simultaneously
  • Runs under Vista

Disadvantages

  • Poor peformance
  • Driver problems, no support for Beryl/Compiz
  • GPL version lacks some features like USB support
  • Host OS is needed, which makes the user less focused on the new OS

Implementation

Depends on the design choice.

Outstanding Issues

Pick a design.

BoF agenda and discussion

Discuss at UDS Seville.


CategorySpec

InstallerForWindows (last edited 2008-08-06 16:32:01 by localhost)