Table of Contents
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
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)
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.
One reply on “Setup Rosetta@home on Raspberry Pi OS: 64-bit Kernal”
[…] out my other post on Setting up Rosetta@home on Raspberry Pi OS: 64-bit Kernal which is how I contributed to the COVID-19 research they were […]