General Information
This guide will help you set up
Folding@Home using
Dan Bernstein's daemontools, for easy maintenance and also so that on a server reboot folding@home automatically comes back up.
Requirements
You will need the following items to be able to complete this guide:
- Root access to a FreeBSD machine
- Daemontools running
- Linux compatibility installed
Installing Linux Compat
Folding@home only makes Linux binaries. If you do not have the Linux emulation mode enabled, then run the following command:
# # |
pkg_add -r linux_base-8
echo 'linux_enable="YES"' >> /etc/rc.conf |
If you wish, you can compile from source, using the
/usr/ports/emulators/linux_base-8/
At this point you need to restart, for the new linux emulation mode to become enabled.
Setting up Folding@home
Here one creates the service directory and also a directory where the Folding@home client is run.
# # |
mkdir /usr/local/folding@home/
mkdir /usr/local/folding@home/root |
Next we need to get the binary. Yes this is the Linux binary eventhough it contains an .exe extension.
# # # # |
cd /usr/local/folding@home/root/
fetch http://www.stanford.edu/group/pandegroup/release/FAH502-Linux.exe
chmod +x FAH502-Linux.exe
brandelf -t Linux FAH502-Linux.exe |
You can always get the latest version of the client at
http://folding.stanford.edu/download.html.
# # # |
mkdir /usr/local/folding@home/log
mkdir /usr/local/folding@home/env
mkdir /usr/local/folding@home/log/main |
We create the directory structure needed for folding@home to be run under Dan Bernstein's daemontools. We also need to chown/chmod them to the right permissions:
# # # |
cd /usr/local/folding@home
chown -R nobody:nobody root env log/main
chmod 2755 root log log/main |
Now before doing anything else, we need to get the client set up. You need to give it a username to be able to say that you contributed, or you can stay anonymous.
# # # |
cd root
setuidgid nobody ./FAH502-Linux.exe -configonly
cd .. |
Next set up the run file, this is the most important file, as it runs your Folding@home client using daemontools' supervise, which will make sure it is always up.
# # # # # # # # # |
cat << EOF > run
#!/bin/sh
exec 2>&1
exec envdir ./env sh -c '
cd /usr/local/folding@home/root/
exec setuidgid nobody /usr/bin/nice -n 20 /usr/local/folding@home/root/FAH502-Linux.exe -freeBSD
'
EOF
chmod 700 run |
Logging is important. Of course, we want to know how far along we are.
# # # # # |
cat << EOF > log/run
#!/bin/sh
exec setuidgid nobody multilog t ./main
EOF
chmod 700 log/run |
Starting Folding@home
Now, to get Folding@Home started using svscan and have it running under supervise, we have to let svscan know about our service.
# # |
cd /var/service
ln -s /usr/local/folding@home |
It should now be running, to see if it really is running, check with ps.
|
# |
ps auxwwww | grep -i fah |
You should see several different processes named
FAH*-Core.exe, this means you are good to go. To check how long it has been running, use svstat like follows:
|
# |
svstat /var/service/folding@home/ |
This guide is © 2005 - 2012 Bert JW Regeer.
Author: Bert JW Regeer
bsdguides at 0x58 dot com