Support for Arm processors

Ian Goddard's picture

Having just read this I wonder if you've thought of packages compiled for Arm which could install on devices like this.

Liraz Siri's picture

We're going to be upgrading our infrastructure to support 64-bit first but further down the road we'd like to take a look at supporting other architectures such as ARM. It would be fantastic to be able to support deploying TurnKey appliances on super-cheap hardware such as this. We might even partner up with one of these vendors to offer users pre-installed plug-in computers.
Ian Goddard's picture

In that case it might also be worth your while looking at the Excito products.

Although super-cheap H/W is one aspect the other is very low power consumption.


I see that omeone is already selling Sheeva plugs with an embedded appliance: so it looks like this might be the way to go.


Jeremy Davis's picture

This is all a bit exciting I reckon! TKL as a hardware aplliance!!

Liraz Siri's picture

I took a look at the web site, and I really like their hardware plug idea. This could really be useful with some of the TurnKey appliances. When we get a little room to breathe I'd like to take a closer look at this.
bulek's picture


I use TKL on regular PCs, but recent plugPC products have attracted my attention.

I've ordered dreamplug :


Any news or plans regarding usage of TKL on such little beasts ?

Thanks in advance,



Jeremy Davis's picture

I know the core devs have discussed a possibility of selling official 'TKL' hardware with pre-installed TKL but I think that's probably still a while away. As there still isn't 54 bit support, an ARM compatible version of TKL is probably still a while down the track.

As for that system, it looks cool and it may be able to run TKL appliances (in the documentation I read that it runs Ubuntu although what I read seemed quite vague - the x86 version of Ubuntu is the basis of TKL, so depends on whether that's the version it runs, or not). It may require some (much?) tweaking though and I don't know a lot (read: nothing) about that sort of stuff so it'd probably be a case of trial and error.

Please let us know how you go with it. I'm very interested in these sort of minimal PCs - I really like the concept of a tiny, low-power, silent server. Very cool :)

anonymous coward's picture

Looks like Turnkey and Raspberry Pi are built for each other!

It would be great to get TKL on the R-Pi!

Liraz Siri's picture

Once we finish upgrading our build infrastructure and moving it to the cloud we might be able to pull this off. We'll keep everyone posted.

On my to-do list for my engaged students: either mimicing or porting TKL-Core 12 for the Raspi. Our school seems to be early adopters: about 2/5 of our student population has either purchased a Raspberry Pi, is working with a Raspi in class, or both.

I'm committed to keeping things authentic, and it really does seem that there's authentic use for TKL appliances on a computer with Raspi's specs.

I don't yet know how much skill, knowledge, and talent this will take, so I'd look forward to any feedback. I've dabbled: I've compiled - I recognize not with much purpose - with success TKLPatch on a Raspi running Raspian.

I'm guessing I first write build notes, starting with standard deb packages that are available from repos for Raspian/Deb and listed in Core's payload. I imagine then I compile from source bits like TKLpatch.

An example of something I don't even know how to begin: making confconsole work at any level. I can get the depends. I can git clone the source. But I imagine those files need put somewhere - it's either my python ignorance or my FHS ignorance - or both - that's keeping me from putting them where they belong.

Jeremy Davis's picture

I'm guessing that this project has already progressed a bit!?

But just in case, I'll give you what I'd do if I was taking this on. Take note though that this is theoretical and is a result of me googling and stringing stuff together... I have no idea if it'd really work...

I think the first thing to do would be to create a reference clean TKL Core machine (probably just as a VM). Then get a list of all the packages that are installed in a text file.

dpkg --get-selections> orig_installed

Then install a minimal Debian Squeeze to your Raspi (I'd probably use the Net-installer ISO - I don't recall the best/most reliable way to set it up on USB but I do remember that I had to redo it because I did it wrong, it has changed for Squeeze - google has the answers!)

Once you have it installed and running then copy in the orig_installed file from above and run these on the Raspi (comments after not required just FYI)


dpkg --set-selections < orig_installed # select packages for installation
apt-get dselect-upgrade # install selected packages 
dpkg --get-selections> new_installed # list installed now
comm -13 <(sort new_installed) <(sort orig_installed) > to_remove # *create list of packages installed on Raspi, but not Core
sed -e s/install//g -i to_remove # remove all instances of word 'install' from file
dpkg -r < to_remove # remove all packages on list

*Note if 'comm' gives an error you may have to install coreutils (sorry haven't got a TKL handy at the sec to confirm it's installed).

Hopefully that'll be a good start. You could rerun line 3 again and rerun the comm line but back the other way to see what is installed on Core that isn't in your Raspi now (what you'll probably need to compile - although some of the debs from the TKL repo may well install anyway if you download and force them to ignore arch). You may still have some loose ends to fix up too (like Webmin & Webshell)...

But sincerely, thanks. This is much fast than my plan would have been.

I've gotten as far TKLPatch (I'm not sure why, it's just where I started); shellinabox (absolute breeze for wheezy); confconsole (Everything but display confconsole on boot; service is running, I seem to have gotten all the bits in the right place, and it runs as intended when I ask it (it's just not displaying on boot)); ssh works out of the box on raspian.

