Raspberry Pi BOINC Project

This project aims to have the Raspberry Pi running a BOINC project. Raspberry Pi runs an ARMv6 processor, which makes it difficult to cleanly run BOINC as there is little support for the platform.

I want to point out that you no longer need to build the client yourself. The project files I provide work directly with the currently available 7.0.27 BOINC package from the Raspbian repos. Jump to the Quickstart section for details.


Quickstart

This is for users that want to get going quickly with the project binaries I've made available below.

    theSkyNetPOGS
    Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/pogs-armv6l.tar.gz
    Project site: http://ec2-23-23-126-96.compute-1.amazonaws.com/pogs/

    SETI@Home NEW v7 Client
    Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/setiathomev7-armv6l.tar.gz
    Project site: http://setiathome.berkeley.edu/

    Einstein@Home (BRP)
    Project files: Removed link as http://albert.phys.uwm.edu supports natively.
    Project site: ...

    WUProp@Home (waiting for response from project admins)
    Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/wuprop-armv6l.tar.gz
    Project site: http://wuprop.boinc-af.org/

    OProject@Home (ALX)
    Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/oprojectalx-armv6l.tar.gz
    Project site: http://oproject.info

    SubsetSum@Home
    Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/subsetsum-armv6l.tar.gz
    Project site: http://volunteer.cs.und.edu/subset_sum/


Instructions - from the command line:

NOTE: Make sure you're root before you do this. Otherwise prefix appropriate commands with sudo.

1. Get the BOINC packages. This will vary depending on if you want graphical or not.
# apt-get install boinc 

2. Download one of the above project archives inside /var/lib/boinc-client.
# cd /var/lib/boinc-client
# wget https://github.com/dcarrion87/boinc-rpi/raw/master/bin/setiathomev7-armv6l.tar.gz

3. Extract the files.
# tar xfz setiathomev7-armv6l.tar.gz

4. Change permissions on the project folder to the "boinc" user that exists.
# chown -R boinc:boinc projects/

5. Start the client (if not already started). Adjust computing settings as required. E.g. "Run whilst in use".
NOTE: Add "ENABLED = 1" to /etc/init.d/boinc-client if you want to run as a service.

6. Attach the project. For command line users:
# boinccmd --lookup_account http://setiathome.berkeley.edu <your_email> <your_password>
status: Success
poll status: operation in progress
account key: <your_account_key>
# boinccmd --project_attach http://setiathome.berkeley.edu <your_account_key>
NOTE: Make sure that you're in the /var/lib/boinc-client folder when you do this ^.

After a while you should see jobs starting to kick off. Force update the project if this is not the case. Review /var/lib/boinc-client/stdoutdae.txt if you have problems.

To attach other projects, repeat from step 2, changing necessary URLs.

Old documentation follows....


Build Summary


Here's the basic summary of the "BOINC" build for the Raspberry Pi we’ll be working with

  • Raspberry Pi Model B (512MB)
  • 4GB SanDisk Extreme SDHC UHS-1 SD card
  • Raspbian "wheezy" operating system
  • BOINC version 6.12.34
For those that want to skip the instructional compilation part, here are some tarballs that you might find useful.

BOINC Starting Package

This contains BOINC + SETI + projects folder. You'll just need to install and run BOINC, get the project folder over, and attach to SETI. You can also recompile if you want.
    setiboincpi.tar.gz

Getting it ready

I assume you've already downloaded and configured your Raspberry Pi system to the point where you can login remotely. Go to http://www.raspberrypi.org/downloads if you haven't done so yet. You'll need Raspbian "wheezy". This should work on any Linux version, however, this instruction was completed on Raspbian.

Although BAD practice, everything from now on is being done as root (for simplicity).

Firstly, make sure you’re up to date:

# apt-get update ; apt-get upgrade

You’ll then need to get a few packages that are required for building BOINC:

# apt-get install libfftw3-dev m4 autoconf libcurl4-openssl-dev subversion

Building BOINC


We’re going to grab BOINC from the SVN repo. We’ll be using version 6.12.34 as there is some heartbeat/timer problems with 7.X version and SETI@home that I still haven’t worked out how to fix.

Let’s prepare BOINC:

# mkdir /usr/local/src
# cd /usr/local/src
# svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_34 boinc
# cd boinc
# ./_autosetup
# ./configure --disable-server
# make
# make install
# mkdir /var/lib/boinc
# /usr/local/bin/boinc --daemon --redirectio --dir /var/lib/boinc

You should now have a functioning BOINC client you can control with boinccmd. I will post back here with an init script you can use. I assume you know how to create a separate boinc user account for running it as a non-root user.

Adding a Project (SETI@Home Enhanced)


We’ll need to compile a version of SETI that will work with our ARM platform. I’ll be using the original source for 6.12 from the Ubuntu launchpad site. Feel free to get it from SETIs SVN repo site (rev 316 I think). I just used this particular version as there seems to be some success with it on UNIX platforms.

Let’s prepare SETI:
           
# cd /usr/local/src
# wget https://launchpad.net/ubuntu/+archive/primary/+files/boinc-app-seti_6.12~svn1305.orig.tar.gz
# tar xf boinc-app-seti_6.12~svn1305.orig.tar.gz
# mv boinc-app-seti-SNAPSHOT seti_boinc
# cd seti_boinc
# ./_autosetup
# ./configure –disable-server
# make
           
