文書の過去の版を表示しています。


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エミュレータ環境有効化。

# 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のデフォルトの作業ディレクトリは/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
  • freebsd/freebsd_12_install_foldingathome.1585411021.txt.gz
  • 最終更新: 2020-03-29 00:57
  • by Decomo