General Information
This guide will help you set up Dan Bernstein’s daemontools, which is a program that supervises another daemon so that when it does fail, it will automatically be restarted.
Doing Stuff with FreeBSD, OpenBSD, NetBSD and MacOSX
This guide will help you set up Dan Bernstein’s daemontools, which is a program that supervises another daemon so that when it does fail, it will automatically be restarted.
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.
You will need the following items to be able to complete this guide:
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.
# shutdown -r now
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
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/
Get the latest posts via Feed Burner
Copyright © 2013 · News Theme on Genesis Framework · WordPress · Log in