Supported virtualization platforms and build types

TurnKey works well with all the major virtualization platforms (e.g., VMWare, VirtualBox, Parallels, Xen, QEMU/KVM, etc.). It provides appliances in a range of build types optimized and pre-tested for various popular virtualization platforms.

If you don't already have virtualization software installed, VirtualBox is available in a free open source edition for major OSs. VMWare Player and Server products are proprietary but free to download. KVM is 100% free software built into the Linux kernel which supports many front-end management tools. Proxmox Virtual Environment is a free, open source enterprise grade hypervisor which provides both KVM and LXC.

Build type Headless Packaging Installation Kernel Extras Works best with...
Generic hybrid ISO No ISO CD/USB image (install or run live) Custom installer
(di-live)
linux-generic  

Bare metal hardware
(via CD or USB flash drive)

Any virtual machine (e.g., KVM, Hyper-V, XenServer) that can install from CD or ISO image.

VM optimized (OVA) No

Stream-able OVA archive file containing a read-only, compressed ("type 3") VMDK disk image and an OVF VM configuration file

Import OVA; VirtualBox and VMware support "double-click" import linux-generic open-vm-tools

VirtualBox

VMWare products (Player, Workstation, Server, ESX, vSphere)

VM optimized (VMDK) No

ZIP file containing a writeable VMDK disk image and a VMX VM configuration file

None (pre-installed, ready-to-run hard disk image) linux-generic open-vm-tools

VirtualBox (use existing hard disk)

Low-end VMWare products (Player, Workstation, Server)

QEMU/KVM

also it has been reported that VMDK works with Xen HVM although not confirmed

OpenNebula (LXC) Yes

LXC image

Please see the "Turnkey Linux Images Marketplace" OpenNebula Doc page. n/a

headless initialization fence,

preseeding

OpenNebula
OpenStack Yes

QCOW2 filesystem image

Upload the image to OpenStack (Openstack docs) linux-generic

headless initialization fence,

preseeding

OpenStack

QEMU/KVM (?)

Proxmox Yes

Tarball containing appliance filesystem optimized to run on Proxmox VE (LXC)

Download & import template via the "TurnKey channel" within the webUI or manually download tarball and upload to PVE

Supports v5.x/v6.x (LXC)

n/a

headless initialization fence,

preseeding

Proxmox VE

Other container (i.e. OpenVZ/LXC) based cloud and virtualization solutions....

Xen Yes

Tarball containing appliance filesystem image, optimized to run as a Xen domU guest (should support both PV and HVM, although only tested in HVM).

Varies between Xen setups n/a

headless initialization fence,

preseeding

Any Xen based private or public cloud...
LXC Yes

Tarball of container (LXC) build (see Proxmox build)

TurnKey LXC template (news announcement) n/a

headless initialization fence,

preseeding

TurnKey LXC appliance

Any Linux distribution that supports LXC (undocumented)

Docker Yes

Docker images hosted on the docker index

Docker (docs) n/a

headless initialization fence,

preseeding,

preconfigured run and expose

Any Linux distribution that supports Docker


Other virtualization platforms

Whilst other VM platforms aren't specifically supported, many support VMDK and/or there is often a way to use an existing format (e.g. install from ISO). Often tools are provided with your virtualization software of choice to convert images to the one required. Examples that have been documented are:

Headless vs non-headless builds

In a conventional installation (e.g., from ISO) the user has interactive access to the virtual console during deployment and first boot.

By contrast, headless builds are not expected to provide the user with interactive access to the virtual console.

The main difference this creates is when and how the system interacts with the user to set passwords, basic application configurations:

  1. In non-headless builds, the appliance is setup by the user on first boot.
  2. In headless builds, the appliance is setup by the user on first login.

Assuming that the user has access to the raw filesystem, headless installs can be pre-seeded. Alternatively, they can be interactively initialized on first login. Interactive initialization requires SSH access to the TurnKey root account. Many systems (e.g. Proxmox) support pre-setting the root password and/or addition of SSH keys prior to firstboot. Other systems may require the user to read the randomly generated root password from the syslog.

For further details see the inithooks documentation.

VM optimized images

These are images optimized for deployment on Virtual Machines, using popular virtualization software (e.g., VirtualBox, VMWare, Parallels).