I was going to ask if this is time poorly spent, but I don't think it is; some of TKLs appliances are perfect for the raspi, especially for students.

Jeremy Davis's picture

I just hope it works for you. Even if it doesn't completely its a start I guess.

The theory comes from what I did when I upgraded my desktop from Hardy to Lucid (and 32 to 64 bit). So I knew that it was theoretically possible. The only thing that might trip you up is the packages from the TKL repo. And I think you might also need to put an 'apt-get update' in there somewhere too... It's a start though...

Started with Raspian:

Got a lot of Core in it. In this case, it's a webide appliance. Ive followed the ideas from jedmeister. Got many packages that Core has from wheezy repos for arm. From there, took everything from with wget and started configuring and placing code using Alon and Liraz's docs. Here's what works:

  • Inithooks
  • Shellinabox (from repos; changed port) (ssl)
  • Webmin from tkl source. Used install script, then moved relevant modules and theme into place (ssl)
  • Ssh (already worked)
  • Confconsole (edited services.txt)
  • Webmin relies on pam for auth)

What needs done: remove lxde and everything that came with the raspian img that isnt serving the interests of an appliance core; find out why confconsole thinks its modules are missing when they are placed where they should be (checked permissions and shell env, guess i need to find out about pythonpath. I need to be more certain about which inithooks stay. Security updates might be able to be directed to look to raspian repos instead of TKL's. Right now webmin install script asks for username and password. That can be unnecessary if this becomes scripted. I need more info about tklbam - not sure it is going to work without tkl appliance profiles. Need to compile tklpatch - no sweat.

The way the raspi community is looking, it may be better too just offer an img file to write to an sd card. Automating the process, is, well, how tkl raised me. But a sripted solution may be to tedious, too complex, could need too much error handling for students to handle, unless i prepare everything for them; that lacks authenticity to me.

Whatcha think? It's more fun than lesson plans - which i should have been working on.

Jeremy Davis's picture

Although I don't know if the guys have published the source for that. You could try downloading the deb (from the TKL repo) and install it with dpkg --force-arch=arm (or something like that... perhaps have a quick google). I have used it with some success on occasion install 32 bit debs in 64 bit but YMMV with ARM. 

Then you can fudge the profile creation. I don't recall but Liraz mentioned it (with some trepidation) in the comments on a blog post (IIRC it was in relation to tricking TKLBAM into allowing you to back up PostgreSQL appliances before they were officially supported).

Also yeah IMG file might be more popular but I think that a scripted solution could be good too. Actually I think you could even create a TKLPatch to do all this work. AFAIK you should be able to build your ARM IMG within a Chroot - although don't quote me on that... [update] Actually looks like you can!! Here's a link on how-to with Ubuntu, as you know it should pretty much be the same for Debian.

Either way if you end up with a usuable IMG file please feel free to upload it to the TKL community SF page (I did add you didn't I!? - Actually reminds me I need to go clean that up sometime...)

It's a 12.8 mb patch because I couldn't find another way to get webmin working properly than to lift it (and the included modules) wholesale out of a Core 12 instance and put in an overlay.

So, is a new forum post a place to post it, or should I just ship it to github?

Post new comment