Base Turnkey Appliances on T2 instead of Debian or Ubuntu?

Chris Musty's picture

Just wondering.

Until I found TKL I used to make my own "speciality" images with T2 linux.

Basically it only installs the packages you require and results in an extremely lean system.

If you have a look at (a free PBX solution) they have some amazing functionality in a 20Mb package. I think the next version might blow out to a whopping 30Mb! They have used T2 ever since porting from FreeBSD to Linux.

Is there a reason for using Ubuntu or Debian as the base for TKL or would there be benefit in using a "distribution build kit" like T2?

Jeremy Davis's picture

But I've been hanging around here a while now and can probably give some sort of interum answer...

Firstly though, I'd like to say that T2 looks very interesting. I've never come across it before and I must say that I think it's worthy of further consideration and investigation.

Basically I'll paraphrase something that I think Alon said some time ago, or maybe it was Liraz, I forget - actually good chance they've both said it...: TKL is not intended as a finsihed product, but as a great starting point. A big part of the idea from where I sit, is to actually assist people to engage with Linux. To lower the bar to Linux server acess. This gives TKL  an incredibly broad user base. Everything from complete Linux newbs who want something with little or no initial config (ie as an end product), through to very experienced Linux ubergeeks that just want a starting point - and just about everything in between. In my experience it not only allows growth into Linux, it actually encourages it! I was a complete Linux newb when I started here and while i still don't consider myself an expert, I've come a long way.

I'd guess a big part of deciding to start with an Ubuntu base is to capitalise on an already massive and friendly range of support online (official and unofficial forums and blogs, etc). I'm not sure whether it was a major factor, but surely the core devs would have considered the possibilities for enterprise level support too, piggy-backed on Cannonical.

There is also the factor of community engagement, so rather than the core devs doing it all, others (such as us!) can easily contribute, without needing a Computer Science degree (although I'm sure it helps!)

From what I know of the core TKL guys, they've only just got started! So there is no reason why they may not consider releasing at least some of the appliances based on T2 at some point. We'll have to see where that goes. ALthough to be honest don't hold your breathe! With part 2 of the v11.x release still yet to be unveiled, the probablity of maintenance release of part 1 v11.x, as well as support for mirco-instances on AWS, x64 appliances and the possibility that TKL may also release Debian based appliances too. ...And we're only a year away from the next Ubuntu LTS release (most probably the basis for TKL v12.x). 

Wow, that's a bit of an essay! Wasn't quite what I originlly intended...!

Liraz Siri's picture

I hit reply, think about Chris's question deeply for a while and then start writing an elaborate response, little knowing that a few minutes into this exercise you had already posted your own thoughts running in an eerily similar vein. I guess I shouldn't be surprised. Great minds and all that. :)
Jeremy Davis's picture

And your influence is rubbing off on me! :) Either way it's all good!

Liraz Siri's picture

This is an interesting question. I haven't used T2, but from the documentation it seems similar to Gentoo and I used to be a fan a few years back before I decided it might not be such a good idea to spend so much energy tweaking and wrestling with my system. It's definitely a good learning experience, but I wouldn't recommend it to anyone that doesn't already have significant Linux experience, a deep love for all things Linux (including the bad stuff) and a high tolerance for pain/frustration.

Anyhow there's no arguing that Debian and Ubuntu (especially the recent Ubuntu releases) are not as small and efficient for any given usage scenario as you could get if you rolled your own system from scratch.

But there are other dimensions of performance besides footprint, and optimizing the footprint / dependency chain like that usually comes at the expense of other goals. Our vision for TurnKey Linux is to give the largest number of users convenient starting points they can easily customize to meet their unique requirements. In other words, we're trying to build solutions you can grow into comfortably. The starting point isn't as important as the end-product. In an ideal world one size would fit all, but in practice no two use cases are exactly alike so it's pretty much impossible to please everyone. Luckily Debian has over 25,000 packages in its software repositories. They've pre-built so you can install them in seconds using the package management system. They're tested for months before release by the more adventurous parts of the community. Most of the kinks get ironed out. They're maintained with backported security updates, which very rarely break stuff, so rigging up your system to install them automatically is actually a reasonable proposition.

You don't get those advantages when you roll your own system from the ground up (or close to it). There's no conceivable technical substitute (e.g., barring magic wands or strong AI) for a large community of human brains (e.g., the Debian community) who are willing to pool together their wits to polish off the bleeding edge to a nice smooth finish that doesn't cut you (usually).

Also consider the context in which you have to justify any investments in human labor. Computers are improving very quickly at what still looks like an exponential rate. People aren't. When you're thinking about what to work on, it makes sense to take into account the value it will have a few years from now. We don't want to just develop for the present, we want to develop for the future, because that's where most of this stuff is going to live.

I hope this better explains our thinking process!

Chris Musty's picture

I imagined that would be the reason but I had to ask.

I have had headaches with "rolling my own" but when enough time can be dedicated to the project the results are spectacular. Personally I love Debian/Ubuntu for their community and ease of use and I have used them many hundreds of times over for varying projects.

Thanks for the insight.

Chris Musty


Specialised Technologies

Post new comment