You’ll now have a file called setiathome-6.12.armv6l-unknown-linux-gnu under the client directory. It’s time to setup the anonymous platform project for SETI.

# mkdir -p /var/lib/boinc/projects/setiathome.berkeley.edu
# cd /var/lib/boinc/projects/setiathome.berkeley.edu
# cp /usr/local/src/seti_boinc/client/setiathome-6.12.armv6l-unknown-linux-gnu setiathome_enhanced
# vi app_info.xml

You'll need something like this in the app_info.xml file:

<app_info>
    <app>
        <name>setiathome_enhanced</name>
    </app>
    <file_info>
        <name>setiathome_enhanced</name>
        <executable/>
    </file_info>
    <app_version>
        <app_name>setiathome_enhanced</app_name>
        <version_num>603</version_num>
        <file_ref>
            <file_name>setiathome_enhanced</file_name>
            <main_program/>
        </file_ref>
    </app_version>
</app_info>

It’s now time to add your SETI@home project under your account key:

# boinccmd --project_attach http://setiathome.berkeley.edu 123abc

You'll need to change the key to your own. You can find this out using:

# boinccmd --lookup_account http://setiathome.berkeley.edu my@email.com password

That’s it! You should soon get tasks assigned to you. You can always force an update via boinccmd if you’re impatient.

Give it a bit more grunt!


Well not a lot more, but you can overclock these little Pi’s.

WARNING: Overclocking can cause serious damage to your board components. By doing this you are risking damage to your board. I will not provide warranty for you. Do this at your own risk.

Your first option is to just to "sudo raspi-config". It gives you a text ui to navigate to the over-clocking options. For those that want to manually edit the config, here's where you go:

# vi /boot/config.txt

Add these lines:

arm_freq=950
core_freq=250
sdram_freq=450
over_voltage=6
force_turbo=1

This will take your board up to 950MHz (constant). The force_turbo option overrides the scaling governor. I found the scaling governor to take too long in upping the frequency automatically. Even though it's not stock, you'll probably want to get some heatsinks for those 3 little chips that tend to heat up on the board. They're not expensive.

You’ll want to reboot the machine and re-run BOINC benchmarks:

# boinccmd --run_benchmarks

Lets have a look at what sort of MIPS we're pushing:

# grep MIPS /var/lib/boinc/stdoutdae.txt
23-Nov-2012 00:40:23 [---]    323 floating point MIPS (Whetstone) per CPU
23-Nov-2012 00:40:23 [---]    1275 integer MIPS (Dhrystone) per CPU

Fairly poor really. However, we're in it for the low wattage.


Now what?


Now you wait patiently as your Raspberry Pi crunches away. You can keep track of tasks by running:


# boinccmd --get_tasks


I suggest you familiarize yourself with some of the commands at http://boinc.berkeley.edu/wiki/Boinccmd_tool as you'll be using these to control your boinc client.

Have a look at configuring remote RPC if you have a frontend tool you want to use. You can find information about this at http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely.


