It is possible to use the official Linux science application binaries on FreeBSD, OpenBSD and NetBSD i386 with the Linux Compatibility at without any great lose of performance.
 
Some tests shows, that the BOINC hardware detection not work correctly, if the Linux BOINC client would be used with the Linux compat, so the usage of the *BSD BOINC client with a app_info.xml for the manual Installation of the science application would be the best way. It has also the benefit, that you can use native FreeBSD/NetBSD/OpenBSD science applications, for example SIMAP and  SETI@home has a FreeBSD, NetBSD and OpenBSD application.
 
 
1. Linux Compat Installation and Configuration
 
1.1 FreeBSD
 
For some more detailed informations, please look at the FreeBSD Linux Compatibility Howto.
 
The following installation steps are described in detail in the FreeBSD Howto :
 
Enable the Kernel Loadable Object for the Linux Compat by issuing the command „kdlload linux“ as root.
 
Install a FreeBSD BOINC client from my Website, or from the FreeBSD ports. After the installation, stop
  the BOINC client.
 
• Setup the Linux Kernel version :
   • sysctl compat.linux.osrelease=2.6.32
   • echo „compat.linux.osrelease=2.6.32 „ > /etc/sysctl.conf
 
 
1.2 NetBSD
 
For some detailed installation instructions, have a look at the NetBSD Linux Emulator Setup in the NetBSD Guide. Following installation steps are needed :
 
At the default Kernels Linux Compat is already enabled.
 
Download the required Linux Packages. - I have used the Fedora Base Package from OpenBSD. Unpack the package to /emul and make a link „ln -s /emul/fedora /emul/linux“
 
Install a NetBSD BOINC client from my Website. After the installation, stop the BOINC client.
 
 
 
1.3 OpenBSD
 
 
For some detailed installation instructions, have a look at the Linux Compat in the OpenBSD FAQ Setup. Following installation steps are needed :
 
At the default Kernels Linux Compat is already included in the Kernel, but not enabled. Enable it at runtime with „sysctl kern.emul.linux=1“. And make it persistent after boot by comment to the „#kern.emul.linux=1“ in /etc/sysctl.conf
 
Download the required Linux Packages. - I have used the Fedora Base Package from OpenBSD. Unpack the package to /emul and make a link „ln -s /emul/fedora /emul/linux“
 
Install a OpenBSD BOINC client from my Website. After the installation, stop the BOINC client.
 
 
 
 
2. Installation of the science applications
 
 
There are two different attempts to use the Linux Compat with the BOINC :
 
 The first one is to install the Linux Compat and use a client which has a alternative Platform string compiled in, which uses the native OS as first platform string, for example i686-pc-freebsd, and as second platform string i686-pc-linux-gnu.
The benefit is that no further installation is required, and if the project send out a new application, it would been used automaticly.
But, if the application would not run with the Linux compat, it can produce error or invalid results.  
 
 
 The second attempt via the app_info.xml :
The problem is, that if you use a app_info.xml, you must check manually, if the project has some new work, download the science applications and change the version number and application name in the app_info.xml
In the moment, I‘ve tested it successful with the Rossetta@home and MalariaControl project. - Cosmology@home, POEM@home, Superlink@Technion, the Lattice Project and World Community Grid did not work. But other project are still in testing. - If anyone has it successful running at other projects, please contact me !
 
 
 
2.1 Installation of a BOINC client with a alternative platform string
 
Download a BOINC client with the alternative platform string from my homepage.
Actually the FreeBSD BOINC client 6.10.58 includes a binary boinc_client with the native FreeBSD platform string, and also a binary boinc_client.alt with the alternative platform string.  OpenBSD and NetBSD BOINC clients will follow as it was also tested.
 
 Install the BOINC client, and start the BOINC client with ./boinc_client.alt after the Linux Compat is setup as
    described in step 1.
 Attach to the project(s) with the Linux Application
 
Successful tested projects : Docking@home, Einstein@home, Ibercivis, World Community Grid  
Not successful tested projects : Rosetta@home
More project will tested soon...
 
 
 
2.2 Installation via the app_info.xml
 
Not successful tested projects :
Cosmology@home : FreeBSD, NetBSD, OpenBSD
POEM@home : FreeBSD, NetBSD, OpenBSD
LHC@home : FreeBSD, NetBSD, OpenBSD
Superlink@Technion : FreeBSD, NetBSD, OpenBSD
The Lattice Project : FreeBSD, NetBSD, OpenBSD  
World Community Grid : FreeBSD, NetBSD, OpenBSD
 
A FreeBSD/NetBSD/OpenBSD BOINC client must be installed as pre requirement.
 
 
2.2.1 Installation of Rosetta@home
 
Works on FreeBSD and NetBSD
 
Check the actual application information from the Rosetta@home applications page.
 
Download both Rosetta Linux science applications with the right version number from the rosetta servers.  In the moment, Rosetta 5.89 and Mini Rosetta 1.28 are the actual versions.
 
Download the app_info.xml_rosetta for Rosetta@home and rename it to app_info.xml.
 
Attach to the Rosetta@home project by the BOINC manager, boinc_cmd or boinc_client -attach_project. After the attachment was successful, please stop the BOINC client.
 
Change into the BOINC directory  
 
Copy the file app_info.xml and the rosetta science application to the projects/boinc.bakerlab.org_rosetta directory and change the owner to the user under which BOINC ran. Change the permissions to 555 for the rosetta-5... and minirosetta-1.2* binaries.
 
Start the BOINC client again with the option „./boinc_client -update_prefs http://boinc.bakerlab.org/rosetta
 
Now your BOINC client should use the app_info.xml and download one ore more Rosetta WUs and start Crunching.
 
 
 
2.2.2 Installation of Malaria Control
 
Works on FreeBSD, NetBSD and OpenBSD
 
Same installation procedure as at 2.1 (installation of Rosetta@home) described, but with the following
differences :
 
The actual applications are listed at  Malaria Control applications page.
 
Download the Malaria Control science application with the right version number from the Malaria Control servers.  In the moment Malaria 5.57 is the actual version.
 
Download the app_info.xml for Malaria Control,  and rename it to app_info.xml
 
Copy the file app_info.xml and the Malaria Control science application to the projects/www.malariacontroll.net/ directory and change the owner to the user under which BOINC ran. Change the permissions to 555 for the malaria-5... binary.
 
Start the BOINC client again with the option „./boinc_client -update_prefs http://www.malariacontrol.net
 
 
 
 
 
 
 
 
FreeBSD/NetBSD/OpenBSD Linux Compatibility Howto
(c) 2008 Lars Bausch                                                                                                                                                    Last change : 4.1.2011