• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Rosetta@home on Raspberry Pi (w/ Raspbian): 64-bit config

RickSanchez

Major Contributor
Cartographer
Joined
Sep 4, 2019
Messages
1,168
Likes
2,492
Location
Austin, TX
I realize running BOINC distributed computing projects on a Raspberry Pi is not particularly exciting for most folks given the ppd values are so low. That said if you have a Pi that has some unused CPU bandwidth you might be interested in donating compute power to Rosetta@home. Normally the work units are focused across medicine, clean energy, and materials science but lately they've been cranking out a lot of COVID-19 research: "With the recent COVID-19 outbreak, R@h has been used to predict the structure of proteins important to the disease as well as to produce new, stable mini-proteins to be used as potential therapeutics and diagnostics."


Issue
If you have the BOINC manager installed on a Raspberry Pi with Raspbian (now called "Raspberry Pi OS") and you add the Rosetta@home project, you will likely run into this problem:
  • The Rosetta@home project will display a message in BOINC saying this "project doesn't support arm-unknown-linux-gnueabihf" or something similar. No Rosetta tasks are sent to the BOINC manager to work on.


Workaround
Obviously you could pursue other workarounds that require loading a different OS on your Raspberry Pi. However, I wanted to keep Raspbian. I found a workaround for this issue here: https://marksrpicluster.blogspot.com/2020/04/do-something-useful-with-your-pi4.html I'm just re-posting the steps listed there for people to follow.

Basically you're putting the Raspbian kernel into 64-bit mode and then re-configuring the BOINC manager to recognize this.

Disclaimers:
  • I offer no guarantees that this will work for your system.
  • I offer no guarantees that this is 100% safe for your system; it may break something elsewhere on your Pi. (From my own experience: I've been running it for a week with 0 issues on a Pi that has Pi-Hole, Homebridge, and a number of other apps running.)
  • This may prevent other projects (other than Rosetta@home) from running in the BOINC manager.


Steps: Raspberry Pi
[0] You should already have installed the BOINC manager. If not, install it and add your projects.
[1] To find out what Raspbian OS you have currently type the following in a terminal or ssh session:
uname -a

If you have an older OS then you'd better upgrade it to the latest packages and then come back to this step.

[2] Make a copy of the boot config.txt file first. Type:
cd /boot
sudo cp config.txt config.txt.old


[3] Edit the config.txt. Type:
sudo nano config.txt

Once in nano (a text editor) scroll to the very end and add "arm_64bit=1" (without the quotes) on a new line.

- Press Control-O to save the file.
- Press Control-X to exit from nano.

[4] Now reboot your Pi by typing:
sudo reboot

[5] Back in a terminal or ssh session type:
uname -a

You should see a return value like this:
Linux [your Pi hostname] 5.4.51-v8+ #1327 SMP PREEMPT Thu Jul 23 11:11:34 BST 2020 aarch64 GNU/Linux

The values in green are what you want to take note of to verify that your update to the boat loader config file worked correctly.


Steps: BOINC Manager
[1] You now need to edit the cc_config.xml file that BOINC uses. First, copy the original file so you have a backup.
cd /etc/boinc-client
sudo cp cc_config.xml cc_config.xml.old


[2] Then edit the cc_config.xml file:
cd /etc/boinc-client
sudo nano cc_config.xml


Blank out the contents using the delete or backspace keys and then paste or type this in:
<cc_config>
<log_flags>
<task>1</task>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
</log_flags>

<options>

<alt_platform>aarch64-unknown-linux-gnu</alt_platform>
</options>
</cc_config>


(The lines in green are the ones that are being added.)

- Press Control-O to save the file.
- Press Control-X to exit from nano.

[3] You need to restart BOINC to pick up this change so type the following command:
sudo systemctl restart boinc-client

Now the BOINC manager will accept Rosetta@home tasks.
 
Top Bottom