Features

  • Pre-installed: Appliance is pre-installed to a VMDK hard disk image.
  • Includes open-vm-tools: VMWare tools contain drivers which improves performance when running an appliance under VMWare. When running under VirtualBox or other virtualization platforms, the included open-vm-tools are not used. Under VirtualBox, you may wish to install the Guest Addons.

Pros and cons

  • The main advantage: easier setup as no installation step is required. Better performance on VMWare out of the box.
  • The main disadvantage: can't be deployed to non-virtualized bare metal hardware.

Flavors

VM optimized images are available in two closely related formats:

  1. OVA build: as of v14.0 this is the new recommended VM build. It is a single file (.ova) archive built from our VMDK; processed with VMWare's OVFtool. It contains:
    • Disk image: read-only, compressed VMDK hard disk image.
    • OVF VM configuration file: OVF is a standards-based Virtual Machine configuration format.
    • Compatibility:
      • VirtualBox: supports OVA import via "double-click" or via an import appliance wizard which converts the OVA to a native VirtualBox format. The conversion process takes a few minutes.
      • VMWare products: OVA is supported by all current VMware products such as Player, Workstation, Server, ESX and vSphere. It too will import with "double-click" or via the import wizard.
  2. VMDK VM build: previously this was the primary VM build offered for download. We continue to offer it as it can be imported into KVM without conversion (and possibly others such as Xen HVM). It can also be used with VirtualBox and VMware if preferred. It is a zip archive which includes:
    • Disk image: Ready-to-run, writeable VMDK hard disk image.
    • VMX VM configuration file: VMX is a legacy VMware-only Virtual Machine configuration format.
    • Compatibility:
      • VirtualBox: supports adding the VMDK as a virtual hard disk. The VM hardware (e.g., RAM) has to be configured manually as VMX is not supported by VirtualBox. See the virtualbox installation tutorial.
      • Low-end legacy VMWare products: VMX is point-and-click on VMWare Player, VMWare Workstation, VMWare Server.

Generic ISO

This is a single master image format that can be installed anywhere.

Features

  • Custom installer (di-live): can install appliance to any available storage device.
  • Live CD/USB demo mode: allow users to try appliance without installing.
  • Generic kernel: includes bare metal hardware support, and most types virtual machines (e.g., VMWare, VirtualBox, Xen HVM, Parallels).

Pros and cons

  • The main advantage: a single universal image format that works (almost) anywhere.
  • The main disadvantage: an ISO needs to be installed by hand and includes no out of the box virtualization optimizations.

OpenNebula

The OpenNebula devs have documented how to add "Turnkey Linux Images Marketplace". Once added, OpenNebula users can import TurnKey (LXC) images into their OpenNebula infrastructure. (The documentation source can be found here).

Alternatively, OpenNebula provides full VM support via KVM. So TurnKey can be installed from ISO (or VMDK or OpenStack .qcow2 builds should also be possible - although untested and undocumented).

For general information regarding LXC builds, please see the general LXC notes.

OpenStack builds

These are TurnKey builds for the OpenStack cloud platform.

Features:

  • Automatic APT configuration on boot: saves bandwidth costs by using the closest package archive for maximum performance.
  • SSH key support: instances that are launched with a key-pair will be configured accordingly.
  • SSH host key fingerprints displayed in system log: verification of server to prevent man-in-the-middle (MITM) attacks.
  • Randomly generated root password: is set on first boot, and displayed in the system log **.
  • Randomly generated mysql/postgres passwords: the MySQL adminer and/or PostgreSQL postgres passwords are set to to the same random password as root **.
  • Instance metadata python library and CLI: used internally, but useful for advanced users. (learn more).

** Because OpenStack builds are used in headless deployments (without a console), they include an inithook which preseeds default values, and random passwords. They may also be pre-seeded (assuming pre-firstboot access to the disk image).

See the OpenStack builds announcement for more details. Outdated docs - please see this comment.

Proxmox builds

TurnKey Proxmox builds are optimized for OS container-based lightweight virtualization (primarily LXC) via Proxmox v4.x+. They are available directly from the "TurnKey channel" within the Proxmox VE webUI (under Storage >> Templates). They should also work on earlier versions of v3.x (OpenVZ - or vanilla OVZ) but have not been extensively tested.

