VirtualMachineOnCD

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

Make it possible to run Ubuntu in a virtual machine when booting the desktop CD under Windows.

Release Note

"Inserting an Ubuntu CD on a system running Windows now offers the option to try Ubuntu in a virtual machine."

Rationale

Bundling the ability to run Ubuntu in a virtual machine under Windows reduces the barrier to entry to try out Ubuntu; for instance, it should not be necessary to reboot, figure out how to configure the BIOS to boot from CD, and so on.

See also installer-for-windows, which addresses some similar use cases; in particular, that addresses the most serious sticking point (configuring the BIOS to boot from CD). As such, this specification is relatively low priority if installer-for-windows is implemented.

Use Cases

  • On a system configured by the manufacturer to boot from the hard disk, it should be possible to try Ubuntu without having to reconfigure the BIOS.
  • It should be possible to insert an Ubuntu CD on a system running Windows and have an option to try Ubuntu in a virtual machine immediately, without having to install any software separately first.

Design

VirtualBox is a promising virtualisation environment. Unfortunately, the pre-built Windows binaries are not free software, although the source is available under the GPL. At 14MB, the binaries are also likely to be too large for inclusion on our CDs. Nevertheless, it seems like the best component to use to implement this specification at present.

We will investigate the Windows build instructions to determine whether the licences on the various Windows build components unavoidably render the binaries non-free; if this is not the case, then we will further attempt to strip out unnecessary components to reduce the size of the binaries.

If this is possible, then we will include a button on the Windows UI that already ships with our CDs that reads "Try Ubuntu in a virtual machine" and invokes VirtualBox in such a way as to boot the inserted live CD in the guest environment. If this is not possible, then the same button will download VirtualBox from their web site (since the binary licence does not permit us to redistribute it) and install and invoke it as above on the fly; if we choose this option, we will contact InnoTek for permission first in order that we do not cause them unexpected bandwidth problems.

Test/Demo Plan

[to be filled in during implementation]

BoF discussion

We looked at a number of virtualisation environments. Most fail one or more of the following criteria:

  • free software (as we propose to distribute it on the CD, and have committed not to distribute non-free applications even though we make some compromises for drivers)
  • runs on Windows
  • runs on Linux (not required, but useful)
  • must not require rebooting to install extra kernel drivers (qemu fails this test on Windows, due to kqemu)
    • not so sure that kqemu needs rebooting... have you tried to execute "net start kqemu" ?
      • The KQemu installation instructions say you need to install a .inf file (not sure if that can be automated), the run "net start kqemu", no rebooting. Even so, kqemu isn't needed to run qemu on Windows, it just lets it run faster, right? -- Mhall119

Comments

  • have you checked out Cooperative Linux? It doesn't run under Linux, but it is free as in beer and speech and I don't believe it requires a reboot. It would require bundling an x server (like cygwin's) because it doesn't have its own virtual framebuffer. - JohnMeuser

  • I posted an idea about that in the forum once, but as you said unfortunely colinux is only able to display output to a console, you need an external X server, for now. I think someone worked on a vesafb driver to display X in it's own window, but it didn't evolved. The advantage of colinux is that there is no emulation, the linux kernel is patched so it run as a normal windows process, there is then no loss of speed, it's really native and doesn't need any help from cpu virtualisation abilities. In fact I would like that Ubuntu stock kernel had this colinux patch - Mirak2


CategorySpec

VirtualMachineOnCD (last edited 2008-08-06 16:39:14 by localhost)