The Goal
We intend to build a cluster of Raspberry Pi devices, initially configured as a build farm and tasked with compiling all the source code of Ubuntu Saucy (current stable 13.10), Precise (Current LTS 12.04) and Trusty (Next release, 14.04). The objective is to produce a bootable SD card image and host binary repositories for all packages that will build.
The History
Back when the Raspberry Pi was in development it was shown running Ubuntu 9.04, Jaunty Jackalope. This was the last Ubuntu release that supported the ARMv6 instruction set, from that point on Ubuntu was optimised for newer ARM chips and would not run on the Broadcom chip that the Pi used. I am the point of contact of the Ubuntu UK Local Community team and I was dead excited about this little computer with it's exposed PCB and low price point. I asked some of the Ubuntu ARM folk if they could support it going forward, but that wasn't going to be possible, they didn't have the resources to build for two ARM platforms and the bottom line was that the Pi probably wasn't going to provide a good user experience for the increasingly heavy Ubuntu user interface. This was sad, but it was the situation. I was a bit concerned that the Raspberry Pi foundation was proceeding on the basis that Jaunty was available - it was already old, going out of support and was a dead end, there were going to be no future updates for it. I was concerned that the UK Local community was going to be landed with a lot of new users who were having a poor user experience and there would be nothing we could do about it. Reluctantly I approached the Raspberry Pi foundation (I met the lovely Liz and Eben at an event in Oxford) and shared my concerns with them, and suggested Debian was the way forward, so the Pi would have a system based on a platform Ubuntu users would be familiar with, that would get updates.
So this was sad, I wasn't happy about it, the foundation wasn't happy about it, many users were not happy about it, but it was much better to have a new Debian with updates and prospects than an old dead end Ubuntu release.
Moving on to the present, the Raspberry Pi is a huge success, Rasbian is a great operating platform for it, the LXDE desktop is fine, the Wayland demo was brilliant and loads of cool projects are happening based on the Pi. We still want Ubuntu on it though. We are using it in embedded projects, it is also turning up in things like the OpenERP Point of Sale kit, situations where it doesn't need a responsive user interface (or a user interface at all). It would be great to know that all the libraries we are using on it are the same versions we are using on other computers that are running Ubuntu. It might be nice to see what the Ubuntu Unity desktop looks like on the Pi, especially Unity 8 running in Mir, but that explicitly isn't a goal. This project aims to build everything that will build from source without too much hassle. If that gets us a desktop then great, if it gets us a command line with python, that is great too.
What We Need & What You Get
We want to build a compile farm, based on the Raspberry Pi platform.
We will construct a rack (wood, home made, probably based on something from IKEA) that contains 32 PI build machines and one or two controlling nodes with lots of disk space. The controller will run wanna-build and will host the source repository and built binaries. The build machines will all grab packages from the wanna-build queue, set up a build environment and build them.
Each node needs a Pi (£25), a 32GB SD card (£20), Power supply (£6), Networking (£8), power cabling and shelving (£11) so about £70 per node. 32 nodes sounds like a nice number, which is £2240, the controller nodes and assorted other costs and contingency bring us up to the £2500 target.
Should we raise more than the £2500 we are asking for then we will probably add more nodes to the cluster and spend more time fixing stuff that doesn't build from source. Should funds allow, we might get a second set of SD cards, so we can quickly re-task the cluster from one configuration to another.
What will we call it?
Probably not Ubuntu, because it isn't an official build of Ubuntu - and will probably have things that fail to build from source. We will need a name, maybe we will choose one, maybe someone will buy the naming rights perk!
FAQ
-
Why don't you get a bunch of fast PCs and cross compile?
It really needs to be built on the target architecture, that way packages that test themselves can run the tests in the right way. We also don't want a bunch of screamingly loud fans and lots of heat. The Raspberry Pi runs cool and silent, we think the price/performance is going to be OK too.
-
Why don't you use QEMU on cloud based computers and do it emulated?
Well that wouldn't be half as much fun.
-
What happens about packages that fail to build?
Depends why, if they fail to build due to lack of ram or disk space on a buildd then we can set up a beefier buildd with maybe an attached SSD and lots of swap, it might be slow but it should get there. If they fail to build because the code won't compile then we will probably just report a bug and leave it. We don't promise to build every single package.
- What happens after it is done?
Well there is always more to build with a new Ubuntu distribution every 6 months. We would be very happy to use the cluster for other things too, if someone has a great idea and can give us some code to run on it then great, lets do that! It probably isn't going to be the future of Bitcoin mining, but if you want to do some experimental stuff that needs lots of modestly powered nodes then we are open to all suggestions.
-
What if the campaign doesn't meet the target?
We will build a smaller cluster, it will take longer to build things, we might have to scale back the number of packages built, but we will still do something cool.
-
What is the VAT situation on this? Can I get an invoice?
Libertus Solutions is a UK company registered for VAT, we think that we will have to pay VAT on the money we get from Indiegogo, treating that as a sale of the pledges. Whether you have made a "purchase" by contributing is less clear. If you have an EU registered business and want to contribute to the project then we suggest you get in touch with us and we can directly invoice you for a pledge item so you can reclaim the VAT and it gets accounted for like any normal purchase.
Other Ways You Can Help
If you have a Raspberry Pi that you bought with the intention to do something cool, but it is now sitting in a box all lonely and sad then we would gladly take it off your hands so it can enjoy doing some work with lots of friends! We will even pay for the postage. If you donate a Pi this way you get the naming rights for your pi, so you get to give it a hostname.
If you have experience with building Debian based operating systems using wanna-build and buildd slaves or if you want to help fix packages that won't build from source then we would be delighted to have your assistance.
- Tell people about this campaign!