A Raspberry Pi Build Cluster for Ubuntu

We are going to build a cluster of Raspberry Pi devices set up to build as much of the Ubuntu repositories as we can, then use it for anything else interesting.
20131029013402-stringio
Alan Bell
176 Facebook Friends
Technology
Farnham
United Kingdom
3 Team Members

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

  • Donate your Pi!

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.

  • Help us set it up
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!

Please do share this campaign on social networks and get the word out to anyone who might be interested in a build of Ubuntu for the Raspberry Pi. As more people contribute we can build a bigger faster cluster and get more done.

Who are we?

Just a bunch of folk, this project is not associated with either Canonical or the Raspberry Pi foundation, it is more of a grassroots community effort, some of us as individuals are involved in the Ubuntu project. Libertus Solutions is a consultancy company that provides support and advice for Free and Open Source software to businesses, occasionally using the Raspberry Pi platform as part of a solution. This is a bit of a side project, but we will put it through the company accounts so we pay all the right taxes and are all official and above board. We welcome additional help from anyone with an interest in the cluster.
£2,667GBP
raised by 86 people in 1 month
107% funded
0 time left
£2,500 GBP goal
Flexible Funding This campaign has ended and will receive all funds raised.
Campaign Closed
This campaign ended on December 24, 2013
Select a Perk
  • £5GBP
    Cheerleader

    Every bit helps, this funds a shelf or a power supply and gets you email updates on our progress. You will get the notification of the SD card image download as soon as it is made available.

    30 out of 1000 claimed

    Estimated delivery: April 2014
  • £25GBP
    A bootable SD card (UK)

    When it is built and we have an image that works on the Pi we will make an SD card image available for download, this perk gets you an SD card in the post to a UK address on the day of release. (We will post them first class the day before the release is available to download). It will be at least an 8GB card. It might not boot to a desktop, that depends on what packages can be built.

    12 out of 500 claimed

    Estimated delivery: April 2014
  • £35GBP
    A bootable SD card (World)

    When it is built and we have an image that works on the Pi we will make an SD card image available for download, this perk gets you an SD card in the post to any address worldwide, posted the day before release. It will be at least an 8GB card. It might not boot to a desktop, that depends on what packages can be built.

    12 out of 500 claimed

  • £70GBP
    Name a Pi

    One of the Pi units in the farm will be clearly marked with your name, we will also put your name on a roll of honour on the project website. This will also be used as the hostname for the builder so in reports of packages you will see "package built by *yourname*" so you can see what stuff your Pi built. This also includes an SD card to a UK address, add £10 for worldwide shipping of the SD card.

    5 out of 32 claimed

    Estimated delivery: April 2014
  • £140GBP
    Name a Tau

    Tau (τ) is 2xPi (π) as this video helpfully explains http://www.youtube.com/watch?v=FtxmFlMLYRI This perk allows you to name a whole Tau of our cluster, each half Tau having a different name. You can also have an SD card shipped anywhere.

    0 out of 16 claimed

    Estimated delivery: April 2014
  • £150GBP
    Pi and a Pie and a Pint

    Come and visit the cluster in Farnham, Surrey either when it is finished or when it is a pile of interesting bits ready to be put together. We will take you out for lunch and a chat about the project. This includes the Name a Pi perk, you will get your own named cluster member.

    3 out of 5 claimed

    Estimated delivery: January 2014
  • £1,000GBP
    Name the operating system

    Would you like the final binary operating system to be named after you? After someone you admire? After your cat or pet chicken? With this perk you can name it pretty much anything you like (50 characters max, probably not containing "buntu" and not containing rude words)

    0 out of 1 claimed

    Estimated delivery: April 2014
Do you think this campaign contains prohibited content? Let us know.