
This week Bold held it’s first ever Innovate or Die Days, Bold’s version of Hack Days (with more innovation and potentially more death?). This event is an opportunity for all employees to spend 48 consecutive hours building innovative and creative tools, programs, and anything they can dream up to help make Bold an even better place to work.
THE RULES:
- Employees must team up in groups of 1 to 3 and submit their ideas and any costs at least one week in advance.
- All projects must be for use in the office, related to the company, and/or generally related to the industry, but cannot directly involve their job.
- Each team is given 48 hours to complete their project.
If you have read any of my posts before or visited any of my other blogs you will know that I am a huge fan of Linux, Raspberry Pi, and Open Source in general. I teamed up with Tyson Kroeker, another developer at Bold and set out to build a small form factor, open source continuous integration server.

The Hardware
In order to keep the entire form factor small, we opted to use a Banana Pi, a small Linux computer based on the Raspberry Pi with much higher specifications. We used an 8GB SD card to act as the main drive as well as a 500GB Seagate Barracuda for code storage. We also decided it was important to incorporate3D printing into the project so we printed 2 different cases for the Pi, one of which is visible at the top of the page.
The Banana Pi is preferable over the Raspberry Pi just because we will be running Jenkins which is a Java application and requires slightly more CPU and I have little patience for the sever to be slow. This entire project could be recreated on a Raspberry Pi though if you don’t have access to a Banana Pi.
The Software
We installed Jenkins for Continuous Integration, which is an entire post in it’s self. We also installed LAMP to process PHP, run a MySQL server and of course run a web server to utilize this all. We also installed the Open JDK for Linux to run Java. The operating system that was running on the Banana Pi was the Raspian image, which is a customized version of the Rasperry Pi’s Raspian image. All of the images for the Banana Pi (Including Android) are available on their website and installation is the same as installing an image for the Raspberry Pi, you can get instructions on my website for all operating systems here.

What Did We Learn?
We faced a couple challenges right off the bat. We anticipated having issues with WiFi so we actually brought 4 different adapters. One Asus which didn’t work, 2 D-Link sticks which only sort of worked, and one other brand I can’t even remember which obviously didn’t work. We opted to utilize the Banana Pi’s onboard ethernet port, which we connected to a USB to Ethernet adapter plugged into Tyson’s Mac.
We found that the Lubuntu image for the Banana Pi worked fine in regards to speed but quickly found that we were running into issues where every time we unplugged or plugged in a USB device the OS locked up and sometimes needed a reboot to get going again. For a build like this, that is incredibly annoying so we ended up reformatting the card and installing Raspian on it because I knew from experience using my own Banana Pi at home that the image was fine.

We were asked to answer several questions while building our projects: What void does this fill? What is the future for the project? And what tech did we use? I think I have adequately covered the tech used in the project and I briefly covered the tech used but to answer the other 2 we would like to eventually utilize this to automate tests and continue pumping out quality code at a slightly more automated pace. As for the void, we lacked small computers with 3D printed cases in the office. The Banana Pi has proved to be a very versatile little machine that expands on the Raspberry Pi in a very positive way.
Pictures
Here is a gallery of pictures I took during our build.





























The post Innovate or Die: Banana Pi Servers appeared first on Bold Apps Tech Blog.