Linked is a TKLPatch to be applied to Raspbian (based on wheezy) to make a Raspberry Pi as much like Turnkey Linux 12.0 as I could pull off. I'll continue to work on it as feedback allows.

Rationale: Eben Upton created the $35 Raspberry Pi to better prepare students for post-secondary work in computer science and hardware and software engineering. Raspian (or Raspbian, depending on where you look) is a remix of wheezy for the Raspi's architecture that includes essential tools to get kids up and running quickly as effective programming. By all accounts, it is very successful. In my school, 2/5 of the student population are now actively engaged in programming (compared to one last year). Regardless of its purpose, Raspberry Pi's specs make it perfect for some server appliances. No one does server appliances more purposefully and thoroughly than Turnkey Linux. My original intention was to make patches to create appliances directly. That's when I started asking What Would TKL Devs Do? So I decided to recreate Core as best I could, and then create appliances from that foundation.

What the patch assumes:

Raspi is running Raspian from a freshly created .img.

Raspi-config, otherwise, has been used to set locale, set TZdata, set keyboard-configuration.

Root password has been created.

Raspi has wired internet connectivity

SSH has been enabled.

All other users are logged off; root is logged in via SSH.

TKLPatch is compiled on Raspian.

I think that's it...

What the patch does:

Sets hostname to 'core'.

Purges packages that were obviously not helpful on a core appliance. I was conservative here. I could have just used the list linked here [raspbian server edition project] -- and probably made the image much smaller. Primarily, I'm too ignorant (but willing to learn) to purge effectively.

Install function, followed by installs directly informed by Core 12.0 manifest - so directly informed, in fact, that I've probably got stuff in there that isn't serving any use on a Raspi (eject, lvm, for examples). Exceptions to the install list v the Core 12.0 manifest include all webmin packages.

Webmin in Overlay: This patch is big, and I've been corrected for such behavior before. It's nevertheless plump with webmin. I took webmin wholesale out of a running instance of Core 12.0 running in a VM. Informed by the manifest, I took all the modules and the theme included in Core. Are there too many modules? Probably.

Also in Overlay: Confconsole's services.txt. Standard practice for me.

Installed via wget (could do better with a variable and a function, I realize): TurnKey Linux's python libraries and other original code.

I can't remember how confconsole is handled - it'll be obvious to anyone who looks at the patch. Sorry, if I stop to look this post will never get finished.

Handled via overlay: the actual inithooks that seemed relevant to raspi: in /usr/lib/inithooks/bin and firstboot.d.

Shellinabox is installed from repo; the port is changed in conf with sed.

Problems I know about and don't know how to correct:

Root cannot login via shellinabox. This makes me a sad panda; I've looked through running Core VM to see if I could find out why. Nothing was obvious to me. I checked permissions, groups, etc.

3 or 4 python modules/scripts are in /usr/bin that rightfully belong elsewhere. They have a place that's clearly defined in the documentation. If I remember correctly, they make confconsole go. I tried many things to make everything work with these files where they belong, but I didn't try the right thing. I'm ignorant about so much in fact, that I can't narrow it down to just Python ignorance.

Problem I'm anticipating:

Webmin username/password sync with linux. I'm not sure I got this right.

I stuck this up on github at https://github.com/ghoulmann/Raspliance-Core. Raspliance Core? Really? For now. I mention this because...It's a 12MB tarball and won't fit here. If there's a better way to handle webmin (or anything here, for that matter) let me know. I want to keep this rolling.

Nice work mate! I haven't got one, but this makes it all the more appealing! Perhaps I better go order one now...

The only thing that I would suggest would be that rather than host the tarred patch on github, would be to host the untarred code. That way you or others would be able to easily add to/modify your work. GitHub is a great place to store patches in development IMO.

Great advice re: github, Jedmeister. It's my first real experience with it. I've eliminated the tarball, added the directory that contains the patch, and updated the readme. All with the hope someone does something very cool with it...Or anything at all with it, really.

I find it very useful for sharing code. If you like GitHub then have a look at the TKL GitLab appliance too Rik. It's very much like GitHub. You may find it very useful for your students for keeping track of, and sharing all the coding work they are doing on their Raspis!

I have a very basic git/GitHub cheatsheet (in a text file) that I've been meaning to put in the wiki (for my own future reference as much as anything else). If you think that would be useful for you too, perhaps I should pull my finger out and post it...

Once I get a Raspi I'll take your patch for a test drive. Adding to my extensive todo list now... :)

There was a lot of excitement about Owncloud working on Raspi, along with lot's of instructions all day on twitter. Wish I could've gotten this out there.

I feel like I'm doing some of this right; a lot I feel is going wrong. My webmin + modules handling is not elegant; I lift it wholesale out of LAMP 12.0 and stick in the overlay folder as appropriate. It works; I tried using the repos and forcing architecture, but it looked like that method was asking for trouble.

Problem 1: Root can't log in to shellinabox. A security measure that ordinarily would make sense; I know TKL 12 appliances don't have this issue, but I can't see how it was solved.

Problem 2: Could not make phpmysql work on 12322. I saw the apache2 host definition for it in LAMP 12, and stuck that where it belonged in overlay; no luck. So I am missing something there.

Problem 3: I don't know things about security. I think I made the inithooks in firstboot.d too executeable, for example.

I'm having trouble booting from your Raspliance image on my Raspi. I've read that older software (from before Sept. 2013) is problematic with newer boards. Have you had any success booting from your image on a newer Raspi board?

try to build it again for your r-pi. since the img file on github WON'T work with newer bords. first install lastest pidora from "http://www.raspberrypi.org/downloads/"
then use the command line on your pi to run this commands:
"https://github.com/ghoulmann/Raspliance-Core/blob/master/core/conf"

make sure you created a root password BEFORE doing any of commands above.
give me feed back anyway :)

I've been really wanting to have a play with a Raspi for a while, but still haven't gotten around to it (I don't even have one yet...).

I'd suggest that if you want to host your image, set up a SourceForge project. Otherwise there are plenty of free places to upload stuff (if you have enough room you could even use DropBox...!?)

In the future it'd be super awesome to have a whole heap of Raspi ready TurnKey appliances!

But in the meantime I've had a few thoughts (but haven't got far into turning them into reality...). If we could get TKLDev set up right, at least those interested could build their own TurnKey Raspian appliances! :)

I have read a bit about using QEMU to emulate Raspi but haven't actually tried it yet.

From what I gather the version of QEMU in Debian Wheezy repos should work (no need to compile from source as some articles suggest) - but as I said I haven't got far (I set up the test env but haven't got back to it to actually test running anything in it...)

[update] I have got Raspbian running in QEMU on TKL Core v13.0 (Debian Wheezy based). However you need QEMU from wheezy-backports. The version in the main wheezy repo is too old... I probably should document this somewhere as it involved a fair bit of mucking around...

I got my first chance to play with a Raspberry Pi a couple months ago while trying to introduce my grandson to the world of Linux. I was impressed by how easy it was to get up and running. Since Raspbian is now based on Debian Jessie it got me thinking how great it would be to run some of the TurnKey appliances on a Pi. There are a number of other ARM based SBC's that would be potential hosts as well. As an owner of three Roku's I like to see some opensource competition.