ODROID-C2 Dedicated Linux BOINC Cruncher How-To
This is a step-by-step Tutorial on how you can use your ODROID-C2 as a dedicated BOINC cruncher.
Check the BOINC project list to find BOINC projects that support Linux on the ARM platform.
In this How-To we use a GNU/Linux host system to write the disk image to the storage media of the ODROID. If you are using another operating system, you have to use alternative methods.
Download & extract Armbian for ODROID-C2
I recommend the lightweight Armbian GNU/Linux distribution for use as BOINC crunching device. The server version does not contain any desktop environment, so no resources are going to be wasted for things we do not need anyway.
Download the server image for the C2 from the following URL: https://www.armbian.com/odroid-c2/
$ 7z e Armbian_5.35_Odroidc2_Debian_jessie_default_3.14.79.7z
Write the image to your memory card (Device name must be adjusted, of course! You can get the device name of your card by executing lsblk).
$ sudo dd if=Armbian_5.35_Odroidc2_Debian_jessie_default_3.14.79.img of=/dev/YourDevice bs=1M
Plug the MicroSD card into the ODROID-C2
Boot up the ODROID, blue LED should flash up periodically
Connect to network via Ethernet or Wi-Fi using a static IP address (How-To Wi-Fi)
SSH is active per default with username root, password 1234
Connect to the ODROID via SSH (Change to your IP!) and follow the instructions
Add the armhf architecture as it is required by most projects
$ sudo dpkg --add-architecture armhf
$ sudo apt update && sudo apt dist-upgrade
Install BOINC & required libraries
$ sudo apt-get install boinc-client libstdc++6:armhf
Start the BOINC client so the config files get created
sudo systemctl start boinc
Set an alternative platform
In order to receive work units from some specific projects (e.g. WUProp), you have to set an alternative platform in the cc_config.xml configuration file as a child of the options element.
$ sudo vim /etc/boinc-client/cc_config.xml
<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
You can choose between two options to enable remote access. Either you add every host you want to allow access to remote_hosts.cfg or you enable access for everyone by modifiying cc_config.xml, again adding a child to the options element.
Restricted: remote_hosts.cfg
$ sudo vim /var/lib/boinc-client/remote_hosts.cfg
Unrestricted: cc_config.xml
$ sudo vim /etc/boinc-client/cc_config.xml
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
(Optional) Set access password
$ sudo vim /var/lib/boinc-client/gui_rpc_auth.cfg
Reboot to apply the updates
Connect to the ODROID using the IP address you configured. You can connect via BOINC Manager, boinctui or another GUI and then add your projects as normal.
The cc_config.xml should look like this when allowing remote access for every host.
<cc_config>
<options>
<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
</options>
<log_flags>
<task>1</task>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
</log_flags>
</cc_config>
Check the “Notes” section on the Armbian page for the ODROID-C2 to improve the power usage and to disable the flashing blue led if you like.