InstallerForWindows

Differences between revisions 5 and 16 (spanning 11 versions)
Revision 5 as of 2007-04-26 12:29:42
Size: 6240
Editor: cF5A6BF51
Comment: hijacked spec for gutsy
Revision 16 as of 2007-04-30 11:08:10
Size: 11100
Editor: netmail
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
 '''Launchpad Entry''': UbuntuSpec:foo
 * '''Created''': [[Date(2005-10-25T15:45:54Z)]]
 '''Launchpad Entry''': UbuntuSpec:installer-for-windows
 * '''Created''': 2007-04-26
Line 5: Line 5:
 * '''See also''':
Line 40: Line 39:
  * Implementation: [http://goodbye-microsoft.com/ win32-loader], [http://instlux.sourceforge.net/ instlux]   * Implementation: [http://goodbye-microsoft.com/ win32-loader], [http://instlux.sourceforge.net/ instlux], [http://ubuntuforums.org/showthread.php?t=427793 Wubi-netboot]
Line 94: Line 93:
 * 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
Line 97: 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.

'''Links:''' [http://www.cutlersoftware.com/ubuntusetup website], [http://ubuntuforums.org/forumdisplay.php?f=234 forum], [https://wiki.ubuntu.com/install.exe wiki] 
'''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]
Line 106: 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 108: Line 128:
 * Asks very few questions during the install as it gathers info from Windows.  * Installer/uninstaller behaves as an ordinary application installer/uninstaller, which is comfortable for the user
 * Installed system behaves as an official Ubuntu dual-boot 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).
 * 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 110: Line 141:
=== Comparison to other methods ===

 * Unlike a LiveCD, and taking advantage of its uninstallation capabilities, Wubi offers 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 Virtualmachines there is no need for the host OS to be running and the user can concentrate on the new OS.
 * Unlike Virtualmachines there is full hardware access and no performance degradation (other than disk I/O)
 * Unlike LiveCD/Netboot approaches the system can be installed without requiring operations perceived as "dangerous".
 * Unlike LiveCD/Netboot the installation can be removed cleanly, restoring the system to its previous state
 * It is possible to move the loop-files to dedicated partition in a later moment without forcing that decision on the user on day 1
Line 113: Line 154:
 * Uses alternate disc to install from
 * Fixed size disc image (would be nice to have a dynamic image or manual resize option)
 * 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 standard grub bootloader. For instance, grldr fails when the initrd/kernel is fragmented.
Line 119: Line 163:
 * 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 127: Line 171:
=== VirtualBox === === Virtual Box ===
Line 147: Line 191:
 * 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)
  • Installer/uninstaller behaves as an ordinary application installer/uninstaller, which is comfortable for the user
  • Installed system behaves as an official Ubuntu dual-boot 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).
  • 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.

Comparison to other methods

  • Unlike a LiveCD, and taking advantage of its uninstallation capabilities, Wubi offers 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 Virtualmachines there is no need for the host OS to be running and the user can concentrate on the new OS.
  • Unlike Virtualmachines there is full hardware access and no performance degradation (other than disk I/O)
  • Unlike LiveCD/Netboot approaches the system can be installed without requiring operations perceived as "dangerous".
  • Unlike LiveCD/Netboot the installation can be removed cleanly, restoring the system to its previous state
  • It is possible to move the loop-files to dedicated partition in a later moment without forcing that decision on the user on day 1

Disadvantages

  • Does not yet work with Vista
  • 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 standard 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?)

Virtual Box

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)