InstallerForWindows

Differences between revisions 5 and 30 (spanning 25 versions)
Revision 5 as of 2007-04-26 12:29:42
Size: 6240
Editor: cF5A6BF51
Comment: hijacked spec for gutsy
Revision 30 as of 2007-05-31 14:33:41
Size: 5108
Editor: chiark
Comment: depend on ubiquity-automation; refactor a bit
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)]]
 * '''Contributors''': HenrikOmma
 * '''Packages affected''':
 * '''See also''':
##(see the SpecSpec for an explanation)
Line 7: Line 3:
'''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. ''Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.''

 * '''Launchpad Entry''': UbuntuSpec:installer-for-windows
 * '''Packages affected''': ubiquity, casper, winfoss, wubi
Line 11: Line 10:
A simple install procedure for Ubuntu initiated in Windows. A loop-mounted Ubuntu install initiated in Windows. The installer asks fewer questions and does not partition or format drives.

== Release Note ==

Installing Ubuntu is now even easier for Windows users! The small installer program will copy a fully-functional Ubuntu system into a directory on your Windows drive, which you can then boot in a "dual-boot" configuration. This is a great way to try out Ubuntu over a period of time, with no re-partitioning or formatting required. For long-term use, we recommend migrating to a native disk install.
Line 15: Line 18:
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'''
  * 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]

 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

=== Wubi ===

