Building Boinc for Einstein@Home and the Raspberry Pi 2

Tom Rinehart
Tom Rinehart
Joined: 17 Jun 09
Posts: 8
Credit: 289003
RAC: 5
Topic 198011

I have built the current version of Boinc (7.5.0) to run Einstein@Home on my new Raspberry Pi 2 running Raspbian Wheezy using the following:

sudo apt-get update
sudo apt-get install m4 libtool autoconf automake libssl-dev libcurl4-openssl-dev
git clone git://boinc.berkeley.edu/boinc-v2.git boinc
cd boinc
./_autosetup
./configure --disable-server --disable-manager
make
sudo make install

sudo useradd -d /var/lib/boinc boinc
sudo mkdir /var/lib/boinc
sudo chown boinc:boinc /var/lib/boinc

sudo /etc/init.d/boinc-client start

After connecting to Einstein@Home, it won't get any tasks. I get the following error:

platform 'armv7l-unknown-linux-gnueabihf' not found

I assume I need to change the configuration to include a different platform:

./configure --disable-server --disable-manager --with-boinc-platform=

What is the correct platform to get Einstein@Home tasks for the Raspberry Pi 2?

Tom Rinehart
Tom Rinehart
Joined: 17 Jun 09
Posts: 8
Credit: 289003
RAC: 5

Building Boinc for Einstein@Home and the Raspberry Pi 2

I think I answered my own question. If boinc is configured with:

./configure --disable-server --disable-manager --with-boinc-platform=arm-unknown-linux-gnueabihf

The boinc-client will download:

einsteinbinary_BRP4_1.42_arm-unknown-linux-gnueabihf__NEON

And get four tasks.

The tasks lists the application as Binary Radio Pulsar Search (Arecibo) v1.42 (NEON).

What do I need to do to the boinc-client to get the Binary Radio Pulsar Search (Arecibo) v1.46 (NEONPIE) application? Would it be better in someway?

Stef
Stef
Joined: 8 Mar 05
Posts: 149
Credit: 12267522
RAC: 0

As a new RasPi2+Raspbian

As a new RasPi2+Raspbian owner, may I ask why you compile boinc by yourself instead of using the one from the distribution?

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Joined: 28 Aug 06
Posts: 3511
Credit: 231191915
RAC: 445225

RE: As a new

Quote:
As a new RasPi2+Raspbian owner, may I ask why you compile boinc by yourself instead of using the one from the distribution?

The BOINC version that is included in the Raspbian wheezy distribution is really old, and it doesn't report the CPU features of the ARM CPU correctly. This has the very negative effect that E@H cannot know your Pi2 has NEON support, and you will get the slower VFP version. So building your own, newer BOINC version makes a lot of sense on the Pi2.

HB

Stef
Stef
Joined: 8 Mar 05
Posts: 149
Credit: 12267522
RAC: 0

Good to know, thank you.

Good to know, thank you.

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 338
Credit: 45346583
RAC: 21254

RE: As a new

Quote:
As a new RasPi2+Raspbian owner, may I ask why you compile boinc by yourself instead of using the one from the distribution?


Or you could use the Jessie release and get 7.4.23 from the repo.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Joined: 28 Aug 06
Posts: 3511
Credit: 231191915
RAC: 445225

RE: RE: As a new

Quote:
Quote:
As a new RasPi2+Raspbian owner, may I ask why you compile boinc by yourself instead of using the one from the distribution?

Or you could use the Jessie release and get 7.4.23 from the repo.

One has to be careful, tho: Not all the software in Raspbian wheezy is already in Raspbian Jessie, e.g. I got some stuff from Jessie (I think the main thing was gnuradio) which in the end made Mathematica unusable because of dependency conflicts.

Cheers
HB

Claggy
Claggy
Joined: 29 Dec 06
Posts: 560
Credit: 2501109
RAC: 0

RE: I have built the

Quote:

I have built the current version of Boinc (7.5.0) to run Einstein@Home on my new Raspberry Pi 2 running Raspbian Wheezy using the following:

sudo apt-get update
sudo apt-get install m4 libtool autoconf automake libssl-dev libcurl4-openssl-dev
git clone git://boinc.berkeley.edu/boinc-v2.git boinc
cd boinc
./_autosetup
./configure --disable-server --disable-manager
make
sudo make install

sudo useradd -d /var/lib/boinc boinc
sudo mkdir /var/lib/boinc
sudo chown boinc:boinc /var/lib/boinc

sudo /etc/init.d/boinc-client start

After connecting to Einstein@Home, it won't get any tasks. I get the following error:

platform 'armv7l-unknown-linux-gnueabihf' not found

I assume I need to change the configuration to include a different platform:

./configure --disable-server --disable-manager --with-boinc-platform=

What is the correct platform to get Einstein@Home tasks for the Raspberry Pi 2?


That's not the current version of Boinc, you're building from head, that's really the future version of Boinc you're building (It might be broken when you try it), Better to build from a tagged release, like 7.4.42, do it with the following before building Boinc:

git checkout client_release/7.4/7.4.42; git status

If anyone is wanting to build Boinc Manager too then they're restricted on Raspbian Wheezy to Boinc 7.2.47 (Because it only has wxwidgets 2.8), they'll also need to get a few more dependencies:

sudo apt-get install git make m4 libtool autoconf pkg-config automake g++ gcc libcurl4-openssl-dev libssl-dev libwxgtk2.8-dev libsqlite3-dev gettext docbook2x docbook-xml libxml2-utils zlib1g-dev libsm-dev libice-dev libxmu-dev libxi-dev libx11-dev libnotify-dev freeglut3-dev libgtk2.0-dev libfcgi-dev libjpeg8-dev libxss-dev libxcb-util0-dev libxcb-dpms0-dev libxext-dev

git clone git://boinc.berkeley.edu/boinc-v2.git boinc

cd boinc

git checkout client_release/7.2/7.2.47; git status

./_autosetup

./configure --disable-server --enable-client --with-boinc-alt-platform=arm-unknown-linux-gnueabihf CXXFLAGS="-O3 "

make

sudo make install

sudo useradd -d /var/lib/boinc boinc
sudo mkdir /var/lib/boinc
sudo chown boinc:boinc /var/lib/boinc

sudo /etc/init.d/boinc-client start

(I haven't tested making and installing Boinc Manager this way, I build it as a package, then manually run it from my home directory)

To Build and run Boinc from your home directory do the following:

sudo apt-get install git make m4 libtool autoconf pkg-config automake g++ gcc libcurl4-openssl-dev libssl-dev libwxgtk2.8-dev libsqlite3-dev gettext docbook2x docbook-xml libxml2-utils zlib1g-dev libsm-dev libice-dev libxmu-dev libxi-dev libx11-dev libnotify-dev freeglut3-dev libgtk2.0-dev libfcgi-dev libjpeg8-dev libxss-dev libxcb-util0-dev libxcb-dpms0-dev libxext-dev

git clone git://boinc.berkeley.edu/boinc-v2.git boinc

cd boinc

git checkout client_release/7.2/7.2.47; git status

./_autosetup

./configure --disable-server --enable-client --with-boinc-alt-platform=arm-unknown-linux-gnueabihf CXXFLAGS="-O3 "

make

cd packages/generic/sea/

make

copy and paste boinc_7.2.47_armv7l-unknown-linux-gnueabihf.sh into the home directory (from boinc/packages/generic/sea/)

sh boinc_7.2.47_armv7l-unknown-linux-gnueabihf.sh

Then navigate into the BOINC directory and double click the Boincmgr icon. (the run_client and run_manager short cuts nolonger work)

Claggy

Stef
Stef
Joined: 8 Mar 05
Posts: 149
Credit: 12267522
RAC: 0

I have made 4 WUs each. For

I have made 4 WUs each.
For my RasPi 2, BRP v1.06 and v1.42 (NEON) took almost the same CPU time.

Average:
v1.06: 90236s
v1.42 (NEON): 89239s

7.4.42 didn't compile, so I went with 7.5.0

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Joined: 28 Aug 06
Posts: 3511
Credit: 231191915
RAC: 445225

RE: I have made 4 WUs

Quote:

I have made 4 WUs each.
For my RasPi 2, BRP v1.06 and v1.42 (NEON) took almost the same CPU time.

Average:
v1.06: 90236s
v1.42 (NEON): 89239s

7.4.42 didn't compile, so I went with 7.5.0

That seems a bit slow. Do you use the overclocking suggested for the PI2 in raspi-config?

Also putting a wisdomf file in /etc/fftw/wisdomf as suggested here http://einsteinathome.org/node/196560&nowrap=true#138467 should help a lot.

HB

Claggy
Claggy
Joined: 29 Dec 06
Posts: 560
Credit: 2501109
RAC: 0

RE: 7.4.42 didn't compile,

Quote:
7.4.42 didn't compile, so I went with 7.5.0


What didn't compile, Boinc, or Boinc Manager? What was the error?

What OS? Raspbian Wheezy, or Jessie? Or something else?

Claggy

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.