install.exe

Differences between revisions 1 and 38 (spanning 37 versions)
Revision 1 as of 2006-12-16 06:09:52
Size: 7607
Editor: adsl-69-235-16-127
Comment:
Revision 38 as of 2008-03-04 12:39:52
Size: 9827
Editor: 193
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Contents'''[[BR]][[TableOfContents(7)]]||
Line 3: Line 5:
 * '''Website (Original)''': http://cutlersoftware.com/ubuntusetup/archive/website/original
 * '''Website (New)''': http://wubi.sourceforge.net
 * '''Development thread (Original)''': http://ubuntuforums.org/showthread.php?t=305109
 * '''Launchpad entry''': https://features.launchpad.net/distros/ubuntu/+spec/windows-installer
 * '''Created''': 12/15/06 by GezaKovacs
 * '''Prototype''': https://wiki.ubuntu.com/install.exe/Prototype
 * '''Forum''': http://ubuntuforums.org/forumdisplay.php?f=234
Line 4: Line 14:

The installation of ubuntu is a major barrier to its spread and use. This project aims to solve this problem by allowing installation from within Windows using an install.exe file, and eliminating the need to partition the hard drive or burn a CD to install.
The installation of Ubuntu is a major barrier to its spread and use. This project aims to solve this problem by allowing installation from within Windows using an install.exe file, and eliminating the need to partition the hard drive or burn a CD to install. It will allow a faster and more user-friendly installation for Windows users, the ability to install without the risk of data loss through repartitioning, and the ability to install on ultra-portable laptops without CD drives.
Line 8: Line 17:
Approximately 90% of desktop computers in the world, the target audience of Ubuntu, run Microsoft Windows. Most Windows users are familiar with install.exe programs, and know how to use them. Few, however, know how to burn a CD from a .iso file, boot from a CD, shrink partitions, and install Ubuntu. By providing Windows users with an installer they are more familiar with, we can ease their learning curve, and open Ubuntu to the vast market of casual computer users.
Line 9: Line 19:
Approximately 90% of desktop computers in the world, the target audience of ubuntu, run Microsoft Windows. Most Windows users are familiar with install.exe programs, and know how to use them. Few, however, know how to burn a CD from a .iso file, boot from a CD, shrink partitions, and install ubuntu. By providing Windows users with an installer they are more familiar with, we can ease their learning curve, and open ubuntu to the vast market of casual computer users. The elimination of the need for partitioning, and thus the chance of data loss, will help Ubuntu gain acceptance in the corporate world.
Line 11: Line 21:
The elimination of the need for partitioning, and thus the chance of data loss, will help ubuntu gain acceptance in the corporate world.

The elimination of the need for an installation CD will allow users without CD burners or spare CDs to try ubuntu, ease burdens on ShipIt, and allow installation on ultra-portable laptops with no CD drives.
The elimination of the need for an installation CD will allow users without CD burners or spare CDs to try Ubuntu, ease burdens on ShipIt, and allow installation on ultra-portable laptops with no CD drives.
Line 16: Line 24:
Brenda is an inexperienced Windows user who is tired of viruses and crashes, so she decides to try out Ubuntu. She then downloads the .iso file, and is confused about what to do with it. She reads pages of installation guides, which overwhelm her, and she figures she has neither the time nor skill to switch to Ubuntu. Following the release of the Ubuntu install.exe, though, she downloads it, runs it, clicks "OK" through the installer, reboots, and has a fully functioning and user-friendly OS.
Line 17: Line 26:
Brian is an inexperienced Windows user who is tired of viruses and crashes, so he decides to try out ubuntu. He then downloads the .iso file, and is confused about what to do with it. He reads pages of installation guides, which overwhelm him, and he figures he has neither the time nor skill to switch to ubuntu. Following the release of the ubuntu install.exe, though, he downloads it, runs it, clicks "OK" through the installer, reboots, and has a fully functioning and user-friendly OS. Peter is an amateur video editor who is interested in trying out Ubuntu. However, he hears that shrinking his NTFS partition and repartitioning may lead to irrecoverable data loss. He doesn't want to risk losing his several gigabytes of videos on his NTFS partition, but he has no means to back up all his data, so he grudgingly continues using Windows. Following the release of Ubuntu install.exe, though, he rests assured that because no repartitioning is occurring, his data is safe. He clicks his way through the user-friendly installer, and has an Ubuntu installation within minutes.
Line 19: Line 28:
Peter is an amateur video editor who is interested in trying out ubuntu. However, he hears that shrinking his NTFS partition and repartitioning may lead to irrecoverable data loss. He doesn't want to risk losing his several gigabytes of videos on his NTFS partition, but he has no means to back up all his data, so he grudgingly continues using Windows. Following the release of ubuntu install.exe, though, he rests assured that because no repartitioning is occuring, his data is safe. He clicks his way through the user-friendly installer, and has an ubuntu installation within minutes. Jane and her coworkers are employees at Widget''''''Tech Corporation who would like to use their favorite OS, Ubuntu, at work. Since Ubuntu can do everything required for their job, their employers agree to let them use Ubuntu, so long as they keep Windows installed, in case there is a need for it. However, the employers hear that there is a chance that all data on the computer's hard drive may be lost while reformatting. They do not want to spend precious time and money making backups of terabytes of critical data and restoring it in case it is lost, so the company does not allow employees to use anything other than Windows. Following the release of Ubuntu install.exe, though, Jane and her coworkers show their employers that there is no chance of data loss during the Ubuntu installation, due to the lack of partitioning. They are then permitted to install and use Ubuntu on their corporate desktops.
Line 21: Line 30:
Josh and his coworkers are employees at Microshaft Corporation who would like to use their favorite OS, ubuntu, at work. Since ubuntu can do everything required for their job, their employers agree to let them use ubuntu, so long as they keep Windows installed, in case there is a need for it. However, the employers hear that there is a chance that all data on the computer's hard drive may be lost while reformatting. They do not want to spend precious time and money making backups of terrabytes of critical data and restoring it in case it is lost, so the company does not allow employees to use anything other than Windows. Following the release of ubuntu install.exe, though, Josh and his coworkers show their employers that there is no chance of data loss during the ubuntu installation, due to the lack of partitioning. They are then permitted to install and use ubuntu on their corporate desktops.

Mark is an ubuntu user who has just bought an ultra-portable laptop. He wants to install ubuntu on it, but can't, because his laptop is too small to accommodate a CD drive. However, following the release of ubuntu install.exe, he just downloads the installer, runs it from the spot, reboots, and has ubuntu ready for usage.
Mark is an Ubuntu user who has just bought an ultra-portable laptop. He wants to install Ubuntu on it, but can't, because his laptop is too small to accommodate a CD drive. However, following the release of Ubuntu install.exe, he just downloads the installer, runs it from the spot, reboots, and has Ubuntu ready for usage.
Line 26: Line 33:
Line 29: Line 35:
ubuntu.img will be the ubuntu hard drive image. It will be used as a loopmounted EXT3 filesystem, and will be placed in the C:\ubuntu directory. ubuntu.img will be a preconfigured hard drive image, which already has all portions of the installation set up, except those specific to the hardware, such as the X11 configuration, and the user-specific portions, such as the home directory and timezone. swap.img will be a hard drive image of the swap partition. It will be placed in the C:\ubuntu directory. ubuntu.img will be the Ubuntu hard drive image. It will be used as a loopmounted EXT3 filesystem, and will be placed in the C:\ubuntu directory. ubuntu.img will be a preconfigured hard drive image, which already has all portions of the installation set up, except those specific to the hardware, such as the X11 configuration, and the user-specific portions, such as the home directory and timezone. swap.img will be a hard drive image of the swap partition. It will be placed in the C:\ubuntu directory.
Line 33: Line 39:
[http://www.topologilinux.com/ Topologilinux's] modified version of GRUB that allows dual-booting the loopmounted hard drive image and Windows will be used as the bootloader. This bootloader will be installed at the end of the installation. Once the bootloader is installed, the installer will have a "reboot into ubuntu" button that will restart the system. [http://grub4dos.sourceforge.net/ GRLDR], a modified version of GRUB, allows dual-booting the loopmounted hard drive image and Windows, and doesn't require any changes to the MBR, as it writes to the Windows boot.ini, so it will be used as the bootloader. This bootloader will be installed at the end of the installation, and the original boot.ini file will be backed up. Once the bootloader is installed, the installer will have a "reboot into Ubuntu" button that will restart the system.
Line 35: Line 41:
On the first bootup, the data from the config.txt file generated by the installer will be read, and will be used to set up the system. The hardware will be detected, and X11 and other hardware-dependent portions of the system will be configured. All of this will be done automatically, and will not require user interaction. Once this is done, booting will continue, and will boot into ubuntu. On the first bootup, the data from the config.txt file generated by the installer will be read, and will be used to set up the system. The hardware will be detected, and X11 and other hardware-dependent portions of the system will be configured. All of this will be done automatically, and will not require user interaction. Once this is done, booting will continue, and will boot into Ubuntu.

== What's Completed ==
In the [http://wiki.ubuntu.com/install.exe/Prototype prototype], the installer now automatically downloads and installs the initrd, kernel, disk image, and GRLDR via BitTorrent.

The disk image is now booting a standard Ubuntu 7.04 feisty installation with a modified initrd with ntfs-3g support built in, and a standard feisty kernel.

The Windows-based uninstaller is now working

Windows NT, 2000, and XP are fully supported. Windows 95, 98, and ME are supported, but the disk images must be 4 GB or less due to the limitations of the FAT32 filesystem. Windows Vista support is being worked on.

== TODO ==
Install to a real linux partition like debian.exe

Automatic generation of /etc/fstab on first boot

Read values from the config.txt file generated by the installer on the first boot and automatically configure the username, password, language, and timezone accordingly

The user's password in the config.txt file will have to be hidden or deleted, as it will be a security risk. This can be done by adding a startup script to Ubuntu that will delete the config.txt file on the first boot, after configurating the username, password, language, and timezone

NicolòChieffo - a correct regeneration of initrd.img (with ntfs-3g enabled) when upgrading the kernel
Line 38: Line 64:
Once Ubuntu has been installed, we may provide a wizard that offers to upgrade Ubuntu's performance by shrinking or removing the NTFS partition, giving Ubuntu a dedicated EXT3 partition, and dumping the contents of the image file into it.
Line 39: Line 66:
We may provide a Windows-based uninstaller that will restore the original Windows bootloader, and remove the C:\ubuntu directory containing ubuntu.img, swap.img, and config.txt, in order to assure users that ubuntu is safe to try, and all changes can easily be undone.

Once ubuntu has been installed, we may provide a wizard that offers to upgrade ubuntu's performance by shrinking or removing the NTFS partition, giving ubuntu a dedicated EXT3 partition, and dumping the contents of the image file into it.
We may be able to resize the disk image if space on the Ubuntu partition runs out.
Line 45: Line 70:
The installer may read data from the Windows registry to detect hardware, download the necessary drivers to C:\ubuntu, and add a section to config.txt that will instruct ubuntu to install the drivers and set the hardware up on the first boot, in order to provide a better out-of-the-box experience for users. The installer may read data from the Windows registry to detect hardware, download the necessary drivers to C:\ubuntu, and add a section to config.txt that will instruct Ubuntu to install the drivers and set the hardware up on the first boot, in order to provide a better out-of-the-box experience for users.
Line 47: Line 72:
The installer may import settings from programs, such as mail from Outlook, Outlook Express, or Thunderbird, and bookmarks from Internet Explorer or Firefox, place them in the C:\ubuntu directory, and add a section to config.txt that will instruct ubuntu to import these settings into the user's profile on the first boot. The installer may import settings from programs, such as mail from Outlook, Outlook Express, or Thunderbird, and bookmarks from Internet Explorer or Firefox, place them in the C:\ubuntu directory, and add a section to config.txt that will instruct Ubuntu to import these settings into the user's profile on the first boot.
Line 49: Line 74:
== Issues that must be resolved == The importers from Thunderbird and Firefox could be used here.
Line 51: Line 76:
The ubuntu kernel only has NTFS read support, and does not have the limited, stable kernel NTFS write support needed to write to the loopmounted ext3 partition. This support will have to be added, preferably as a separately packed module, in order to prevent divergence from the standard ubuntu kernel. == USB memory stick ==
Line 53: Line 78:
The user's password in the config.txt file will have to be hidden or deleted, as it will be a security risk. This can be done by adding a startup script to windows at the end of the installer that will delete the C:\ubuntu\config.txt file, then delete itself, so there will be no trace of the script or the configuration file following the next Windows bootup. One could use install.exe to install Ubuntu in a USB keydrive from a Windows computer with Internet connection.
Line 55: Line 80:

== Related Links ==
 * ["InstallationUbuntuFromWindows"]
 * ["Installation/FromWindows"]
 * ["InstallerForWindows"]
 * ["MigrationAssistance"]
 * ["WindowsInstaller"]
 * [https://launchpad.net/distros/ubuntu/+spec/espresso-for-windows Espresso-for-Windows]
 * [https://launchpad.net/distros/ubuntu/+spec/installer-for-windows Installer-for-Windows]
 * [https://launchpad.net/distros/ubuntu/+spec/ubuntu-setup.exe Ubuntu-Setup.exe]
 * [http://www.topologilinux.com/ Topologilinux]
 * [http://goodbye-microsoft.com/ Debian Windows Installer]

Please add comments to the [https://wiki.ubuntu.com/install.exe/Comments comments page].

Summary

The installation of Ubuntu is a major barrier to its spread and use. This project aims to solve this problem by allowing installation from within Windows using an install.exe file, and eliminating the need to partition the hard drive or burn a CD to install. It will allow a faster and more user-friendly installation for Windows users, the ability to install without the risk of data loss through repartitioning, and the ability to install on ultra-portable laptops without CD drives.

Rationale

Approximately 90% of desktop computers in the world, the target audience of Ubuntu, run Microsoft Windows. Most Windows users are familiar with install.exe programs, and know how to use them. Few, however, know how to burn a CD from a .iso file, boot from a CD, shrink partitions, and install Ubuntu. By providing Windows users with an installer they are more familiar with, we can ease their learning curve, and open Ubuntu to the vast market of casual computer users.

The elimination of the need for partitioning, and thus the chance of data loss, will help Ubuntu gain acceptance in the corporate world.

The elimination of the need for an installation CD will allow users without CD burners or spare CDs to try Ubuntu, ease burdens on ShipIt, and allow installation on ultra-portable laptops with no CD drives.

Use cases

Brenda is an inexperienced Windows user who is tired of viruses and crashes, so she decides to try out Ubuntu. She then downloads the .iso file, and is confused about what to do with it. She reads pages of installation guides, which overwhelm her, and she figures she has neither the time nor skill to switch to Ubuntu. Following the release of the Ubuntu install.exe, though, she downloads it, runs it, clicks "OK" through the installer, reboots, and has a fully functioning and user-friendly OS.

Peter is an amateur video editor who is interested in trying out Ubuntu. However, he hears that shrinking his NTFS partition and repartitioning may lead to irrecoverable data loss. He doesn't want to risk losing his several gigabytes of videos on his NTFS partition, but he has no means to back up all his data, so he grudgingly continues using Windows. Following the release of Ubuntu install.exe, though, he rests assured that because no repartitioning is occurring, his data is safe. He clicks his way through the user-friendly installer, and has an Ubuntu installation within minutes.

Jane and her coworkers are employees at WidgetTech Corporation who would like to use their favorite OS, Ubuntu, at work. Since Ubuntu can do everything required for their job, their employers agree to let them use Ubuntu, so long as they keep Windows installed, in case there is a need for it. However, the employers hear that there is a chance that all data on the computer's hard drive may be lost while reformatting. They do not want to spend precious time and money making backups of terabytes of critical data and restoring it in case it is lost, so the company does not allow employees to use anything other than Windows. Following the release of Ubuntu install.exe, though, Jane and her coworkers show their employers that there is no chance of data loss during the Ubuntu installation, due to the lack of partitioning. They are then permitted to install and use Ubuntu on their corporate desktops.

Mark is an Ubuntu user who has just bought an ultra-portable laptop. He wants to install Ubuntu on it, but can't, because his laptop is too small to accommodate a CD drive. However, following the release of Ubuntu install.exe, he just downloads the installer, runs it from the spot, reboots, and has Ubuntu ready for usage.

Implementation

The installer will be based on the [http://nsis.sourceforge.net/ Nullsoft Scriptable Install System], because it is flexible and open-source. It will use the [http://nsis.sourceforge.net/BattleTorrent_plug-ins BattleTorrent plugin] to download ubuntu.img and swap.img via BitTorrent, in order to conserve bandwidth. As it is downloading, a progress bar will indicate how much longer it will take to download.

ubuntu.img will be the Ubuntu hard drive image. It will be used as a loopmounted EXT3 filesystem, and will be placed in the C:\ubuntu directory. ubuntu.img will be a preconfigured hard drive image, which already has all portions of the installation set up, except those specific to the hardware, such as the X11 configuration, and the user-specific portions, such as the home directory and timezone. swap.img will be a hard drive image of the swap partition. It will be placed in the C:\ubuntu directory.

The installer will ask the user to specify his desired username and password. It will also detect the time zone and locale based on information in the Windows registry. The installer will write this data into the file config.txt in the C:\ubuntu directory.

[http://grub4dos.sourceforge.net/ GRLDR], a modified version of GRUB, allows dual-booting the loopmounted hard drive image and Windows, and doesn't require any changes to the MBR, as it writes to the Windows boot.ini, so it will be used as the bootloader. This bootloader will be installed at the end of the installation, and the original boot.ini file will be backed up. Once the bootloader is installed, the installer will have a "reboot into Ubuntu" button that will restart the system.

On the first bootup, the data from the config.txt file generated by the installer will be read, and will be used to set up the system. The hardware will be detected, and X11 and other hardware-dependent portions of the system will be configured. All of this will be done automatically, and will not require user interaction. Once this is done, booting will continue, and will boot into Ubuntu.

What's Completed

In the [http://wiki.ubuntu.com/install.exe/Prototype prototype], the installer now automatically downloads and installs the initrd, kernel, disk image, and GRLDR via BitTorrent.

The disk image is now booting a standard Ubuntu 7.04 feisty installation with a modified initrd with ntfs-3g support built in, and a standard feisty kernel.

The Windows-based uninstaller is now working

Windows NT, 2000, and XP are fully supported. Windows 95, 98, and ME are supported, but the disk images must be 4 GB or less due to the limitations of the FAT32 filesystem. Windows Vista support is being worked on.

TODO

Install to a real linux partition like debian.exe

Automatic generation of /etc/fstab on first boot

Read values from the config.txt file generated by the installer on the first boot and automatically configure the username, password, language, and timezone accordingly

The user's password in the config.txt file will have to be hidden or deleted, as it will be a security risk. This can be done by adding a startup script to Ubuntu that will delete the config.txt file on the first boot, after configurating the username, password, language, and timezone

NicolòChieffo - a correct regeneration of initrd.img (with ntfs-3g enabled) when upgrading the kernel

Possible add-ons

Once Ubuntu has been installed, we may provide a wizard that offers to upgrade Ubuntu's performance by shrinking or removing the NTFS partition, giving Ubuntu a dedicated EXT3 partition, and dumping the contents of the image file into it.

We may be able to resize the disk image if space on the Ubuntu partition runs out.

While the installer is downloading the disk images via BitTorrent, we may provide users with a [https://wiki.ubuntu.com/UbuntuWelcomeCentre/ tutorial to educate them about ubuntu].

The installer may read data from the Windows registry to detect hardware, download the necessary drivers to C:\ubuntu, and add a section to config.txt that will instruct Ubuntu to install the drivers and set the hardware up on the first boot, in order to provide a better out-of-the-box experience for users.

The installer may import settings from programs, such as mail from Outlook, Outlook Express, or Thunderbird, and bookmarks from Internet Explorer or Firefox, place them in the C:\ubuntu directory, and add a section to config.txt that will instruct Ubuntu to import these settings into the user's profile on the first boot.

The importers from Thunderbird and Firefox could be used here.

USB memory stick

One could use install.exe to install Ubuntu in a USB keydrive from a Windows computer with Internet connection.


CategorySpec

install.exe (last edited 2008-08-06 17:01:19 by localhost)