I'm wondering if there exists an OS or distro that is purely created for launching a simple GUI at startup that allows a user to select a VM and fire that up.

You could see it as a multi-boot like system but with virtualbox VM's, very basic, no fancy gui stuff, just a list of VM's and the ability to boot them.

I know of Ubuntu JeOS which is specifically geared towards VMWare virtualization. The thing is that we need VirtualBox and a simple GUI to select the vm.

  • Is there some reason you can't just install something like Ubuntu desktop and configure VirtualBox as a startup application? – Goyuix May 3 '11 at 14:57
  • That's always an option although i would rather not expose the whole host system to the users, simple running instances of the vm's is all that needs to be done on this machine. – ChrisR May 3 '11 at 21:04
  • 1
    Yes it's called ESXi – Zapto Apr 15 '12 at 13:23

Basically what you're asking for is the equivalent of a bare-metal version of VirtualBox. No, this does not exist.

The VirtualBox project has focused on the hypervisor as a part of an already running and configured host OS. All the disk, file system and other system management stuff is handled by the host OS. As far I know no project has tried to bundle up a linux distro around VirtualBox as the primary app.

It would not be hard to roll your own. Several distros have systems of creating custom install package lists that you could setup with just the things you see as essential.

  • Well i don't literally need a distro around Virtualbox (although that would be nice if it existed) but i'm looking for a way to absolutely only allow users to run the VM's in Virtualbox and do nothing else on the host system. – ChrisR May 3 '11 at 21:05
  • 2
    Turn off the consoles, don't give shells, autolaunch an X session as a non privileged user with a tiling window manager like awesome and config it with no bar, menus or run command and only one key binding to switch between windows and auto-launch VirtualBox using sudo or set the VirtualBox device nodes to be user accessible. – Caleb May 3 '11 at 22:41
  • Do you perhaps know of an article describing a technique like this in detail as a starting point? – ChrisR May 4 '11 at 6:14

Ubuntu Server is pretty minimalistic. Ubuntu JeOS purports to be just enough OS to run virtualization. It is targetted for VMWare, but folks have made it work with VBox

  • I'm out of votes but +1 for this. It looks like this has been discontinued 8.04 but there is still a minimum install option as part of Ubuntu Server Edition. Not a bad recommendation. – Caleb May 3 '11 at 14:03
  • 1
    Ubuntu JeOS is for guest operating systems, not for the host system. Which is the case. – erickzetta Jun 3 '11 at 22:31

It's trivial to get around your lockdown with CD or USB boot devices unless you remove them physically.

It doesn't sound like you're using virtualization as it is intended, (More than one machine running at a time). Using virtualization as an OS menu choice doesn't make sense. If you're only running one system at a time, why not just install separate systems to partitions and clone/restore from another protected system if/when compromised. You could have 128 partitions of TinyCore or Puppy systems on a single disk. Use grub2 boot to ISO to protect base OS and reduce the number of partitions needed.

Have you thought about using PXE? Boot to a PXE server with a menu choice for OS desired. No hard drives needed at the workstation. Works great with gigabit network. Money spent on workstation drives can be allocated to gigabit switch, NICs and Raid drive setup in the PXE server. Much more difficult to override restrictions. Using snapshots, any running system hacking won't survive a reboot.

Best PXE configuration - Use ZFS as the file system. (FreeBSD or Solaris as the PXE server) With ZFS you can have the system reset to a known state at every shutdown. Use a shared drive or sync features to save bookmarks and files between sessions. Or use ZFS overlays so each user can install apps and modify at their whim while leaving the master intact. All system shared the same master base install to reduce drive space needs. Same thing can/should be done if you decide to go virtual by using immutable disks.

Otherwise roll your own from a distro's CD remaster as mentioned before. Look at kiosk tools and distros for a start, like http://extragear.kde.org/apps/kiosktool/ Also the Oreilly Knoppix Hacks book has many tips for kiosks. Knoppix makes a great "fat" kiosk for more than just web surfing.

  • The OP's comment to Bart's answer gives the reasons for why he wants to do it this way and that makes perfect sense to me. Also, running multiple concurrent VMs is not the only, or the original, reason to use virtualisation. – John Gardeniers Jun 3 '11 at 23:25

Why do you need VM's? It sounds like you're talking about multibooting, just using a boot manager at startup to select the partition you boot from. Unless you're using VM-specific features, why impose the overhead of virtualization?

There's no specific Virtualbox system like that that I know of. If you use a pure solution like ESXi you'll have all your virtual machines start up at startup...

If you can elaborate on what your end goal is (do you need specific VM features?) maybe the solution you are looking for isn't quite what you're aiming at here.

  • 1
    the main reason i'll need to take regular snapshots of the vm's and running multiple instances next to eachother is a plus. – ChrisR May 3 '11 at 21:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.