文書の過去の版を表示しています。
FreeBSD 12とFolding@homeで新型コロナウイルス解析に参戦する
試した環境
- FreeBSD 12.1-RELEASE-p3
- linux_base-c7-7.7.1908_1
インストール
Folding@homeはFreeBSD用バイナリが用意されていないものの、Linux向けのものがLinuxエミュレータ環境で動く。
portsから入れれば何も難しい事はないが、Linux関連のパッケージがガシガシ入るので、気になる人はjailなりbhyveなりに隔離環境を作ってください。
# portsnap biology/linux-foldingathome
Linuxエミュレータの設定
Linuxエミュレータ環境有効化。
# sysrc linux_enable="YES"
/etc/fstabに以下を追加。
linprocfs /compat/linux/proc linprocfs rw 0 0 linsysfs /compat/linux/sys linsysfs rw 0 0 tmpfs /compat/linux/dev/shm tmpfs rw,mode=1777 0 0
ここで再起動するか、自前でカーネルモジュールを読み込む&上記FS類をマウントする。
# kldload linux64 # mount /compat/linux/proc # mount /compat/linux/sys # mount /compat/linux/dev/shm
Folding@homeクライアントの設定
Folding@homeのデフォルトの作業ディレクトリは/var/db/fahclientとなっており、ここに配置した解析プログラムを実行するようになっている。
ZFS環境の場合、通常/var/db以下はexecプロパティがoffでプログラム実行が許可されていない。よってexec=onでFSを作ってしまう。もし作るのが嫌なら/usr/local/etc/rc.d/fahclientをいじって作業ディレクトリの場所を変更すべし。
# zfs create -o exec=on zroot/ROOT/var/db/fahclient
必要なら /usr/local/etc/fahclient/config.xml のユーザー名とチーム番号を書き換える。
<user value="Decomo"/> <!-- Enter your user name here --> <team value="11743"/> <!-- Your team number -->
Folding@homeのデーモン有効化
# sysrc fahclient_enable="YES"
2020-03-29現在、Folding@homeを立ち上げようとすると
Starting fahclient. su: unknown login: fahclient /usr/local/etc/rc.d/fahclient: WARNING: failed to start fahclient
と怒られて起動しない。fahclientユーザーが正しく反映されてないようなので、pwd_mkdbコマンドでユーザーDBを手動で更新してやる。pwコマンドでfahclientユーザーの情報が表示されてればOK。
# pwd_mkdb -p /etc/master.passwd # pw usershow -n fahclient fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin
Folding@homeデーモンを起動
# service fahclient start
トラブルシューティング
手動で起動する場合
# /usr/local/bin/FAHClient --config=/usr/local/etc/fahclient/config.xml