'''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]

http://www.cutlersoftware.com/ubuntusetup/wubi/en-US/screenshots/wubi3.jpg
Windows users are often more comfortable downloading and running a small ubuntu-setup.exe file than downloading and burning an ISO. This also avoids the requirement of booting from the CD, which can be troublesome as some laptops do not have a CD drive and many systems are configured to boot from the hard disk first.
Line 106: Line 23:
 * Easy to remove Ubuntu from the system
 * Runs at native speeds using all system resources (provided the loop mounting is efficient)
 * Asks very few questions during the install as it gathers info from Windows.
 
=== Disadvantages ===
 * No CD burning required, works on laptops without CD drives
 * 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
 * Ubuntu is installed/uninstalled as any other application, which is comfortable for the user
 * Runs at near-native speeds using all system resources (provided the loop mounting is efficient)
 * Uses all available hardware as a normal install would (in like a virtualbox install)
Line 112: Line 30:
 * 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)
== Use Cases ==
Line 116: Line 32:
==== Work oustanding ====  * Sindre wants to give Linux a try but uses his only computer for work and does not want to repartition his drive, worried that something will break. The Live CD he received guides him through installing Ubuntu in a file on his widows system, which he then boots into.
 * Hellena writes tech reviews for on-line journals. She has tested various Linux distros in the past using VMware, but this does not quite yield a native experience. On the Ubuntu website she finds a small download that runs in Windows and produces a loop mounted install. After testing and reviewing she can delete it easily.
Line 118: Line 35:
 * Needs a dash of usplash in a few places
 * 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
== Assumptions ==
Line 122: Line 37:
==== Outsanding questions ====  * ntfs-3g doesn't break the world
 * ubiquity pre-seeding is implemented (else we fall back to alternate for gutsy)
Line 124: Line 40:
 * 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?)
== Design ==
Line 127: Line 42:
=== VirtualBox === A small executable that can be included on the CD which does the following:
Line 129: Line 44:
'''Summary:''' The GPL version of Virtualbox can be packaged and distributed on the net and on 3rd party CDs.  * Locates the ISO on your system or downloads it via bittorrent {{{if the user is running it from the CD, can the CD be used to create the ISO rather than downloading it? -mdz}}} {{{how will mirror selection be handled? -mdz}}} {{{metadl is a good alternative, it's now used in wubi -ago}}}
 * Asks for a user name and password
 * Gathers information from Windows for the remaining install settings
 * Creates a 5GB image file in a user-defined location, {{{C:\ubuntu}}} by default
 * Creates a pre-seed file for the install
 * Adds Ubuntu entry to the Windows bootloader
 * Reboots to start an install process (non-interactive)
  * ISO and disk image are both loop-mounted from the Windows drive
 * Will use a pre-seed enabled version of ubiquity
 * Reboot again to start Ubuntu (or Windows)
 * Allows simple removal of Ubuntu if desired, via a Windows-based uninstaller in add/remove programs
 * Installer can be launched from the WinFOSS browser
Line 131: Line 57:
'''Link:''' http://www.virtualbox.org/ === Optional features ===
Line 133: Line 59:
==== 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
 * Teach the ubiquity migration assistant to migrate from a loop-mounted file in Windows
 * Option to install to a real partition
 * Set the size of the image file (5GB is default)
 * Better post-install management features. A control panel running in windows that lets you resize discs, make backups, select between different installed systems.
Line 151: Line 66:
Depends on the design choice.  * Windows installer is written in NSIS with various plug-ins (bittorrent, what else?)
 * Tighten the graphical design with a nice NSIS skin and suitable ubuntu graphics
 * Merge [http://launchpad.net/lupin lupin] patches in with d-i and intramfs to support loop-installation mode.
 * Add usplash to the initial install boot (perhaps we get this for free with the Live CD ISO?)
 * Refinement and testing of Vista support
 * Different versions for Ubuntu, Edubuntu, Kubuntu and Xubuntu, where only the artwork and ISO differ.
 {{{how do you plan to achieve this? A customised installer for each distro, or a single installer with a distro selector? - In the second case the distro might be preselected if a CD/ISO is detected and the banner changed accordingly -ago}}}

=== Website ===

 * Prominent download location on the website

== Test/Demo Plan ==

 * Widespread community testing
 * Test the install procedure on a range of hardware and Windows versions
Line 155: Line 85:
Pick a design.

== BoF agenda and discussion ==

Discuss at UDS Seville.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

A loop-mounted Ubuntu install initiated in Windows. The installer asks fewer questions and does not partition or format drives.

Release Note

Installing Ubuntu is now even easier for Windows users! The small installer program will copy a fully-functional Ubuntu system into a directory on your Windows drive, which you can then boot in a "dual-boot" configuration. This is a great way to try out Ubuntu over a period of time, with no re-partitioning or formatting required. For long-term use, we recommend migrating to a native disk install.

Rationale

Windows users are often more comfortable downloading and running a small ubuntu-setup.exe file than downloading and burning an ISO. This also avoids the requirement of booting from the CD, which can be troublesome as some laptops do not have a CD drive and many systems are configured to boot from the hard disk first.

Advantages

  • No disk resizing or partitioning required
  • No CD burning required, works on laptops without CD drives
  • 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
  • Ubuntu is installed/uninstalled as any other application, which is comfortable for the user
  • Runs at near-native speeds using all system resources (provided the loop mounting is efficient)
  • Uses all available hardware as a normal install would (in like a virtualbox install)

Use Cases

  • Sindre wants to give Linux a try but uses his only computer for work and does not want to repartition his drive, worried that something will break. The Live CD he received guides him through installing Ubuntu in a file on his widows system, which he then boots into.
  • Hellena writes tech reviews for on-line journals. She has tested various Linux distros in the past using VMware, but this does not quite yield a native experience. On the Ubuntu website she finds a small download that runs in Windows and produces a loop mounted install. After testing and reviewing she can delete it easily.

Assumptions

  • ntfs-3g doesn't break the world
  • ubiquity pre-seeding is implemented (else we fall back to alternate for gutsy)

Design

A small executable that can be included on the CD which does the following:

  • Locates the ISO on your system or downloads it via bittorrent if the user is running it from the CD, can the CD be used to create the ISO rather than downloading it?  -mdz how will mirror selection be handled? -mdz metadl is a good alternative, it's now used in wubi -ago

  • Asks for a user name and password
  • Gathers information from Windows for the remaining install settings
  • Creates a 5GB image file in a user-defined location, C:\ubuntu by default

  • Creates a pre-seed file for the install
  • Adds Ubuntu entry to the Windows bootloader
  • Reboots to start an install process (non-interactive)
    • ISO and disk image are both loop-mounted from the Windows drive
  • Will use a pre-seed enabled version of ubiquity
  • Reboot again to start Ubuntu (or Windows)
  • Allows simple removal of Ubuntu if desired, via a Windows-based uninstaller in add/remove programs
  • Installer can be launched from the WinFOSS browser

Optional features

  • Teach the ubiquity migration assistant to migrate from a loop-mounted file in Windows
  • Option to install to a real partition
  • Set the size of the image file (5GB is default)
  • Better post-install management features. A control panel running in windows that lets you resize discs, make backups, select between different installed systems.

Implementation

  • Windows installer is written in NSIS with various plug-ins (bittorrent, what else?)
  • Tighten the graphical design with a nice NSIS skin and suitable ubuntu graphics
  • Merge [http://launchpad.net/lupin lupin] patches in with d-i and intramfs to support loop-installation mode.

  • Add usplash to the initial install boot (perhaps we get this for free with the Live CD ISO?)
  • Refinement and testing of Vista support
  • Different versions for Ubuntu, Edubuntu, Kubuntu and Xubuntu, where only the artwork and ISO differ.

    how do you plan to achieve this? A customised installer for each distro, or a single installer with a distro selector? - In the second case the distro might be preselected if a CD/ISO is detected and the banner changed accordingly -ago

Website

  • Prominent download location on the website

Test/Demo Plan

  • Widespread community testing
  • Test the install procedure on a range of hardware and Windows versions

Outstanding Issues


CategorySpec

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