As mentioned in an earlier post, you can use NativeBoinc to use BOINC on Android devices. But what about Raspberry Pi and other ARM/ARMHF devices?
When installing BOINC on Raspberry Pi, you might notice that only certain projects support armel/armhf devices. Unfortunately this excludes Seti@home and some other projects, resulting in them not working at all.
There’s a fix for this now, checkout this page:
It offers a quick-start guide and downloads that you can use to make projects like Seti@home working on armel/armhf devices such as the Raspberry Pi.
Basically you just need to delete the content of the directory /var/lib/boinc/projects/setiathome.berkeley.edu/
and download setiathome_enhanced and app_info.xml into it. Make sure to assign the projects folder to the boinc user via “chown -R boinc:boinc projects/” while in the boinc main folder.
Lastly, attach the Seti@home project to Boinc as explained here.
I’ve compiled the Seti@home binaries on multiple devices, you can find binaries for Raspberry Pi, Cubieboard, OLinuxino A13, Samsung Galaxy S2 and Asus Transformer 101(G) at http://hmastuff.com/boinc
Download the file that fits for your device, rename it into “setiathome_enhanced” and put it together with the app_info.xml into the /var/lib/boinc/projects/setiathome.berkeley.edu folder. Start boinc and use boinccmd to attach the project only while you’re in the /var/lib/boinc folder!
If that won’t do the trick for you, you’ll need to compile boinc+setiathome yourself, reboot, et voila – it works!
Now your Raspberry Pi is finally searching for Aliens out there
The easiest way to compile Seti@home and Boinc is to use my script: installseti.sh
Some notes to spare you stress and wondering while compiling:
- You should purge all boinc related software before starting (apt-get purge boinc*)
- If the scripts demand for libtoolize, install it via “apt-get install libtool“
- If the boinc client gives you authorization errors, you’re in the wrong directory; just change to the boinc data directory (the one that contains the subfolder “projects” – standard should be /var/lib/boinc) and try again
- If boinc still refuses to get tasks because of incompatible system,
delete the content of the directory /var/lib/boinc/projects/setiathome.berkeley.edu/
and download setiathome_enhanced and app_info.xml into it
- Getting absent file or checksum errors? Copy the compiled executable from /usr/local/src/seti_boinc/client (should be named e.g. “setiathome-6.97.armv6l-unknown-linux-gnu“) to /var/lib/boinc/projects/setiathome.berkeley.edu/ as “setiathome_enhanced“. Make sure the app_info.xml is in the same path.
- At the end you might want to install the boinc-manager (apt-get install boinc-manager). It asks you if it’s supposed to replace existing parts – make sure to select “n” for no.
I’ve put together a script you just need to run for compiling and configuring boinc+setiathome, see below. Of course all credits go to Daniel Carrison, who made the original.
Just download this script: installseti.sh, chmod +x it (chmod +x installseti.sh) and then run it (./installseti.sh).
Now you might want to install boinc-manager via apt-get. Make sure to not replace any existing data!
Next, start BOINC in daemon mode using the daemon parameter; you might also want to add the allow_remote_gui_rpc parameter (uses the password from the file gui_rpc_auth.cfg) to be able to view boincs status on external devices via manager:
boinc --daemon --allow_remote_gui_rpc
Now lookup your account key and add the project to BOINC:
boinccmd --lookup_account http://setiathome.berkeley.edu firstname.lastname@example.org password
boinccmd --project_attach http://setiathome.berkeley.edu thekeyyoujustgot
Again – running boinc or boinccmd must be done in /var/lib/boinc folder!
If you did all correctly, Seti@home will now start to work after a few downloads (e.g. check CPU usage with “top”).
This is the time to start the boinc-manager on your favorite GUI.
If you prefer viewing BOINC in console, kill it (killall boinc) and start it undaemonized (boinc).
Please leave a comment if this isn’t working for you or you’re experiencing any issues.
For possible issues and fixes, please scroll up to my notes.
Of course I’d also be happy about any positive feedback