88 comments:

  1. I can't wait to see if this produces usable results. I will likely be going to Raspberry Pi's for most of my "always on" machines and I would not like to give up on BOINC altogether. I have been using BOINC (and its predecessors) for some time.

    ReplyDelete
  2. Well, I got milkyway@home working with the help of this page. Thanks!

    I also got SETI@home working, but for now I will limit myself to milkyway@home and see how things progress.

    I had a difficult time attaching to projects since I got authentication errors. It is important that you have to be in the /var/lib/boinc directory in order to successfully issue the attach command.

    I have placed the '/usr/local/bin/boinc --daemon --redirectio --dir /var/lib/boinc' command in rc.local and things seem to work in an automated fashion now. I will have to wait to see if this produces good results and keeps on working indefinitely.

    I am so used to setting up boinc and having it work for a very long time, that I have totally forgotten most of what needed to be done.

    Thanks for this information.

    ReplyDelete
  3. Hello,

    when running, svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_34/boinc
    i got an error doesn't exist.

    Any ideas ?

    Rinse

    ReplyDelete
    Replies
    1. I believe they are moving away from SVN so it is quite possible that they're bringing it down. Probably best to use the git repo: git://boinc.berkeley.edu/boinc.git.

      I need to update these instructions. Just been preoccupied.

      Delete
  4. Yeah, it should be started like that:

    svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_34/ boinc

    Regards,
    J.

    ReplyDelete
  5. For people watching, I've updated the instructions. Refer to section "Quickstart". The project file archives I've linked work directly with BOINC 7.0.27 - available from Raspbian repos.

    Cheers

    Daniel

    ReplyDelete
  6. Hi Daniel

    The BOINC OProject results are excellent ... as of now 300 tasks completed since 22 Jan.

    Keep up the good work!

    ReplyDelete
  7. Hi Daniel.

    Not that I care too much but is there acceptance of your excellent RPi sources on e.g., OProject & WUProp so that I can attach each project via BOINC Manager rather than fiddle via tarballs?
    I'd like to show the RPi as an entity in it's own right - I currently have CPU (blank) or "ampersand hash 160 semicolon"..." on BOINCStats.
    Anyway - I'm currently crunching over 1,000 credits a day, solid, 24/7 via the RPi tarballs :P

    ReplyDelete
  8. Hi Ray

    Sorry for the delayed response. I would love for these projects to take the binaries and attach them as defaults for the platform so you don't have to use anonymous platform. See my posts at:

    http://wuprop.boinc-af.org/forum_thread.php?id=157#803
    http://oproject.info/forum_thread.php?id=116

    Maybe you could poke them a bit. ;)

    Regards

    Daniel

    ReplyDelete
    Replies
    1. Done. Hope I didn't upset anyone :-)

      Delete
  9. Regarding the CPU blank thing, this might be a problem as the BOINC client doesn't properly identify ARM CPU models. WUProp and other apps use BOINC to identify the CPU by default. This may have changed with newer versions.

    ReplyDelete
  10. Hi David,

    Einsting are currently beta testing (over at albert@home) a revised BRP search app. From comment by Bikeman he has optimised it for the Pi and reduced it memory footprint and amended a few things so it will be different to your version. They are also testing unbundled work units, current BRP work units are made up of 8 WU bundled together, this version only has a single making it more suitable to the Pi. They are also rolling out compressed data so the version you have won't work in about a weeks time.

    Regarding overclocking it's easier if people just run raspi-config. It doesn't require X. Simply type:
    Sudo raspi-config
    At a command prompt. Much easer than editing the file manually and potentially making a typo.

    ReplyDelete
  11. Hi Mark

    Cheers for the heads-up regarding BRP. Good to see they've released an optimised version for little crunchers. I shall be taking mine down so people don't accidentally download my build!

    Agreed, raspi-config is a much easier option instead of editing the config.

    Regards

    Daniel

    ReplyDelete
  12. Thanks for this post, Daniel. I now have one of my Pis helping with the Milky Way project and (hopefully) SETI will start working soon - it's currently requesting new tasks for the CPU. :-)
    I've blogged about this here. http://www.recantha.co.uk/blog/?p=1580

    ReplyDelete
  13. Me again.
    I'm getting an error when BOINC is trying to connect to Seti@Home:

    29-Jan-2013 16:39:37 [http://setiathome.berkeley.edu/] Scheduler request failed: Couldn't connect to server
    29-Jan-2013 16:39:39 [---] Internet access OK - project servers may be temporarily down.

    From your knowledge of BOINC and SETI, is this 'normal' or some kind of configuration error?

    ReplyDelete
  14. Hey Michael

    Cheers for the shout out in the post.

    I've currently got my machines (including my two Pis) crunching POGS for a challenge, but from memory this was a fairly common SETI error. I believe it's congestion related issues. Whether they intentionally block during times, I never checked into it.

    I'm hoping by the time you read this they would have handed you a task!

    Good luck and let us know how you go.

    Regards

    Daniel

    ReplyDelete
  15. By the way, I suggest giving WUProp and OProject a shot as they're NCI (Non CPU Intensive tasks). That means they'll run alongside your SETIs and MilkyWays and give you some decent amount of credit.

    I'm hoping that these two projects make native ARMv6 binary support available so people don't have to use anonymous platform with the archives I provide and have it seamlessly attach like normal projects.

    ReplyDelete
  16. Hi!
    My RP is 256MB RAM version.
    Can this method apply to my RP?

    ReplyDelete
  17. Hello

    I myself haven't tried on a 256MB version, but I believe Ray_GTI-R has it working.

    Regards

    Daniel

    ReplyDelete
  18. I added einstein, pogs and milky way, but they all say that the connection has been delayed. Is this normal?

    ReplyDelete
  19. Hey Phidelio

    Firstly, I suggest you only add one of those projects at a time as they do take a few days to get through on the Raspberry Pi.

    Regarding the connection delayed problem, my guess is that your BOINC client settings are causing this. Whether it's settings from a project site, I'm not sure.

    However, you can override locally. In Advanced view, under activity menu, can you check "Network activity always available". Also check "Tools -> Computing preferences" settings to make sure your network settings aren't blocking connection.

    Cheers

    Daniel

    ReplyDelete
  20. 256MB ...
    Oproject runs superfast.
    Milkyway runs & takes 6 days to cimplete 1 task.
    WUprop takes the usual 2.5 hours.
    Albert doesn't run - requires > 256MB despite claims of >100mb.
    HTH, Ray

    ReplyDelete
  21. Einstein says "platform (whatever) not found"

    ReplyDelete
  22. Ok, I got what the problem is. None of the projects give tasks because of this

    31.01.2013 (чт) 14,09,42 CET | pogs | Message from server: This project doesn't support computers of type arm-unknown-linux-gnueabihf
    31.01.2013 (чт) 14,00,20 CET | Einstein@Home | platform 'arm-unknown-linux-gnueabihf' not found

    ReplyDelete
  23. POGS does not support arm by default at present. Did you follow my Quickstart instructions for extracting the archive packages before attaching the project? This ensures anonymous platform is used.

    Einstein doesn't have arm support by default either. Please use Albert@home as they're testing their arm app. I believe main project developer just fixed the memory issue if you have a 256MB Pi.

    ReplyDelete
  24. Hi Daniel.

    Albert@home still gives the same message for 256MB RPi on the existing project files.
    I reset the project which downloaded some files, "Updated", same result.

    On a seperate note the RPi is properly rushing through OProject stuff ... in the 10 days from 22 Jan it has successfully done all 411 tasks (9,800 credits!!!)

    ReplyDelete
    Replies
    1. Just read through the OProject project forum ALX thread and posted a (hopefully helpful) reply - http://oproject.info/forum_thread.php?id=20.

      On reflection I could have added:-

      1) prove pioneering work done by open developers such as yourself
      2) runs through literally ,000s of lines of code, 1st and every time
      3) proves over time ... persistence, reliablility co-existance with other BOINC projects & dependability.

      I have probably forgotten somethin important bu Ihope I've covered the basica.

      Delete
  25. hello. the work that you are doing is great.

    am using boinc on my pc and also thinkg to buy a RP a setup a bpin client.

    but am more using world community grid projects like fight aids@home and combat cancer

    is it posssible to run this also on raspberry pi? and where to start

    thx for any advice

    J

    ReplyDelete
  26. Hi Josip,

    Thanks for your commendation.

    Unfortunately, World Community Grid doesn't support ARM by default so this won't work straight out. I also think FightAIDS@Home only works through World Community Grid. It also seems that a lot of those health research apps require heavy processing power and long runs. This could equate to weeks on a Raspberry Pi.

    In saying this, if the project has their source code available and they support anonymous platform, there's no reason why we couldn't compile a port. Is there other particular projects you're interested in. I could check to see how easy or hard it would be to make a port.

    If you're thinking of getting a Raspberry Pi, just do it! They're a great little experience. :)

    Regards

    Daniel

    ReplyDelete
  27. Update, I "Removed" Albert@home via BOINC.

    Rejoined Albert@home via BOINC.

    Got a task!

    All seems well here on my 256MB RPi :-)

    ReplyDelete
    Replies
    1. Update: just finished my 1st Albert.

      So every single project I've tried has worked ... Albert, Oproject, Milkyway & WUProp.

      Great work, Daniel.

      Delete
  28. The quickstart guide wasn't working for me; When I update, it only says:
    04-Feb-2013 14:46:37 [SETI@home] Scheduler request completed: got 0 new tasks

    Had to compile it myself using your instructions, now it works. Great :)
    Thanks so much, finally I can search for Aliens on my Pi ;)

    ReplyDelete
    Replies
    1. Great job!

      There's some sched_reply and sched_request files that usually have more details in /var/lib/boinc-client. That probably would have given a reason as to why it got 0 tasks originally.

      I'm just glad it's working for you!

      Maybe the SETI guys can make a native ARMv6 app available so people don't have to compile themselves... :)

      Delete
  29. Daniel.
    Please help.
    I want to stop BOINC running on startup (daemon).
    The BOINC wiki says ./run_client --daemon; ./run_manager
    I just spent 3 hours trying ... no joy whatsoever.
    Can you give this noob some clearer (i.e., step-by-step) instructions how to do this from the RPi power-on under Raspbian?
    TIA, Ray

    ReplyDelete
    Replies
    1. Hi Ray

      It's driven by an "ENABLED" variable in a text file. Assuming you're using a graphical interface with the Raspberry Pi:

      1. Open a terminal and do:
      $ sudo gedit /etc/default/boinc-client
      2. Change ENABLED to 0
      3. Save
      4. Open a terminal and do:
      $ sudo gedit /etc/init.d/boinc-client
      5. Change ENABLED to 0
      6. Save

      The first one should be enough as it sources those settings first. Make sure you restart to test.

      Good luck

      Cheers

      Daniel


      Delete
    2. Thanks Daniel.
      That worked OK.
      Went back to the original settings as I still had "issues" - turns out it was a faulty keyboard/mouse adapter plug that your solution helped me to track down (fault checking is very difficult when the SoC is so busy running Boinc).
      Anyway, problem fixed. Now I control processing by suspending all of the meaty Projects like Albert & Milkyway before shutting down the X Window. When I restart, Boinc is doing very little if anything and I can Resume projects via the Boinc Manager when I'm ready.

      Delete
  30. No - it wasn't a faulty keyboard/mouse adapter plug.

    Still playing ... OK BOINC crunching (via Raspbian in my case) using Xwindows & the BOINC GUI on the RPi is early days. Here is a bit more, hopefully helpful, info:-

    At 100% CPU the RPi does well crunching but is almost unusable otherwise ... I once waited 20 minutes for a single mouse click to register.
    Thinking a bit of slack time would be useful I tried reducing the CPU setting in BOINC - same (bad) experience at 90% CPU.
    At 50% then 66.66% & 75% CPU everything was pretty much OK without another program running - a little jerky but at least the RPi talked to me.
    However, open up a browser (like Midori) and everything just grinds to a halt and the RPi struggles via BOINC (manager) to perform a simple task like "communicate with client". Yes it will eventually work (some minutes).

    Then I re-tried 50% BOINC + Midori. Again, truly slow at anything non-BOINC & struggles via BOINC (manager) to perform a simple task like "communicate with client".

    Then I tried 25% + Midori. Same result.
    Then the RPi got "confused".
    Eventually I managed to shutdown despite BOINC refusing to shut up shop showing the fail to "communicate with client" popup.

    After a warm restart ... I managed to snooze BOINC. Anything I did seemed to send the Raspian CPU graph to 100% even a click on the Logout icon with nothing running???

    Still playing ... with BOINC @ 10%, if I start Midori the RPi struggles again:- 100% on the CPU graph aargh!

    ReplyDelete
    Replies
    1. Tried 66.66% again with no web browing. Still not good. (Just checking.)
      Now tryng to play with de-selecting >> Computing allowed / While computer is in use << ... if the RPi ever responds - wait BoincManager just started (because I jiggled the mouse? Oops. Boinc Manager shut down all on it's own.)

      Cold-booted.

      Quickly got into BOINC manager & de-selected >> Computing allowed / While computer is in use <<.

      Stil showing +/- 66.66% usage during use.

      FWIW I have never yet understood all the BOINC options and I guess I never will ...

      Delete
    2. Hi Daniel
      Settled on 66.66% CPU. Works OK - checked over 24 hours. Responsive but I made the mistake earlier of asking the RPi to do Interweb stuff at the same time as BOINC is running :( Not a good idea. Also the RPi is a bit precious if the monitor is used on another device (via my HDMI switchbox) for an extended period - other ARM devices running Android are fine with that.

      A question for you ...
      I'm trying to find BOINC stats to compare how my RPi does versus all RPi's
      On http://boincstats.com/en/stats/-1/host/breakdown/cpu/ the CPU search won't work for my RPi identified as

      " " ... not found etc.

      All the best, Ray

      Delete
    3. Hi Ray

      Interesting posts about your performance experiences.

      Regarding the CPU stat comparison, unfortunately the default BOINC client doesn't correctly detect ARM platform specs. This just comes down to the mechanism being used. As you know, NativeBOINC client uses a different method to detect and injects these values. I haven't tried newer BOINC clients to see if this has been fixed.

      This needs some poking around to see what can be done. I suspect it will need BOINC client modification as I don't know of any way to manually injects those values cleanly into client_state.xml file.

      Cheers

      Daniel

      Delete
    4. Hi Daniel.

      I hope your studies are going well.

      I have no understanding of the following gleaned from one or more Interweb searches wot i dun recently but I hope it helps ...

      BOINC on ARM
      ------------

      The developers (BOINC?) are currently focusing on getting boinc to run on the android platforms.

      Preliminary Change Log 7.0.42 --> 7.0.43 ... client: processor identification for ARM (from Evandro Menezes and Joachim Fritzsch).

      Yay? Ray.

      Delete
    5. Yep, you're right about this. I just compiled and ran version 7.1.0 on an ODROID running Debian. Correct detection now: http://ec2-23-23-126-96.compute-1.amazonaws.com/pogs/show_host_detail.php?hostid=5228

      Great spotting!

      Delete
  31. Hello Daniel

    I mentioned sometime ago a possibility to run certain projects on Raspberry Pi ARM platform.
    Can you check if following distributed computing projects can me run from RP

    POEM@Home -University of Karlsruhe, Germany- http://boinc.fzk.de/poem/
    SIMAP - University of Vienna- http://boincsimap.org/boincsimap/

    both of this projects run BOINC client

    thx

    ReplyDelete
    Replies
    1. Hi Josip

      POEM@Home - I tried this once but had lots of issues with the SIMONA framework they use. I'll have to give it a try again. Officially, it's not supported and considering the crunching power needed I'm not sure the project devs will consider it. At this stage, not supported. I'll have a look again soon.

      SIMAP - Doesn't look like they provide client source code.

      It might be worth posting on their forums to see their stances on Raspberry Pi (ARM) crunching.

      Regards

      Daniel

      Delete
  32. I was able to get Seti@home running on my Cubieboard with your compiling instructions. In case anyone needs the compiled arm7l binary, here it is: http://hmastuff.com/setiathome-6.12.armv7l-unknown-linux-gnu_cubieboard

    I tried to do the same to get Seti@home running on my Samsung Galaxy S2 via NativeBoinc ( http://nativeboinc.org/ ), by compiling Boinc+Seti@home on internal Linux (installed via Linux Deploy app), here's the binary: http://hmastuff.com/setiathome-6.12.armv7l-unknown-linux-gnu_sgs2
    But no luck - the tasks download, but don't start working. No error messages at all.

    If anyone has an idea to get Seti@home working via NativeBoinc, that would be kewl :)

    ReplyDelete
    Replies
    1. Hi Dunkel,

      Great stuff. I'll re-post your link as new post! If you're keen, you might want to try a version 7 client...

      For any NativeBOINC stuff, I suggest collaboration with the NativeBOINC author via his contact details on the site. He is very helpful and knows what's going on in that arena. He helped me get a package for theySkyNet POGS available. One thing that was an issue with my binary package was the API version set in the job.xml file. I had to set it to 6.3.9 so it doesn't attempt to use shared memory.

      Additionally, as you may already know, the official BOINC guys have their own Android version now that they're discussing on the boinc_dev mailing list. You may find the SETI developers might be working on an Android version already.

      Cheers

      Daniel

      Delete
    2. Got Seti@home running on my SGS2, but using a workaround, see:
      http://hmastuff.com/blog/seitathome-on-android

      Copying the compiled binary + app_info_xml into the /data/data/sk.boinc.nativeboinc/files/boinc/projects/setiathome.berkeley.edu folder didnt't work as mentioned, the tasks didn't start to work.

      But when compiling and running boinc on Linux within Android, it works and can be used as normally, by using NativeBoinc as manager only. Perhaps someone finds this useful :)

      Thanks for the tips, I'll check with NativeBoinc and the official Boinc devs to keep uptodate with the latest news regarding Boinc on Android.

      Delete
    3. I modified your instructions to compile/install Boinc 7.0.9 + Setiathome 6.97
      Wanna try? :)

      -> http://hmastuff.com/boinc/installseti.sh

      The Seti@home binaries are here:

      -> http://hmastuff.com/boinc


      Delete
    4. Very cool dude. I will have to get around to trying that some time. Just been inundated recently.

      Delete
  33. Hi Daniel.

    I've had a homemade SoC heatsink fitted on my RPi for a few month now so I thought it was time to share given the incredible amount of work the little board has done recently via BOINC thanks to your help.

    See http://www.gti-r.com/UpdateRPi.txt (includes links to photos)

    Cheers, Ray

    ReplyDelete
  34. Hi Daniel.

    I sent a comment yesterday with a link to a long message that contained 2 embedded links ... the blog confirmed it was sent & waiting for approval.

    I have checked that the link and the embedded links work OK.

    Did you get it?

    The link comment was about my custom heatsink for the RPi SoC - http://www.gti-r.com/UpdateRPi.txt

    Best Regards, Ray

    ReplyDelete
  35. Hi Ray

    Sorry about that. I've been preoccupied of late with some project work. Just saw the photos. Very interesting. Thanks for posting.

    Regards

    Daniel

    ReplyDelete
  36. OK Daniel - no probs just wanted to know if the original comment got through OK.

    ReplyDelete
  37. Hi Daniel.

    Low priority ... it would be interesting to see how SubsetSum@Home performs on the RPi as their WUs seem to complete in a much shorter runtime on ARM compared with Albert/Einstein/Milkyway (take 6 days+ to complete on the RPi).
    Would you be able to work your magic with that project?

    Cheers, Ray
    FWIW my 2nd Albert got only 53 credits ... for approx 6 days crunching 24/7

    ReplyDelete
    Replies
    1. Source is available. I'll check it out over the weekend.

      Delete
    2. Hey Ray

      I've finished the port. Link available at top of page. Just waiting for job to complete successfully. Will make a post about it for people to try.

      Cheers

      Daniel

      Delete
    3. Looking good ... I expect my RPi to complete a SubsetSum job in only 1.5 days running 24/7 & 75% CPU all of the time.

      Thanks again, Daniel

      Ray
      FWIW:- upped CPU to 75% from 66.66%
      and upped
      Memory usage At Most 90% when computer is in use*
      Memory usage At Most 95% when computer is idle**

      * from 50% - that may have caused preivous trouble
      ** from 50% too (I think)

      Why?
      I saw the same laggyness with even lower CPU usage than 66.66%.
      It seems more device memory works better than more CPU Usage e.g., an Albert refused to work until I upped Memory Usage - then it just flew and RPi still quite responsive.

      Delete
    4. Hi Daniel.

      Yup - a SubsetSum task completed in +/- 36 hours as expected. Shorter WUs like this are very useful when experimenting with stuff like:-

      * PSU's (stable output voltage over time vs fluctuating power demands
      * case design vs heat output
      * heatsinks - processing vs stability

      etc etc.

      Very many thanks again, Ray

      Delete
    5. Ramped-up the RPi OK using your settings & added some random heatsinks that I had lying around.

      The 2nd SubsetSum task completed in only 21 hours!!! Also on just 75% CPU ... so comparable with the 1st task but quicker by more than a 1/3rd (elapsed or 78~79% according to the BOINC RunTime/CPUTime stats) for http://volunteer.cs.und.edu/subset_sum/results.php?hostid=4444

      Anyway ... a very pleasant experience :)

      The RPi seems quite responsive too, even when running BOINC at 75% 'though I haven't yet tried Interweb stuff side-by-side with BOINC crunching (no need!).

      Cheers, Ray

      Delete
  38. Hi Daniel.

    I have failed with vi.

    I have tried and tried but keep failing with the obtuse message about ! when editing a read-only file. So I went to ...

    http://elinux.org/R-Pi_ConfigurationFile which is a bit more human-friendly than vi.

    To edit the /boot/config.txt

    Reboot the Raspberry Pi and enter your username and password.

    To edit the configuration file, enter the command:-
    sudo nano /boot/config.txt

    Type in the necessary configuration parameters

    Save the edited file by doing:-
    Press Control-x
    Press y
    Press [enter]

    After exiting the editor, restart the RPi using the command

    sudo reboot

    Then, because

    >>>

    # boinccmd --run_benchmarks
    # grep MIPS /var/lib/boinc/stdoutdae.txt

    <<<

    ... didn't work for me I did the usual ...

    Logon as usual with your username and password (if you haven't changed them)

    Type startx

    Wait for the gui to start ... then

    Start the boinc manager using the "Other" menu item by ...
    click the bottom leftmost icon then
    click Other then
    when the list of menu items appear click on BOINC Manager.

    When the BOINC Manager has opened, to see the benchmark figures click "Advanced" & "Event Log"

    HTH, Ray
    (There are many ways to skin a cat. The best way is the one wot suits u)

    ReplyDelete
    Replies
    1. Glad it all worked out in the end. I have to update the instructions for the default boinc data dir path since it's /var/lib/boinc-client as opposed to /var/lib/boinc that I have posted.

      Delete
    2. And I assume that vi will be run as root. You have to save with "wq!" when writing a read only file. Arrgghh got to update the instructions to make it more use friendly. :)

      Delete
  39. Hi Daniel.

    Reading current OProject forum ... ALX may now be defunct.
    See http://oproject.info/forum_thread.php?id=114&postid=1228 and other threads agree.

    As ever I get BOINC Manager (GUI) error messages that other OProject sub-projects are not supported in app_info.xml.
    The main OProject page shows arm is supported.

    If I reset OProject via BOINC Manager (GUI) will that work in order to process all OProject sub-projects? Sorry for sounding a bit dim but the RPi does take some effort to do/undo stuff :-(
    TIA, Ray

    ReplyDelete
  40. Hi Ray

    I believe removing the project and re-adding it will essentially wipe its project folder and essentially allow you to re-add without that app_info.xml in there.

    Cheers

    Daniel

    ReplyDelete
  41. Thanks, Daniel.

    It seems that OProject now requires an upgraded version of BOINC (I lost the link) that is as of this date (?) unavailable for the RPi via the standard sudo update/upgrade. I can only get 7.0.27 under Raspbian :(

    Cheers, Ray

    ReplyDelete
  42. Hi Daniel.

    May I ask for 60 seconds or so of your time to complete my Survey "Top BOINC results on a Raspberry Pi"?

    The Survey can be found at:-
    http://www.surveymonkey.com/MySurvey_EditorFull.aspx?sm=rGq_2FUDGUQ2MryVS8kTJymIkSBA_2BDdKbbytKbnVQXyXw_3D
    or, if you're typing ... http://tinyurl.com/cwjl8gr

    Also, if you know anyone else on a friendly basis can I ask that you pass the message on so that they also fill in the survey?

    The reason for this survey is to point out to the powers that be, the RPi is a valid BOINC cruncher when units of 1 million + have been sold and can do valuable science at virtually zero cost (and as an aside that Android is still missing from the RPi's repertoire of achievements).

    Thanks, Ray
    PS about 84% of my score is down to the now-defunct OProject ALX sub-project which was a test mission ... but that's a secret (not now!).

    ReplyDelete
  43. Just a brief update - my RPi is 100% stable after weeks just by using a puny, powered USB hub for a SD card/KB/M.

    Cheers, Ray

    (Previously I had many, many issues with dire PSU's, unpowered USB hub etc. The main power for over 3 months was and still is 5V 10A regulated PSU but the RPi does benefit greatly from the use of a powered USB hub for accessories. I think no matter how much clean V & A are supplied to the RPi it needs a powered USB for accessories ... and onboard voltage stability ???)

    ReplyDelete
  44. Very nice tutorial, thanks. You could add libtool in the dependencies to install before compiling boinc.

    Cheers

    ReplyDelete
  45. @everyone: NativeBoinc (Android app) now supports Seti@home, allowing you to crunch on all ARM6/7 based Android devices :D
    -> http://nativeboinc.org/site/uncat/downloads

    ReplyDelete
  46. Hi Dunkel.
    Yep, NativeBOINC still leads the way for BOINC on Android! (Thanks to matszpk, as always.)
    Unfortunately, the Raspberry Pi does not do Android:- existing ports are "unuseable/barely usable etc".
    I tried - I fell asleep between mouse movements :-(

    ReplyDelete
  47. Again with the Android/RPi thing ...

    I keep checking the official RPi website for progress (not the earlier hype).
    I try to read all the latest progress from wherever (Razeroid etc, etc).

    A >very< old entry on http://androidpi.wikia.com/wiki/Android_Pi_Wiki says:-
    "Official Android 4.0.3 (built by Broadcom): Boots, very fast with hardware acceleration ... NOTE: Not yet released by Broadcom!" that links via the tantalisingly-named title "Broadcom Announcement" to a useless, circular RPi "News" item dated 31st of July 2012 posted by eben that makes no mention of the fact tht existing, released RPi Android builds are - to quote popular press here in the UK - as stated earlier. Think useless.

    It's a shame that a decent Android port isn't yet available on the RPi.

    After more than a year and > 1 million sales worldwide.

    Still, I've done > 37K worth of BOINC credits thanks to your efforts getting BOINC ARM projects working on the RPi, Daniel


    ReplyDelete
  48. Hi Daniel.

    Here's a head scratcher - I thought I'd pass it by you before raising it with othes.
    As probably everyone on the planet has done, I've had to rebuild my SD card (more than once).
    Still processing BOINC projects per your excellent tasballs as usual.
    The thing is now I have multiple CPID's and multiple entries in the "BoincSats/FreeDC stats" database(s). Some projects have the same CPID but refuse to show up in the combined totals.

    Examples:-

    http://boincstats.com/en/stats/-1/host/detail/81362746
    CPID:- cc5b732551ed7ca6b56460a6420e00d5

    http://boincstats.com/en/stats/-1/host/detail/83731594
    CPID:- 5c8eb45d398fc8cfe96569afed517e10

    http://boincstats.com/en/stats/-1/host/detail/73034905
    CPID:- 9866ff431399e89620726b8a717fdc8f

    Also, Albert@Home stats aren't being shown on CPID:- 81362746 at all ... see
    http://albert.phys.uwm.edu/show_host_detail.php?hostid=6901 if it helps.

    Same email address, O/S BOINC version etc used on all the projects on the RPi.

    FWIW I have merged all known records of "duplicate computers" in all the projects that I have run using the RPi in order to eliminate any actual duplicate records.

    So, question: is there maybe a problem using tarballs that might cause the RPi to show up as unique entities rather than as the one device?

    Best Regards, Ray

    ReplyDelete
  49. Hmmm, I guess if you blasted the machine away the ID can change across the projects can't it?

    One thing I noticed is that Albert does seem to be showing stats for 81362746. That is credits at http://boincstats.com/en/stats/-1/host/detail/81362746/projectList and http://albert.phys.uwm.edu/show_host_detail.php?hostid=6901 are the same...

    ReplyDelete
    Replies
    1. I do give the stats engines a bit of help by using "Merge (computers)" on a per-project basis.

      I have seen that ploy work OK and fail miserably too, due to e.g., O/S "overlapping lifetime" whatever that means on the same machine, same O/S etc.

      According to what I've read, as long as the email addy is the same then all should work OK.

      TBH I'm not really that bothered, just thought I'd flag it up in case you'd seen anything similar as an issue via your >>>excellent as ever<<< tarballs.

      Good luck with your studies :-)

      Cheers, Ray

      Delete
    2. Correct - that changed after I posted my message. Thanks for checking.

      I realise that these BOINC stats pages are pretty flakey on almost everything except overall total credits. For instance I've seen other BOINC users with massive negative-then-positive scores over any given 24 hour period.

      Best not taken too seriously methinks.

      Delete
    3. OK - I _think_ I've sorted this out.

      On a BOINC forum Jeff17 said (if):- "... the same email address (is) used (for) all your projects the CPID should become the same. To aid this you want (the) host attached to all the projects until they sync up"

      So then I will manually "Merge" if necessary.

      And so it follows that:-

      When (not if) the RPi lunches the SD card it's necessary to re-attach _all_ previous BOINC projects including defunct sub-projects like ALX even if you aren't interested in that project/sub-project anymore. Then wait for things to sort themselves out via BOINC - which can take a few days - and then "Merge" computers???

      Will confirm in a day or so.

      All the best, Ray

      Delete
    4. Confirmed - well it worked for my RPi anyway*. Some say it's impossible to keep all BoincSTATS CPU data aligned.

      * See http://boincstats.com/en/stats/-1/host/list/14/0/3d49a0b5bf4b51694b32eb1e2a71b112 ... also please ignore the mess of other BoincStats CPU data! When I gen-up a 2nd life I might try to do the same across the remaining BoincStats CPUs.

      Cheers, Ray

      Delete
  50. Also, apologies to everyone that's following for the lack of response and updates the last couple of months. I've been quite busy this semester with studies.

    ReplyDelete
  51. Thanks for sharing this valuable information on Raspberry Pi. I will bookmark this site so that I will have a reference once I need one.

    By the way, just want to share this site; I've found that it offers a good deal on Raspberry Pis.

    http://qavo.com.au/raspberry-pi-compatible-wireless-usb-dongle-adapter-wifi-802-11-b-g-n/

    Hope this site helps you as well.

    ReplyDelete
  52. Hi Daniel. Seti@home has released their multi-beam v7 app. That means the v6 one is no longer compatible. There is a message thread going over on the Seti boards about porting to Linux:

    http://setiathome.berkeley.edu/forum_thread.php?id=71818

    If you get a free moment can you update the Raspberry Pi app please.

    ReplyDelete
    Replies
    1. Aaah yes. Will try and get a new SETI app version compiled over the coming days. Hopefully I can! Thanks for the heads up :).

      Delete
    2. Done! See post on main page.

      Delete
  53. After running a few Seti@home tasks, I thought I would compile Astropulse and run a task. The task did not complete within the deadline, and ran from June 11th to July 13th ( http://setiathome.berkeley.edu/result.php?resultid=3035457002 ), with a CPU time on my overlocked Raspberry pi ( arm_freq=1100 ) of 2,584,487.00. Guess it is the last one I'll try running, but it did actually get a complete and validated status.

    ReplyDelete
  54. Is the SETI app optimized, like with the Lunatics apps? Or is it just the stock code compiled for Raspberry Pi?

    ReplyDelete
  55. A bit stuck, my stadoutdae.txt logfile reads:

    Your app_info.xml file doesn't have a useable version of SETI@ home v7
    Your app_info.xml file doesn't have a useable version of Astropulse v6
    No new tasks etc.

    How do I get at least one project like SETI to run on my Raspberry Pi? Sorry if this is obvious, just that Linux is never easy!

    Cheers

    ReplyDelete
    Replies
    1. @leopheard

      Apologies, I have been fairly inactive with this project of recent. I will check on one of my Raspberry Pis to see what's up with SETI.

      If you follow the deployment instructions with POGS in place of SETI it should work. It doesn't look like theSkyNet POGS has made any changes to their client recently.

      Cheers

      Delete
    2. The Quickstart instructions still points to the setienhanced app, and not the Seti v7 version, without a Seti v7 or a Astropulse v6 app your app_info you can't get work from Seti, setienhanced is basically deprecated.

      Claggy

      Delete