Please note, if you prefer to launch a "full VM" (i.e. KVM) on Proxmox, then please download the relevant ISO. Either download to your local computer and upload the ISO via Proxmox webUI, or log in via commandline and download the ISO to /var/lib/vz/template/iso/.

See also LXC or the (very dated) OpenVZ builds announcement (historic info).

Xen builds

These are TurnKey filesystem tarballs optimized to run as domU guests in Xen based private or public cloud setups. They should be compatible with both PV and HVM instances. Alternatively, it has been reported that for HVM, the VMDK image (from the VMDK VM build) can be imported.

See the Xen builds announcement for details (although please note that we now provide a (tarball of the) full filesystem image, as opposed to the previous filesystem tarball).

LXC builds

The TurnKey LXC template is the same as the Proxmox build. The TurnKey LXC appliance leverages TurnKey these builds and patches them on the fly for deployment. They should also work with vanilla LXC, LXD or OpenVZ but it's currently undocumented.

See the TurnKey LXC announcement for details.

Docker builds

These are TurnKey builds optimized to run as docker containers, supporting automatic download via the docker public index.

See the TurnKey Docker docs for details.

Comments

Liraz Siri's picture

The generic live CD ISO should work fine with Hyper-V.

Work on more advanced configurations such as using Integration Services will have to be community driven since we don't currently have a Hyper-V environment on hand for testing.

Bart B.'s picture

Why don't you have a Hyper-V enviroment? Microsoft gives Hyper-V server for free and you can also use Azure for free for 30 days to create VM's and export the VHD and config. Where there is a will, there is a way. I sense lack of will here, because you are "So Open-Source" and Microsoft is "So Evil".

Jeremy Davis's picture

The reason why we don't have a Hyper-V build is mostly pragmatic. We're a bootstrapped company, with limited resources, so we have to pick our battles very carefully. None of us are Windows users and we don't have access to any Hyper-V hardware. That makes the prospect of Hyper-V build development expensive and clunky.

We did have a developer looking into Azure builds at one point (perhaps a year or so ago), but the budget (and the free period) ran out before we had a reliable build process. So we had to shelve it. We do hope to revisit that at some point, but seeing as how far behind we are (Debian Stretch was released in June and we still don't even have a public v15.0 beta!), it's not likely to happen anytime soon.

Most of the alternate builds were originally developed by the community, many are still be maintained by the community. So, it could be argued that there isn't a Hyper-V build because there hasn't been enough interest in TurnKey from Hyper-V developers!

If you are interested in working on it, I'm more than happy to coach you! It'd be awesome to have a Hyper-V build! Even if you don't have the skills, as you say, "where there's a will, there's a way"! If you're keen enough, you can do it! FWIW, I'm "self taught" and developed the initial OpenVZ build (what's now the Proxmox/LXC build) back when I was a community volunteer. So it's totally doable. And like I said, I'll support you as much as I can.

So let's get a Hyper-V build happening! Please start a new thread on the forums. I'll respond ASAP with some suggested reading to get you started.

Hope to see your post in the forums really soon! :)

Liraz Siri's picture

You don't need a special build format for KVM. Just use the ISO.
Jeremy Davis's picture

I haven't tested it but I have read that it is easy with built in KVM/qemu tools!

[update] Just realised that it's here in the docs...! :)

Jeremy Davis's picture

E.g you'll find the links for the LAMP appliance here: http://www.turnkeylinux.org/lampstack

Alternatively you can hunt for appliances manually via our mirror network: http://mirror.turnkeylinux.org/turnkeylinux/images/

Or our SourceForge page: https://sourceforge.net/projects/turnkeylinux/

Jeremy Davis's picture

If you click on the storage where the ISO and templates are stored by default (by default it's just called 'local') in the left hand pane, then in the left bar of the main pane, click "content". Towards the top you should see a "Template" button. Click that and you should be able to find all the TurnKey appliances in LXC format.

If you want a "proper" VM, then you'll need to download the ISO and install from that. If you want to download LXC templates from the commandline (or still can't find it after following the above) then you can find them all on the mirror.

Hope that helps.