Categories
Folding@home

Setup Rosetta@home on Raspberry Pi OS: 64-bit Kernal

Having recently purchased a Raspberry Pi 4 (4gb) with the plan on running Rosetta@home I discovered that BOINC on ARM won’t run Rosetta@home on 32bit. This was not ideal but with all things a Google or two later and someone else has found a simple solution to this problem and one worth sharing.

Install BOINC on Raspberry Pi with Raspberry Pi OS (Raspian)

If you already have it installed then obviously skip this step. If you don’t then read on to get started.

Step 1: Firstly, make sure everything is up to date by running the following commands:

sudo apt-get update
sudo apt-get upgrade

Step 2: Now install BOINC for Raspberry Pi by running one of the following commands depending on whether you’re using the GUI or not:

GUI

sudo apt-get install boinc

Command line (Headless)

sudo apt-get install boinc-client

Add Rosetta@home to BOINC

Add your login details or add Rosetta@home by signing up here to BOINC using the Add Proect options.

Once this is done, set BOINC to No New Tasks for all projects. If it has any work in progress let it finish and report it before proceeding.

Putting the Kernal into 64bit mode

Making this change tells the OS kernel to use 64 bit mode also known as ARM64 or aarch64. By default the kernel runs in 32 bit mode for compatibility with the older Pi software. You’ll need the 4.19.75 or later kernel. To find out what you have currently type the following in a terminal or ssh session:

uname -a

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

Make a copy of the config.txt first. Type:

cd /boot
sudo cp config.txt config.old

Edit the config.txt. Type:

sudo nano config.txt

Once in nano (its 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.

Now reboot it by typing:

sudo reboot

Setup BOINC to use aarch64 processing

Back in a terminal or ssh session type:

uname -a
Terminal showing aarch64 addition to uname command.
Terminal showing aarch64 addition to uname command.

You should see it says “aarch64” on the end of the line that previously did not. If it doesnt double check the above instructions to fix. If it does your good to move on with the below by editing the cc_config.xml file that BOINC uses. Type:

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>
  • Press Control-O to save the file.
  • Press Control-X to exit from nano.

Restart BOINC client to pick up this change by typing the following command into terminal:

sudo systemctl restart boinc-client

Lastly, make sure you restart the BOINC Manager if you use the GUI and make sure it is accepting new tasks.

Now you can allow BOINC to accept tasks (yay)

Rosetta@home schedled for processing in BOINC Manager on Raspberry Pi OS using 64bit Kernal

Sources and credits

As metnioned at the start, this is not my work but the work of other, more knowledgeable persons. MarksRPICluster Blog shared this information in April 2020 and it’s worked perfectly for me so far.