Peter C. (Benchwork)'s picture


I want to learn how to build new TKL appliances, however I have limited time to both learn how best to setup a new application, and how to get it to build correctly with TKL. so I have decided that it would be best to learn how to build all the TKL things, in all the output formats.  

I have Proxmox, so that I can test both KVM and LXC.

I have VMWare ESX so that I can test the OVA, OVF, and VMDK.

I have virtualbox so that I can test the OVA and the ISO.

I don't have OpenStack, Xen, Docker, or Amazon EC2, at this time, but I'm willing to try and get those systems setup for testing at a later time.

so for now I plan to

  1. Focus on how to build all the current ones that are already working.

    1. Create basic Iso's

    2. Create LXC's

    3. Create VMDK/OVF's

    4. Create OVA's

    5. Create OpenStack

    6. Create Xen

    7. Create Docker

    8. Create Amazon EC2
  2. Then when everything is working, I will focus on learning how to troubleshoot the appliances. I have seen in the forums how some issues don't come to light until the appliance has been tested across all the platforms.

    1. I may actually be able help and test with current/future issues with current appliances.

    3. and maybe help update them.

  3. (what I really want to do) begin to build new appliances.


I have already setup and built most of the ISO's

now I need to learn how to build the other formats/platforms.



Jeremy Davis's picture

Any help you could provide would be warmly welcomed!

If you're using the latest TKLDev (v14.2) then it should already include Buildtasks (you should find it in /turnkey/buildtasks).

It was designed and constructed for our own internal use, so has a few idiosyncrasies which may not seem very useful. But we figured it may still be useful for end users and is certainly useful for developers, so we included it in v14.2.

Essentially, it's just a collection of bash scripts, and whilst certainly not intuative, hopefully it may be clear enough what is required.

If you have any ideas on how we can make it better, I'm happy to consider pull requests on GitHub, although it's probably a good idea to discuss your thoughts before you put in too much effort. Because, as I say, it's primary purpose is for us to build and publish the builds. And that will remain the primary purpose from our perspective (but if we can make it more user friendly, as the same time, that'd be super awesome!).

Any specific questions, please do not hesitate to ask.

If you're interested in having a look at that, please check out this gist. Any thoughts, feedback, etc (as per always) is warmly welcomed! :)

Add new comment