What follows are instructions for how to set up a Rock64 ARM board to do continuous builds of [[https://freedombone.net][Freedombone]] images. At present this only works for ARM images, since some Debian packages are only available for x86.
** Why Rock64?
It's cheap. It has a reasonably powerful CPU which isn't vulnerable to spectre. You can get a version of it with 4GB RAM.
The down side is that like all 64bit ARM boards currently it has proprietary boot blobs (see [[https://github.com/ayufan-rock64/rkbin][Rockchip firmware]]). There isn't really any escaping from that at present. This system won't be especially security sensitive and will usually only be available within the local network.
Having a fairly powerful CPU means that it can build multi-gigabyte images within a reasonable amount of time, rather than taking days as it would on slower systems. And being an ARM board electrical power consumption is still low, so it's not going to put much of a ding in anyone's solarpunk energy budget.
** Inventory
The hardware you'll need is:
* Rock64 (preferably not the Pro version which is Spectre vulnerable)
* SSD
* USB3 to SATA adaptor
* 5v 2-3A Mains power supply with 3.5mm barrel plug
* Cat5/6 ethernet patch cable
A 64GB SSD is about the smallest you can get away with if you want to build all of the images. If you just want to build one or two images then you could go lower than that.
In the below image there's also an Atheros wifi dongle plugged in, but you don't need that for the this system.
#+attr_html: :width 50% :align center
[[file:images/rock64_ci.jpg]]
** Setup of image
Download the SPI flash utility and copy it to a microSD card, replacing /dev/sdX with the drive corresponding to the microSD.
Now you will need to obtain the debian stretch image for the Rock64 and copy it to the SSD. There are various ways to do this. If you have a desktop machine you can connect the SSD that way, or you can use the USB to SATA adaptor with a laptop. Replace /dev/sdX with the drive for the SSD.
If you just want to test the system with a single build then run:
#+BEGIN_SRC bash
sudo freedombone-ci setuptest
#+END_SRC
Otherwise to install the full build system:
#+BEGIN_SRC bash
sudo freedombone-ci setup
#+END_SRC
To view build results in a non-Tor browser navigate to http://rock64. Selecting the icon on the left side of the page will go to the downloads section so that you can download images.
You can set up a CI system to create image builds and test for breakages. Instructions on how to do that can be <ahref="./devguide_ci.html">found here</a>.