UbuntuSetup

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

For many potential adopters of Ubuntu, an exe file is far easier to use than an ISO, and they are more comfortable with something called "setup.exe". There are 4 ways to create ubuntu-setup.exe:

  1. Bundle burner and ISO in a single executable (or better burner + ISO downloader)
  2. Use an approach similar to instlux (i.e. modifying boot.ini and install grub for windows, kernel and an initrd ready for netinstall)
  3. Install Ubuntu as an image file within the windows file system + a bootloader that will mount loop the image and boot from it. This has the additional advantage that it does not require to repartition the HD. Moreover it should be possible to create a dedicated partition later on and dump the image contents in it.
  4. A combination of the above: detect the settings and decide which route is preferable, but give the option to change the pre-selected settings.

Rationale

Simplify the installation process for windows users.

Use cases

Tim wants to install Ubuntu, he is using windows, he is afraid of Linux being difficult but has heard that Ubuntu is easy to install, he expects to find a file to download with a setup wizard he is familiar with. Instead he is faced with a list of mirrors (he though mirrors where another object), and some ISO files. He never heard of those. He is about to give up when he stumbles upon "How to burn an ISO file"... He thinks "instructions to create an installer?, Is that what they call easy?". The instructions point him to another website for the burner where he has to follow other instructions to find out his Windows/Service Pack version in order to download the right installer. "an installer to create an installer?". He thinks that Linux is too complex for him and gives up.

Clara has burnt his ISO file, but she made a mistake, she copied the ISO into the CD as any other file. She cannot boot. A friend explains how to do it. But she now burns at too high speed (and/or wrong medium). The installer mysteriously stops half the way. A friend explains her to use different medium and low speed burning.

Michael has burnt the ISO but when he uses it he boots always into Windows. A friend explains he has to change the BIOS settings. He is scared, and gives up.

Carl has a portable laptop without CD Rom he cannot run the CD, let alone burn it.

Camilla goes to the Ubuntu website, she now see a big download button that points her to ubuntu-setup.exe. She runs it, and a wizard dialog appears saying she is about to install Ubuntu with some pre-selected options that seem reasonable. She hits next, a download progress bar appears, then she is asked to reboot. When she does so, she is in Ubuntu.

Implementation

There should be a download button on the home page, detecting user settings and pointing them to the most appropriate download option (with a small link to choose other files/mirrors). If windows is detected, the user should be pointed to ubuntu-setup.exe, not an ISO file.

The installer should be an NSIS script and bundle all required tools (particularly burner), presenting a simple wizard that should detect user settings and provide the most likely installation route among the 3 below:

  1. Burn a CD
    1. It will download the appropriate ISO file
    2. It will use the built-in burner to create the CD
    3. It will give some instructions to the user
    4. Reboot the machine with the new CD inserted
  2. Modify boot.ini and use netinstall, see instlux for a possible implementation.

    1. Modify boot.ini and install bootloader, kernel and initrd
    2. Reboot the machine
    3. The machine will load the initrd image that will launch a netinstall
  3. Ubuntu image file within windows file system
    1. It will download the appropriate image file
    2. Modify boot.ini and install the bootloader, and the image file
    3. When booting into Ubuntu, the image file is loop mounted and used

The most appropriate choices are selected by default, but other options can also be selected via list widgets ("^"). The dialog should be very simple, something like:

You are about to install:

Ubuntu Desktop ^

Version 6.10 ^

for i386 architecture ^

in English ^

using English keyboard ^

Timezone is XYZ ^

User is ZXY ^

A live-CD will be created ^

Install

Cancel

Each option has a list widget which allows allow users to:

  • Select a different Ubuntu flavor (Ubuntu is selected by default)
  • Select a different Ubuntu version (Latest is selected by default)
  • Select a different architecture (current architecture is preselected)
  • Select a different language (current windows language is preselected)
  • Select a different keyboard (current windows keyboard layout is preselected)
  • Select a different timezone (current windows timezone is preselected)
  • Select a different username (current windows username is preselected)
  • Select a different installation method from the one suggested

The choices for language, keyboard, timezone and username should be passed to the actual installer. The language option will determine both the language of the setup wizard dialog and the language of the installation. When an list widget is expanded each value is associated with a concise but clear explanation. The best mirror for downloading the actual image file is automatically selected by the wizard.

Possible add-ons

  • Detect hardware and notify the user if some known incompatible device is detected, before proceeding with the installation (blacklist based, not white list).
  • Automatically import user settings and files.

BoF agenda and discussion

Point 1 >> Both, for ppl who don't have broadband and for those who want to download it in several times.And a small executable for those who could get scared by the big size, and to enable storing the program on small usb keys,on magazine CDs and so on.


CategorySpec

UbuntuSetup (last edited 2008-08-06 16:30:48 by localhost)