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/
Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/setiathomev7-armv6l.tar.gz
Project site: http://setiathome.berkeley.edu/
MilkyWay@Home
Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/milkyway-armv6l.tar.gz
Project site: http://milkyway.cs.rpi.edu/milkyway/
Project files: https://github.com/dcarrion87/boinc-rpi/raw/master/bin/milkyway-armv6l.tar.gz
Project site: http://milkyway.cs.rpi.edu/milkyway/
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: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/
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
# 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>
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.
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
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:
That’s it! You should soon get tasks assigned to you. You can always force an update via boinccmd if you’re impatient.
# 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 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.
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.
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.
ReplyDeleteWell, I got milkyway@home working with the help of this page. Thanks!
ReplyDeleteI 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.
Hello,
ReplyDeletewhen 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
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.
DeleteI need to update these instructions. Just been preoccupied.
Yeah, it should be started like that:
ReplyDeletesvn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_34/ boinc
Regards,
J.
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.
ReplyDeleteCheers
Daniel
Hi Daniel
ReplyDeleteThe BOINC OProject results are excellent ... as of now 300 tasks completed since 22 Jan.
Keep up the good work!
Hi Daniel.
ReplyDeleteNot 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
Hi Ray
ReplyDeleteSorry 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
Done. Hope I didn't upset anyone :-)
DeleteRegarding 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.
ReplyDeleteHi David,
ReplyDeleteEinsting 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.
Hi Mark
ReplyDeleteCheers 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
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. :-)
ReplyDeleteI've blogged about this here. http://www.recantha.co.uk/blog/?p=1580
Me again.
ReplyDeleteI'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?
Hey Michael
ReplyDeleteCheers 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
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.
ReplyDeleteI'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.
Hi!
ReplyDeleteMy RP is 256MB RAM version.
Can this method apply to my RP?
Hello
ReplyDeleteI myself haven't tried on a 256MB version, but I believe Ray_GTI-R has it working.
Regards
Daniel
I added einstein, pogs and milky way, but they all say that the connection has been delayed. Is this normal?
ReplyDeleteHey Phidelio
ReplyDeleteFirstly, 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
256MB ...
ReplyDeleteOproject 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
Einstein says "platform (whatever) not found"
ReplyDeleteOk, I got what the problem is. None of the projects give tasks because of this
ReplyDelete31.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
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.
ReplyDeleteEinstein 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.
Hi Daniel.
ReplyDeleteAlbert@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!!!)
Just read through the OProject project forum ALX thread and posted a (hopefully helpful) reply - http://oproject.info/forum_thread.php?id=20.
DeleteOn 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.
hello. the work that you are doing is great.
ReplyDeleteam 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
Hi Josip,
ReplyDeleteThanks 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
Update, I "Removed" Albert@home via BOINC.
ReplyDeleteRejoined Albert@home via BOINC.
Got a task!
All seems well here on my 256MB RPi :-)
Update: just finished my 1st Albert.
DeleteSo every single project I've tried has worked ... Albert, Oproject, Milkyway & WUProp.
Great work, Daniel.
The quickstart guide wasn't working for me; When I update, it only says:
ReplyDelete04-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 ;)
Great job!
DeleteThere'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... :)
Daniel.
ReplyDeletePlease 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
Hi Ray
DeleteIt'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
Thanks Daniel.
DeleteThat 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.
No - it wasn't a faulty keyboard/mouse adapter plug.
ReplyDeleteStill 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!
Tried 66.66% again with no web browing. Still not good. (Just checking.)
DeleteNow 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 ...
Hi Daniel
DeleteSettled 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
Hi Ray
DeleteInteresting 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
Hi Daniel.
DeleteI 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.
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
DeleteGreat spotting!
Hello Daniel
ReplyDeleteI 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
Hi Josip
DeletePOEM@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
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
ReplyDeleteI 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 :)
Hi Dunkel,
DeleteGreat 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
Got Seti@home running on my SGS2, but using a workaround, see:
Deletehttp://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.
I modified your instructions to compile/install Boinc 7.0.9 + Setiathome 6.97
DeleteWanna try? :)
-> http://hmastuff.com/boinc/installseti.sh
The Seti@home binaries are here:
-> http://hmastuff.com/boinc
Very cool dude. I will have to get around to trying that some time. Just been inundated recently.
DeleteHi Daniel.
ReplyDeleteI'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
Hi Daniel.
ReplyDeleteI 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
Hi Ray
ReplyDeleteSorry about that. I've been preoccupied of late with some project work. Just saw the photos. Very interesting. Thanks for posting.
Regards
Daniel
OK Daniel - no probs just wanted to know if the original comment got through OK.
ReplyDeleteHi Daniel.
ReplyDeleteLow 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
Source is available. I'll check it out over the weekend.
DeleteHey Ray
DeleteI'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
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.
DeleteThanks 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.
Hi Daniel.
DeleteYup - 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
Ramped-up the RPi OK using your settings & added some random heatsinks that I had lying around.
DeleteThe 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
Hi Daniel.
ReplyDeleteI 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)
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.
DeleteAnd 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. :)
DeleteHi Daniel.
ReplyDeleteReading 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
Hi Ray
ReplyDeleteI 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
Thanks, Daniel.
ReplyDeleteIt 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
Hi Daniel.
ReplyDeleteMay 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!).
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.
ReplyDeleteCheers, 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 ???)
Very nice tutorial, thanks. You could add libtool in the dependencies to install before compiling boinc.
ReplyDeleteCheers
@everyone: NativeBoinc (Android app) now supports Seti@home, allowing you to crunch on all ARM6/7 based Android devices :D
ReplyDelete-> http://nativeboinc.org/site/uncat/downloads
Hi Dunkel.
ReplyDeleteYep, 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 :-(
Again with the Android/RPi thing ...
ReplyDeleteI 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
Hi Daniel.
ReplyDeleteHere'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
Hmmm, I guess if you blasted the machine away the ID can change across the projects can't it?
ReplyDeleteOne 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...
I do give the stats engines a bit of help by using "Merge (computers)" on a per-project basis.
DeleteI 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
Correct - that changed after I posted my message. Thanks for checking.
DeleteI 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.
OK - I _think_ I've sorted this out.
DeleteOn 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
Confirmed - well it worked for my RPi anyway*. Some say it's impossible to keep all BoincSTATS CPU data aligned.
Delete* 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
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.
ReplyDeleteThanks for sharing this valuable information on Raspberry Pi. I will bookmark this site so that I will have a reference once I need one.
ReplyDeleteBy 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.
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:
ReplyDeletehttp://setiathome.berkeley.edu/forum_thread.php?id=71818
If you get a free moment can you update the Raspberry Pi app please.
Aaah yes. Will try and get a new SETI app version compiled over the coming days. Hopefully I can! Thanks for the heads up :).
DeleteDone! See post on main page.
DeleteAfter 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.
ReplyDeleteIs the SETI app optimized, like with the Lunatics apps? Or is it just the stock code compiled for Raspberry Pi?
ReplyDeleteStock.
DeleteA bit stuck, my stadoutdae.txt logfile reads:
ReplyDeleteYour 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
@leopheard
DeleteApologies, 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
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.
DeleteClaggy
Daniel, this is still an excellent solution for the Raspberry Pi 2. I changed the process just a wee bit for clarity and leveraging the boinc-manager GUI: http://www.element14.com/community/community/raspberry-pi/raspberrypi2/blog/2015/05/20/setihome-boinc-on-raspbian-for-raspberry-pi-2
ReplyDeleteComments are most welcome. Thanks again.
That's excellent. It's great to see people giving this a go and improving on the process. I know I've been a bit slack and haven't updated in a while, sorry!
DeleteI'll have to recompile new SETI binaries for armv7l. You might want to check out ones I did recently for POGS if you'd like to try another project as well.
https://github.com/dcarrion87/boinc-rpi/blob/master/bin/pogs-armv7l.tar.gz
https://pogs.theskynet.org/pogs/forum_thread.php?id=572