InstallerForWindows

Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2005-10-06 21:16:49
Size: 808
Editor: wbs-146-160-94
Comment:
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:
##(see the SpecSpec for an explanation)

 * Created: [[Date(2005-10-06T21:16:48Z)]] by JaneWeideman
 * Priority: NeedsPriority
 * People: NeedsLead, NeedsSecond
 * Contributors: JaneWeideman
 * Interested:
 * Status: UbzSpecification, BrainDump (then DraftSpecification then EditedSpecification then ApprovedSpecification), DistroSpecification
 * Branch: UbuntuTrack
 * Malone bug:
 * Packages affected:
 * Depends:
 * Dependents:
 [[FullSearch()]]
 * BoF sessions: none yet
 '''Launchpad Entry''': UbuntuSpec:installer-for-windows
 * '''Created''': 2007-04-26
 * '''Contributors''': HenrikOmma
 * '''Packages affected''':

'''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.
Line 18: Line 9:
Installer for Windows -Ubuntu installer forWindows ([WWW] old mailing list post)
A simple install procedure for Ubuntu initiated in Windows.
Line 22: Line 14:
== Use cases == 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 ==
Line 26: Line 21:
Select the most suitable technical solution.
Line 28: Line 25:
'''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'''
  * downloads packages or ISO
  * an entry in the Windows bootloader is created
  * reboot to start an installer (text-based, graphical or Live CD based) asking the usual questions
  * The disk is resized or free space is used (ie. normal install)
  * GRUB is installed
  * Boot again to start Ubuntu
  * Next time you start Windows the entry from the Windows bootloader
  * Implementation: [http://goodbye-microsoft.com/ win32-loader], [http://instlux.sourceforge.net/ instlux], [http://ubuntuforums.org/showthread.php?t=427793 Wubi-netboot]

 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
Line 30: Line 195:
=== Code ===

=== Data preservation and migration ===

== Outstanding issues ==
Depends on the design choice.

== Outstanding Issues ==

Pick a design.
Line 37: Line 202:

Discuss at UDS Seville.

----
CategorySpec

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)