Jeremy Davis's picture

I was contacted (privately) by a guy a couple of days ago who is working on porting TurnKey to RPi. He doesn't want to make his work public yet as he wants something that at least sort of works first (which I can understand). His primary goal is actually to port BitKey first (it was a side project from a couple of years ago). Even though Bitkey is built with TKLDev it sounds like his approach is slightly different so it probably won't quite get us over the line; but it will be a great start. Hopefully he comes up with something. FWIW he is following the path I originally took and using QEMU to emulate similar ARM hardware to a RPi.

Essentially Raspbian is sort of a fork of Debian - somewhat like Ubuntu is sort of a fork of Debian too. The difference is that Raspbian is aimed at specific hardware (whereas Ubuntu is just doing things differently). Vanilla ARM Debian does not work (properly) on RPis (at least not on RPi1) so Raspbian must be used. But TurnKey used to be Ubuntu based, and Raspbian is also Debian based. The significant difference here is architecture; although even that isn't completely new to TurnKey (we used to be a 32 bit only release). Having said that; 64 bit can handle 32 bit builds no problem; ARM is totally different (hence the need for QEMU). Another difference is that instead of an ISO we need to build an image that can be copied direct to an SD card. But we (almost) have that covered too. Our VM images are very similar to the type of image we'd need to produce to write straight to an SD card and boot... So many of the pieces are there; they just need some tweaking...

My original plan was to use QEMU to virtualise ARM hardware and create the RPi builds in that. But as I mentioned I had issues. I also saw the value in your suggestion to actually just get it running on RPi for starters. I think that's possibly a quicker easier way to go (although it would not be conducive to us mass producing all the existing images).

FWIW your analogy is not bad. The way that TKLDev works is essentially builds the whole OS from the ground up. Mostly it's just Debian but we add a few things extra; and of course the software on top... You could theoretically use TKLDev to build a custom desktop distro of Debian if you wanted. And with some tweaking you could even use Ubuntu instead. So the end goal would be to use TKLDev on amd64 hardware (then we can mass produce the RPi builds when we build all the other appliances).

But the alternative is to just work straight on the RPi. It'll still be a ton of work, but it would mean that one piece of the puzzle could be put aside, at least for now. Anyway, this may all be a moot point as I don't have the time to work on it myself ATM, and it sounds like this other guy is planning to go more along the original route that I started...

No problem. Just get in touch when you can. And thanks tons for getting this ball rolling and helping out! Talk more soon. :)