「RaspberryPiで新型コロナウイルスの解析」の版間の差分

提供: ディーズガレージ wiki
移動先: 案内検索
(Folding@home)
(OS)
 
2行目: 2行目:
 
|__TOC__
 
|__TOC__
 
|}
 
|}
COVID-19のBOINCプロジェクトに参加してみます。
+
COVID-19の解析プロジェクトに参加してみます。
  
 
[[ファイル:boinc_manager_covid-19.jpg|480px|border]]
 
[[ファイル:boinc_manager_covid-19.jpg|480px|border]]
 +
 +
[http://dz.plala.jp/iot-monitor/ IoT MONITOR]<br />
 +
COVID-19-01 Rosetta@home<br />
 +
COVID-19-02 Rosetta@home<br />
 +
COVID-19-03 Rosetta@home<br />
 +
COVID-19-04 World Community Grid<br />
 +
COVID-19-05 Folding@home
  
 
=='''具合'''==
 
=='''具合'''==
<!--* 健康モニタリング(netdata)がRAMとSWAPの警告を常に出す-->
+
Wikipediaより
* 感覚的に延命対策は不完全
+
* 2020年4月中旬、Folding@home は、TOP500の全スーパーコンピュータの合算を上回る能力を獲得した。
* 約30%で計算中に異常発生
+
* 2020年5月14日、World Community Grid は、OpenPandemics - COVID-19を開始した。
 +
* 2020年6月26日、Rosetta@home は、SARS-CoV-2ウイルスを中和する抗ウイルスタンパク質の作成に成功した。
 +
 
 +
動作<br />
 +
* 3B+がサーマルスロットリングしきい値70度(最高設定値)を越えてしまうことがある。
 +
* Folding@home 動作確認中。
  
 
=='''環境'''==
 
=='''環境'''==
 
{| class="wikitable" style="width:480px;"
 
{| class="wikitable" style="width:480px;"
| style="padding-left:10px;padding-right:10px;"| モデル
+
| style="padding-left:10px;padding-right:10px;"| SBC
| style="padding-left:10px;padding-right:10px;"| Raspberry Pi 3 Model B+
+
| style="padding-left:10px;padding-right:10px;"| Raspberry Pi Zero, A+, 3A+, B, B+, 2B, 3B, 3B+, 4B
 
|-
 
|-
 
| style="padding-left:10px;padding-right:10px;"| OS
 
| style="padding-left:10px;padding-right:10px;"| OS
| style="padding-left:10px;padding-right:10px;" | Raspbian Buster Lite 2020-02-13
+
| style="padding-left:10px;padding-right:10px;" | Raspberry Pi OS Lite 2020-08-20
 
|-
 
|-
 
| style="padding-left:10px;padding-right:10px;"| ストレージ
 
| style="padding-left:10px;padding-right:10px;"| ストレージ
27行目: 39行目:
 
| style="padding-left:10px;padding-right:10px;"| リモート操作
 
| style="padding-left:10px;padding-right:10px;"| リモート操作
 
| style="padding-left:10px;padding-right:10px;" | Windows10
 
| style="padding-left:10px;padding-right:10px;" | Windows10
 
 
|}
 
|}
 +
[https://www.monotaro.com/g/00363680/?t.q=%83q%81%5B%83g%83V%83%93%83N ヒートシンク 40×40×25]<br />
 +
[https://www.monotaro.com/g/03398037/ 銅サイコロ 20×20×20 ]<br />
 +
[https://www.monotaro.com/g/03484491/ 熱伝導性両面テープ 0.6W/m・K 200x300]
  
 
=='''下調べ'''==
 
=='''下調べ'''==
==='''Folding@home'''===
+
[https://ja.wikipedia.org/wiki/Rosetta@home Rosetta@home - Wikipedia]<br />
開発中 (2020年7月22日更新)
+
[https://ja.wikipedia.org/wiki/Folding@home Folding@home - Wikipedia]<br />
* https://www.neocortix.com/coronablog
+
[https://ja.wikipedia.org/wiki/World_Community_Grid World Community Grid - Wikipedia]<br />
  
 
==='''Rosetta@home'''===
 
==='''Rosetta@home'''===
Linux running on 64-bit ARM
+
[https://pastebin.com/jCqJDp7N Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home - Pastebin.com]<br />
* https://boinc.bakerlab.org/rosetta/apps.php
+
[https://www.reddit.com/r/BOINC/comments/g0r0wa/running_rosetta_covid19_workunits_on_raspberry_pi/ Running Rosetta (COVID-19 workunits) on Raspberry Pi 3B+ (how to guide) - reddit.com]
  
64-bit ARM = ARMv8 (64bit)
+
==='''Folding@home'''===
* https://ja.wikipedia.org/wiki/Raspberry_Pi
+
[https://foldingathome.org/alternative-downloads/ Alternative Downloads - Folding@home]<br />
* https://elinux.org/RPi_HardwareHistory
+
[https://foldingathome.org/support/faq/installation-guides/linux/manual-installation-advanced/ Manual installation (advanced) - Folding@home]
  
物理メモリ不足をzramとswapで補ってる<br />
+
==='''World Community Grid'''===
* [https://pastebin.com/jCqJDp7N Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home - Pastebin.com]
+
[https://www.raspberrypi.org/blog/ibm-world-community-grid/ Volunteer your Raspberry Pi to IBM&#039;s World Community Grid - Raspberry Pi]<br />
* [https://www.reddit.com/r/BOINC/comments/g0r0wa/running_rosetta_covid19_workunits_on_raspberry_pi/ Running Rosetta (COVID-19 workunits) on Raspberry Pi 3B+ (how to guide) - reddit.com]
+
[https://www.worldcommunitygrid.org/help/viewTopic.do?shortName=boinc Installing on Linux - World Community Grid - Help]<br />
 +
[https://www.worldcommunitygrid.org/help/viewTopic.do?shortName=minimumreq System Requirements - World Community Grid - Help]
  
==='''その他'''===
+
==='''動作環境'''===
* [https://www.boincusa.com/forum/index.php?threads/coronavirus-covid-19-projects.1623/ Coronavirus COVID-19 Projects | BOINC team USA]
+
[https://ja.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi - Wikipedia]<br />
 +
[https://elinux.org/RPi_HardwareHistory RPi HardwareHistory - eLinux.org]
  
=='''準備'''==
+
プラットフォーム<br />
リモート操作用にする
+
Rosetta@home … BOINC<br />
 +
Folding@home … FAH<br />
 +
World Community Grid … BOINC
  
===OSイメージ===
+
CPU<br />
[https://www.raspberrypi.org/downloads/raspbian/ Download Raspberry Pi OS for Raspberry Pi]
+
Rosetta@home … ARMv8 (64bit)<br />
[https://www.balena.io/etcher/ balenaEtcher - Flash OS images to SD cards &amp; USB drives]
+
Folding@home … ARMv8 (64bit)<br />
microSDHC、モニター、キーボード、有線LANを取り付け<br />
+
World Community Grid … ARMv6, ARMv7, ARMv8 (64bit)
電源ON
+
  
raspberrypi login: pi
+
メモリ<br />
Password: raspberry
+
Rosetta@home … 1GB以上<br />
 +
Folding@home … 確認中<br />
 +
World Community Grid … 250MB以上
  
===拡張===
+
多分動く辺り<br />
$ sudo raspi-config
+
Rosetta@home … 3B, 3B+, 4B<br />
7.Advanced Options > A1 Expand Filesystem > <Ok> > tab > Finish > reboot<Yes>
+
Folding@home … 確認中<br />
 +
World Community Grid … A以外
  
===キーボード===
+
=='''リモート環境'''==
$ sudo raspi-config
+
SSHリモート操作用にする
4 Localisation Options > I3 Change Keyboard Layout > Generic 105-key PC (intl.) > Other > Japanese > Japanese > The default for the keyboard layout > No compose key > tab > Finish
+
$ sudo reboot
+
  
===ファームウェア===
+
===OS===
 +
[https://www.raspberrypi.org/downloads/ Raspberry Pi Downloads]<br />
 +
[https://www.google.com/search?q=%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97 ヘッドレスセットアップ - Google 検索]<br />
 +
microSDHC、モニター、キーボード、有線LANを取り付け電源ON または、ヘッドレスセットアップ<br />
 +
raspberrypi.local
 +
 
 +
raspberrypi login: pi
 +
Password: raspberry
 +
 
 +
===firmware===
 
  $ sudo rpi-update
 
  $ sudo rpi-update
 
  $ sudo reboot
 
  $ sudo reboot
  
===カーネル===
+
===kernel===
 +
<span style="color: red">Rosetta@home, Folding@home のみ</span>
 
  $ sudo nano /boot/config.txt
 
  $ sudo nano /boot/config.txt
 
末尾に追記
 
末尾に追記
83行目: 111行目:
 
終了: Ctrl + x<br />
 
終了: Ctrl + x<br />
 
  $ sudo reboot
 
  $ sudo reboot
 +
確認
 +
$ uname -a
 +
aarch64
  
===ホスト名===
+
===raspi-config===
 +
====expand====
 +
$ sudo raspi-config
 +
7.Advanced Options > A1 Expand Filesystem > <Ok> > tab > <Finish> > reboot<Yes>
 +
 
 +
====keyboard====
 +
ヘッドレスセットアップでは設定できない
 +
$ sudo raspi-config
 +
4 Localisation Options > I3 Change Keyboard Layout > Generic 105-key PC (intl.) > Other > Japanese > Japanese > The default for the keyboard layout > No compose key > tab > <Finish>
 +
$ sudo reboot
 +
 
 +
====locale====
 +
$ sudo raspi-config
 +
4 Localisation Options > I1 Change Locale >
 +
[*] en_GB.UTF-8 UTF-8
 +
[*] ja_JP.UTF-8 UTF-8 > スペースキー
 +
> tab > <Ok> > ja_JP.UTF-8 > tab > <Finish>
 +
$ sudo reboot
 +
 
 +
====timezone====
 +
$ sudo raspi-config
 +
4 Localisation Options > I2 Change Time Zone > アジア > 東京 > tab > <Finish>
 +
$ sudo reboot
 +
 
 +
====hostname====
 
  $ sudo raspi-config
 
  $ sudo raspi-config
 
  2 Network Options > N1 Hostname > <Ok>
 
  2 Network Options > N1 Hostname > <Ok>
90行目: 145行目:
 
  covid-19
 
  covid-19
  
  tab > OK > tab > Finish > <Yes>
+
  tab > OK > tab > <Finish> > <Yes>
<!--
+
raspberrypi.local > covid-19.local
===IP固定===
+
$ sudo nano /etc/dhcpcd.conf
+
 
+
末尾に追記
+
interface eth0
+
static ip_address=192.168.1.186/24
+
static routers=192.168.1.1
+
static domain_name_servers=192.168.1.1
+
保存: Ctrl + o > リターン<br />
+
終了: Ctrl + x
+
$ sudo reboot
+
-->
+
  
===SSH有効===
+
===SSH===
 
  $ sudo raspi-config
 
  $ sudo raspi-config
  5 Interfacing Options > P2 SSH > <Yes> > <Ok> > tab > Finish
+
  5 Interfacing Options > P2 SSH > <Yes> > <Ok> > tab > <Finish>
 
電源OFF
 
電源OFF
 
  $ sudo shutdown -h now
 
  $ sudo shutdown -h now
モニター、キーボードを取り外し<br />
+
モニター、キーボードを取り外し電源ON
電源ON
+
  
=='''リモート操作'''==
+
SSH接続<br />
 
Windows10のTera Term使用
 
Windows10のTera Term使用
===SSH接続===
 
 
  ホスト: covid-19.local
 
  ホスト: covid-19.local
 
  ユーザ名: pi
 
  ユーザ名: pi
 
  パスフレーズ: raspberry
 
  パスフレーズ: raspberry
 +
 +
===date===
 +
$ date
 +
$ sudo date --set='2020/10/18 01:26:00'
 +
$ date
 +
 
===update===
 
===update===
 
  $ sudo apt update
 
  $ sudo apt update
164行目: 211行目:
 
  $ sudo nano /etc/dphys-swapfile
 
  $ sudo nano /etc/dphys-swapfile
 
変更
 
変更
  CONF_SWAPSIZE=1024
+
  #CONF_SWAPSIZE=100
 +
CONF_SWAPSIZE=2048
 
保存: Ctrl + o > リターン<br />
 
保存: Ctrl + o > リターン<br />
終了: Ctrl + x
+
終了: Ctrl + x<br />
 +
確認
 
  $ sudo systemctl restart dphys-swapfile
 
  $ sudo systemctl restart dphys-swapfile
 
  $ swapon
 
  $ swapon
 
===folder2ram===
 
<pre>
 
$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
 
$ sudo chmod +x /sbin/folder2ram
 
$ sudo folder2ram -configure
 
$ sudo nano /etc/folder2ram/folder2ram.conf
 
</pre>
 
 
末尾に追記
 
tmpfs /var/cache
 
tmpfs /tmp
 
tmpfs /var/tmp
 
tmpfs /var/log
 
tmpfs /var/spool
 
保存: Ctrl + o > リターン<br />
 
終了: Ctrl + x
 
$ sudo folder2ram -mountall
 
$ sudo folder2ram -enablesystemd
 
$ sudo reboot
 
確認
 
$ df -h
 
  
 
===service===
 
===service===
205行目: 232行目:
 
  $ sudo systemctl disable cron.service
 
  $ sudo systemctl disable cron.service
  
 +
$ sudo reboot
 
確認
 
確認
$ sudo reboot
 
 
  $ systemctl list-units --type=service
 
  $ systemctl list-units --type=service
  
===journal===
+
===journald===
 
  $ sudo nano /etc/systemd/journald.conf
 
  $ sudo nano /etc/systemd/journald.conf
 
末尾に追記
 
末尾に追記
217行目: 244行目:
 
  $ sudo reboot
 
  $ sudo reboot
  
===boinc-client===
+
===overclock===
====インストール====
+
$ sudo nano /boot/config.txt
 +
末尾に追記<br />
 +
2B のみ
 +
arm_freq=1000
 +
core_freq=500
 +
sdram_freq=500
 +
over_voltage=2
 +
3B のみ
 +
arm_freq=1350
 +
core_freq=500
 +
over_voltage=4
 +
3B+ のみ
 +
temp_soft_limit=70
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
確認
 +
$ vcgencmd measure_clock arm
 +
$ echo $((`vcgencmd measure_clock arm | cut -c 15-`/1000/1000))
 +
 
 +
=='''Folding@home'''==
 +
確認中<br />
 +
メモ
 +
<pre>
 +
$ wget https://download.foldingathome.org/releases/beta/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.20_arm64.deb
 +
$ sudo dpkg -i fahclient_7.6.20_arm64.deb
 +
$ sudo reboot
 +
</pre>
 +
<pre>
 +
$ sudo nano /etc/fahclient/config.xml
 +
<allow v='127.0.0.1 192.168.1.0/24'/>
 +
<web-allow v='127.0.0.1 192.168.1.0/24'/>
 +
<command-allow-no-pass v='127.0.0.1 192.168.1.0/24'/>
 +
$ sudo reboot
 +
$ tail -f /var/lib/fahclient/log.txt
 +
</pre>
 +
 
 +
<pre>
 +
Uninstall
 +
$ sudo dpkg -P fahclient
 +
</pre>
 +
 
 +
Windows10使用
 +
<pre>
 +
http://<Raspberry Pi IP>:7396
 +
https://download.foldingathome.org/releases/beta/release/fah-installer/windows-10-32bit/v7.6/fah-installer_7.6.20_x86.exe
 +
FAHControl > Clients +Add > Connection > IP:<Raspberry Pi IP>, Port:36330
 +
Remote Access > Allow > 127.0.0.1 192.168.1.0/24
 +
</pre>
 +
 
 +
=='''Rosetta@home'''==
 
  $ sudo apt install boinc-client boinctui
 
  $ sudo apt install boinc-client boinctui
====コンフィグ====
 
 
  $ sudo nano /var/lib/boinc-client/cc_config.xml
 
  $ sudo nano /var/lib/boinc-client/cc_config.xml
 
設定
 
設定
 
<pre>
 
<pre>
<!--
 
This is a minimal configuration file cc_config.xml of the BOINC core client.
 
For a complete list of all available options and logging flags and their
 
meaning see: https://boinc.berkeley.edu/wiki/client_configuration
 
-->
 
 
<cc_config>
 
<cc_config>
 
   <log_flags>
 
   <log_flags>
246行目: 317行目:
 
設定
 
設定
 
<pre>
 
<pre>
<!--
 
This configuration file global_prefs_override.xml for the BOINC core client
 
can be used to override global preferences locally. For a complete list of
 
all preferences which can be overridden see:
 
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
 
-->
 
 
<global_preferences>
 
<global_preferences>
 
     <run_if_user_active>1</run_if_user_active>
 
     <run_if_user_active>1</run_if_user_active>
259行目: 324行目:
 
     <hangup_if_dialed>0</hangup_if_dialed>
 
     <hangup_if_dialed>0</hangup_if_dialed>
 
     <dont_verify_images>0</dont_verify_images>
 
     <dont_verify_images>0</dont_verify_images>
     <work_buf_min_days>0.700000</work_buf_min_days>
+
     <work_buf_min_days>1.000000</work_buf_min_days>
     <work_buf_additional_days>0.300000</work_buf_additional_days>
+
     <work_buf_additional_days>0.500000</work_buf_additional_days>
     <max_ncpus_pct>75.000000</max_ncpus_pct>
+
     <max_ncpus_pct>50.000000</max_ncpus_pct>
 
     <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 
     <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 
     <disk_interval>300.000000</disk_interval>
 
     <disk_interval>300.000000</disk_interval>
267行目: 332行目:
 
     <disk_max_used_pct>100.000000</disk_max_used_pct>
 
     <disk_max_used_pct>100.000000</disk_max_used_pct>
 
     <disk_min_free_gb>0.100000</disk_min_free_gb>
 
     <disk_min_free_gb>0.100000</disk_min_free_gb>
     <vm_max_used_pct>300.000000</vm_max_used_pct>
+
     <vm_max_used_pct>100.000000</vm_max_used_pct>
 
     <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
 
     <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
 
     <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
 
     <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
273行目: 338行目:
 
</global_preferences>
 
</global_preferences>
 
</pre>
 
</pre>
 +
 
保存: Ctrl + o > リターン<br />
 
保存: Ctrl + o > リターン<br />
 
終了: Ctrl + x
 
終了: Ctrl + x
281行目: 347行目:
 
  $ sudo reboot
 
  $ sudo reboot
  
====Rosetta@home====
+
アカウント<br />
http://boinc.bakerlab.org/rosetta/
+
[http://boinc.bakerlab.org/rosetta/ Rosetta@home]<br />
 +
Windows10使用
 
  Join Rosetta@home > Sign Up > アカウントを作成する
 
  Join Rosetta@home > Sign Up > アカウントを作成する
  Eメール: BBB@BBB.BBB
+
  Eメール: BBB@BBB.BBB, パスワード: CCCCCCCCC
パスワード: CCCCCCCCC
+
 
設定
 
設定
 
<pre>
 
<pre>
293行目: 359行目:
 
poll status: operation in progress
 
poll status: operation in progress
 
account key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
account key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 +
 
$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update
 
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update
$ boinccmd --passwd AAAAAAAAA --get_state
 
$ boinccmd --passwd AAAAAAAAA --get_tasks
 
 
</pre>
 
</pre>
  
===動作確認===
+
確認
 +
$ htop
 +
 
 
  $ boinctui
 
  $ boinctui
 
  host 127.0.0.1
 
  host 127.0.0.1
305行目: 372行目:
 
  pwd AAAAAAAAA
 
  pwd AAAAAAAAA
  
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
 +
[https://boinc.berkeley.edu/wiki/Boinccmd_tool Boinccmd tool]
 +
<pre>
 +
プロジェクトのすべてのタスクを停止
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ suspend
 +
プロジェクトを分離
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ detach_when_done
 +
プロジェクトを元に戻す
 +
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ allowmorework
 +
</pre>
 +
 +
=='''World Community Grid'''==
 +
$ sudo apt install boinc-client boinctui
 +
$ sudo nano /var/lib/boinc-client/cc_config.xml
 +
設定
 +
<pre>
 +
<cc_config>
 +
  <log_flags>
 +
    <task>1</task>
 +
    <file_xfer>1</file_xfer>
 +
    <sched_ops>1</sched_ops>
 +
  </log_flags>
 +
  <options>
 +
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
 +
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
 +
  </options>
 +
</cc_config>
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /var/lib/boinc-client/global_prefs_override.xml
 +
設定
 +
<pre>
 +
<global_preferences>
 +
    <run_if_user_active>1</run_if_user_active>
 +
    <suspend_cpu_usage>100.000000</suspend_cpu_usage>
 +
    <leave_apps_in_memory>0</leave_apps_in_memory>
 +
    <confirm_before_connecting>0</confirm_before_connecting>
 +
    <hangup_if_dialed>0</hangup_if_dialed>
 +
    <dont_verify_images>0</dont_verify_images>
 +
    <work_buf_min_days>1.000000</work_buf_min_days>
 +
    <work_buf_additional_days>0.500000</work_buf_additional_days>
 +
    <max_ncpus_pct>50.000000</max_ncpus_pct>
 +
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
 +
    <disk_interval>300.000000</disk_interval>
 +
    <disk_max_used_gb>100.000000</disk_max_used_gb>
 +
    <disk_max_used_pct>100.000000</disk_max_used_pct>
 +
    <disk_min_free_gb>0.100000</disk_min_free_gb>
 +
    <vm_max_used_pct>100.000000</vm_max_used_pct>
 +
    <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
 +
    <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
 +
    <cpu_usage_limit>100.000000</cpu_usage_limit>
 +
</global_preferences>
 +
</pre>
 +
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg
 +
適当なパスワードを平文で書く AAAAAAAAA<br />
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 +
アカウント<br />
 +
[https://www.worldcommunitygrid.org/ World Community Grid - ホーム]
 +
Windows10使用
 +
いますぐ参加 > サインアップ > 電子メールアドレス: BBB@BBB.BBB, パスワード: CCCCCCCCC
 +
プロジェクトを選択します > OpenPandemics-COVID-19
 +
以降適当に
 +
確認メール「Please verify your email address」が届く
 +
 +
アカウント・キーの確認<br />
 +
[https://www.worldcommunitygrid.org/ms/viewMyProfile.do World Community Grid - マイ・プロファイル]
 +
アカウント・キー: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
 +
 +
設定
 +
 +
<pre>
 +
$ boinccmd --passwd AAAAAAAA --project_attach http://www.worldcommunitygrid.org EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
 +
$ boinccmd --passwd AAAAAAAA --project http://www.worldcommunitygrid.org update
 +
</pre>
 +
 +
確認<br />
 
  $ htop
 
  $ htop
 +
 +
$ boinctui
 +
host 127.0.0.1
 +
port 31416
 +
pwd AAAAAAAAA
 +
 +
CPU温度
 +
$ while true; do vcgencmd measure_temp; sleep 1s; done
 +
 +
[https://boinc.berkeley.edu/wiki/Boinccmd_tool Boinccmd tool]
 +
<pre>
 +
プロジェクトのすべてのタスクを停止
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org suspend
 +
プロジェクトを分離
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org detach_when_done
 +
プロジェクトを元に戻す
 +
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org allowmorework
 +
</pre>
  
 
=='''BOINC Manager'''==
 
=='''BOINC Manager'''==
 +
<span style="color: red">Rosetta@home, World Community Grid のみ</span><br />
 
Windows10使用
 
Windows10使用
====インストール====
+
 
https://boinc.berkeley.edu/download.php
+
[https://boinc.berkeley.edu/download.php Install BOINC]
 
  ファイル > コンピュータの選択
 
  ファイル > コンピュータの選択
 
  計算機名(ホスト名): covid-19
 
  計算機名(ホスト名): covid-19
 
  パスワード: AAAAAAAAA
 
  パスワード: AAAAAAAAA
  
プロパティ修正
+
プロパティ修正<br />
BOINC Managerを終了
+
BOINC Managerを終了<br />
BOINC Managerのアイコンを右クリック > プロパティ
+
BOINC Managerのアイコンを右クリック > プロパティ<br />
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19 -p AAAAAAAAA
+
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19 -p AAAAAAAAA<br />
BOINC Managerを起動
+
BOINC Managerを起動
  
====チームに参加====
+
チームに参加<br />
[https://boinc.bakerlab.org/rosetta/team_display.php?teamid=19963 rosetta@raspberrypi.linux.5ch]
+
Rosetta@home<br />
 +
[https://boinc.bakerlab.org/rosetta/team_display.php?teamid=19963 rosetta@raspberrypi.linux.5ch]
  
====ログ====
+
World Community Grid<br />
 +
[https://www.worldcommunitygrid.org/ms/team/viewMyTeam.do World Community Grid - チーム]
 +
 
 +
ログ<br />
 +
Rosetta@home
 
<pre>
 
<pre>
 
プロジェクト・サーバからのメッセージ: Rosetta needs 1716.61 MB RAM but only 963.00 MB is available for use.
 
プロジェクト・サーバからのメッセージ: Rosetta needs 1716.61 MB RAM but only 963.00 MB is available for use.
330行目: 506行目:
 
プロジェクト・サーバからのメッセージ: Rosetta needs 3814.70 MB RAM but only 963.00 MB is available for use.
 
プロジェクト・サーバからのメッセージ: Rosetta needs 3814.70 MB RAM but only 963.00 MB is available for use.
 
</pre>
 
</pre>
<!--
+
 
=='''netdata調整'''==
+
=='''延命化'''==
===alarms===
+
====fstab====
  $ sudo /etc/netdata/edit-config netdata.conf
+
  $ sudo nano /etc/fstab
  [health]
+
末尾に追記
        enabled = no
+
tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0      0
$ sudo /etc/netdata/edit-config health.d/load.conf
+
保存: Ctrl + o リターン<br />
      to: silent
+
終了: Ctrl + x
 +
 
 +
  $ sudo reboot
 +
 
 +
確認
 +
$ df -h
 +
 
 +
====folder2ram====
 +
[https://github.com/bobafetthotmail/folder2ram GitHub - bobafetthotmail/folder2ram]
 +
<pre>
 +
$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
 +
$ sudo chmod +x /sbin/folder2ram
 +
$ sudo folder2ram -configure
 +
リターン
 +
$ sudo nano /etc/folder2ram/folder2ram.conf
 +
</pre>
 +
 
 +
末尾に追記<br />
 +
<span style="color: red">boinc-client/slots はRosetta@home, World Community Grid のみ</span>
 +
tmpfs /var/cache
 +
tmpfs /var/log
 +
tmpfs /var/tmp
 +
tmpfs /var/spool
 +
tmpfs /var/lib/boinc-client/slots
 +
 
 
保存: Ctrl + o > リターン<br />
 
保存: Ctrl + o > リターン<br />
 
終了: Ctrl + x  
 
終了: Ctrl + x  
 +
$ sudo folder2ram -mountall
 +
$ sudo folder2ram -enablesystemd
 +
$ sudo reboot
 +
確認
 +
$ df -h
 +
 +
=='''省電力化'''==
 +
====HDMI ====
 +
$ sudo nano /etc/rc.local
 +
末尾のexit 0手前に追記
 +
tvservice --off
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
$ sudo reboot
 +
 +
====Bluetooth====
 +
$ sudo nano /boot/overlays/README
 +
終了: Ctrl + x
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
dtoverlay=disable-bt
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 +
====Wi-Fi====
 +
$ sudo nano /boot/overlays/README
 +
終了: Ctrl + x
 +
$ sudo nano /boot/config.txt
 +
末尾に追記
 +
dtoverlay=disable-wifi
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x<br />
 +
$ sudo reboot
 +
 +
====USB====
 +
[https://github.com/mvp/uhubctl GitHub - mvp/uhubctl]
 +
<pre>
 +
$ sudo apt-get install libusb-1.0-0-dev
 +
$ cd ~
 +
$ git clone https://github.com/mvp/uhubctl.git
 +
$ cd uhubctl
 +
$ make
 +
$ sudo make install
 +
</pre>
 +
$ sudo nano /etc/rc.local
 +
 +
末尾のexit 0手前に追記
 +
 +
B+, 2B, 3B, 3B+ のみ
 +
uhubctl -l 1-1 -p 2 -a 0
 +
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
  $ sudo reboot
 
  $ sudo reboot
止まらない
 
  
===fstab===
+
=='''Netdata メモ'''==
 +
====fstab====
 
  $ sudo nano /etc/fstab
 
  $ sudo nano /etc/fstab
 
末尾に追記
 
末尾に追記
349行目: 604行目:
 
保存: Ctrl + o リターン<br />
 
保存: Ctrl + o リターン<br />
 
終了: Ctrl + x
 
終了: Ctrl + x
 +
 
  $ sudo reboot
 
  $ sudo reboot
  
 
確認
 
確認
 
  $ df -h
 
  $ df -h
-->
+
 
 +
====BOINC====
 +
[https://learn.netdata.cloud/docs/agent/collectors/python.d.plugin/boinc BOINC monitoring with Netdata | Learn]
 +
 
 +
$ cd /etc/netdata
 +
$ sudo ./edit-config python.d/boinc.conf
 +
 
 +
末尾に追記
 +
<pre>
 +
remote:
 +
  hostname: covid-19
 +
  password: AAAAAAAAA
 +
</pre>
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo service netdata restart
 +
 
 +
====Alarms====
 +
[https://learn.netdata.cloud/docs/agent/health/quickstart Health quickstart | Learn]<br />
 +
swap.conf 役に立たないので停止 異常値を設定し発火させない<br />
 +
ram.conf しきい値調整<br />
 +
Parent(親機)とChild(子機)の場合Parent(親機)に設定
 +
 
 +
Parent(親機)
 +
$ cd /etc/netdata/
 +
$ sudo ./edit-config health.d/swap.conf
 +
 
 +
設定
 +
<pre>
 +
# you can disable an alarm notification by setting the 'to' line to: silent
 +
 
 +
  alarm: 30min_ram_swapped_out
 +
      on: system.swapio
 +
      os: linux freebsd
 +
  hosts: *
 +
  lookup: sum -30m unaligned absolute of out
 +
          # we have to convert KB to MB by dividing $this (i.e. the result of the lookup)$
 +
    calc: $this / 1024 * 100 / ( $system.ram.used + $system.ram.cached + $system.ram.free$
 +
  units: % of RAM
 +
  every: 1m
 +
#  warn: $this > (($status >= $WARNING)  ? (10) : (20))
 +
#  crit: $this > (($status == $CRITICAL) ? (20) : (30))
 +
    warn: $this > (($status >= $WARNING)  ? (99700000) : (99800000))
 +
    crit: $this > (($status == $CRITICAL) ? (99800000) : (99900000))
 +
  delay: up 0 down 15m multiplier 1.5 max 1h
 +
    info: the amount of memory swapped in the last 30 minutes, as a percentage of the sys$
 +
      to: sysadmin
 +
 
 +
  alarm: ram_in_swap
 +
      on: system.swap
 +
      os: linux
 +
  hosts: *
 +
    calc: $used * 100 / ( $system.ram.used + $system.ram.cached + $system.ram.free )
 +
  units: % of RAM
 +
  every: 10s
 +
#  warn: $this > (($status >= $WARNING)  ? (15) : (20))
 +
#  crit: $this > (($status == $CRITICAL) ? (40) : (50))
 +
    warn: $this > (($status >= $WARNING)  ? (99700000) : (99800000))
 +
    crit: $this > (($status == $CRITICAL) ? (99800000) : (99900000))
 +
  delay: up 30s down 15m multiplier 1.5 max 1h
 +
    info: the swap memory used, as a percentage of the system RAM
 +
      to: sysadmin
 +
 
 +
  alarm: used_swap
 +
      on: system.swap
 +
      os: linux freebsd
 +
  hosts: *
 +
    calc: $used * 100 / ( $used + $free )
 +
  units: %
 +
  every: 10s
 +
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
 +
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
 +
  delay: up 30s down 15m multiplier 1.5 max 1h
 +
    info: the percentage of swap memory used
 +
      to: sysadmin
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
リロード
 +
$ sudo netdatacli reload-health
 +
 
 +
Parent(親機)
 +
$ cd /etc/netdata/
 +
$ sudo ./edit-config health.d/ram.conf
 +
 
 +
設定
 +
<pre>
 +
# you can disable an alarm notification by setting the 'to' line to: silent
 +
 
 +
  alarm: used_ram_to_ignore
 +
      on: system.ram
 +
      os: linux freebsd
 +
  hosts: *
 +
    calc: ($zfs.arc_size.arcsz = nan)?(0):($zfs.arc_size.arcsz - $zfs.arc_size.min)
 +
  every: 10s
 +
    info: the amount of memory that is reported as used, but it is actually capable fo$
 +
 
 +
  alarm: ram_in_use
 +
      on: system.ram
 +
      os: linux
 +
  hosts: *
 +
#  calc: $used * 100 / ($used + $cached + $free)
 +
    calc: ($used - $used_ram_to_ignore) * 100 / ($used  + $cached + $free)
 +
  units: %
 +
  every: 10s
 +
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
 +
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
 +
  delay: down 15m multiplier 1.5 max 1h
 +
    info: system RAM used
 +
      to: sysadmin
 +
 
 +
  alarm: ram_available
 +
      on: mem.available
 +
      os: linux
 +
  hosts: *
 +
    calc: ($avail + $system.ram.used_ram_to_ignore) * 100 / ($system.ram.used + $syste$
 +
  units: %
 +
  every: 10s
 +
#  warn: $this < (($status >= $WARNING)  ? (15) : (10))
 +
#  crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
 +
    warn: $this < (($status >= $WARNING)  ? (7.5) : (5))
 +
    crit: $this < (($status == $CRITICAL) ? ( 5) :(2.5))
 +
  delay: down 15m multiplier 1.5 max 1h
 +
    info: estimated amount of RAM available for userspace processes, without causing s$
 +
      to: sysadmin
 +
 
 +
## FreeBSD
 +
  alarm: ram_in_use
 +
      on: system.ram
 +
      os: freebsd
 +
  hosts: *
 +
    calc: ($active + $wired + $laundry + $buffers - $used_ram_to_ignore) * 100 / ($act$
 +
  units: %
 +
  every: 10s
 +
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
 +
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
 +
  delay: down 15m multiplier 1.5 max 1h
 +
    info: system RAM usage
 +
      to: sysadmin
 +
 
 +
  alarm: ram_available
 +
      on: system.ram
 +
      os: freebsd
 +
  hosts: *
 +
    calc: ($free + $inactive + $used_ram_to_ignore) * 100 / ($free + $active + $inacti$
 +
  units: %
 +
  every: 10s
 +
    warn: $this < (($status >= $WARNING)  ? (15) : (10))
 +
    crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
 +
  delay: down 15m multiplier 1.5 max 1h
 +
    info: estimated amount of RAM available for userspace processes, without causing s$
 +
      to: sysadmin
 +
</pre>
 +
 
 +
保存: Ctrl + o > リターン<br />
 +
終了: Ctrl + x
 +
 
 +
リロード
 +
$ sudo netdatacli reload-health
 +
 
 +
====Email====
 +
[https://docs.netdata.cloud/health/notifications/email/ Email | Learn Netdata]
 +
 
 +
Parent(親機)
 +
 
 +
sSMTP<br />
 +
Gmail(二段階認証)を設定
 +
$ sudo apt-get install ssmtp
 +
$ sudo apt-get install mailutils
 +
 
 +
$ sudo nano /etc/ssmtp/ssmtp.conf
 +
 
 +
全てコメントアウトし末尾に追記<br />
 +
[https://support.google.com/mail/answer/185833?hl=ja アプリパスワード]を発行しpasswordに貼り付け<br />
 +
root=xxxxx@gmail.com
 +
mailhub=smtp.gmail.com:587
 +
AuthUser=xxxxx@gmail.com
 +
AuthPass=password
 +
UseSTARTTLS=YES
 +
 
 +
送信テスト
 +
$ mail *****@gmail.com
 +
Cc:
 +
Subject:test.
 +
This is test.
 +
「.」もしくはCtrl+Dで送信
 +
 
 +
登録<br />
 +
$ sudo /etc/netdata/edit-config health_alarm_notify.conf
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
確認
 +
$ sudo su -s /bin/bash netdata
 +
$ /usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]
 +
 
 +
$ sudo service netdata restart
 +
 
 +
停止<br />
 +
停止する場合
 +
$ sudo nano /etc/netdata/health_alarm_notify.conf
 +
 
 +
設定
 +
#SEND_EMAIL="YES"
 +
SEND_EMAIL="NO"
 +
保存: Ctrl + o リターン<br />
 +
終了: Ctrl + x
 +
 
 +
$ sudo service netdata restart
  
 
=='''更新履歴'''==
 
=='''更新履歴'''==
 +
* 2020.10.18 World Community Grid追加
 +
* 2020.10.11 全体に設定見直し
 
* 2020.05.19 cc_config.xml BOINC Manager 設定見直し
 
* 2020.05.19 cc_config.xml BOINC Manager 設定見直し
 
* 2020.05.03 書き直し
 
* 2020.05.03 書き直し
 
* 2020.04.06 公開
 
* 2020.04.06 公開

2020年10月20日 (火) 04:39時点における最新版

COVID-19の解析プロジェクトに参加してみます。

Boinc manager covid-19.jpg

IoT MONITOR
COVID-19-01 Rosetta@home
COVID-19-02 Rosetta@home
COVID-19-03 Rosetta@home
COVID-19-04 World Community Grid
COVID-19-05 Folding@home

具合

Wikipediaより

  • 2020年4月中旬、Folding@home は、TOP500の全スーパーコンピュータの合算を上回る能力を獲得した。
  • 2020年5月14日、World Community Grid は、OpenPandemics - COVID-19を開始した。
  • 2020年6月26日、Rosetta@home は、SARS-CoV-2ウイルスを中和する抗ウイルスタンパク質の作成に成功した。

動作

  • 3B+がサーマルスロットリングしきい値70度(最高設定値)を越えてしまうことがある。
  • Folding@home 動作確認中。

環境

SBC Raspberry Pi Zero, A+, 3A+, B, B+, 2B, 3B, 3B+, 4B
OS Raspberry Pi OS Lite 2020-08-20
ストレージ SanDisk microSDHC 16GB CLASS10
ネットワーク 標準搭載の有線LAN
リモート操作 Windows10

ヒートシンク 40×40×25
銅サイコロ 20×20×20
熱伝導性両面テープ 0.6W/m・K 200x300

下調べ

Rosetta@home - Wikipedia
Folding@home - Wikipedia
World Community Grid - Wikipedia

Rosetta@home

Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home - Pastebin.com
Running Rosetta (COVID-19 workunits) on Raspberry Pi 3B+ (how to guide) - reddit.com

Folding@home

Alternative Downloads - Folding@home
Manual installation (advanced) - Folding@home

World Community Grid

Volunteer your Raspberry Pi to IBM's World Community Grid - Raspberry Pi
Installing on Linux - World Community Grid - Help
System Requirements - World Community Grid - Help

動作環境

Raspberry Pi - Wikipedia
RPi HardwareHistory - eLinux.org

プラットフォーム
Rosetta@home … BOINC
Folding@home … FAH
World Community Grid … BOINC

CPU
Rosetta@home … ARMv8 (64bit)
Folding@home … ARMv8 (64bit)
World Community Grid … ARMv6, ARMv7, ARMv8 (64bit)

メモリ
Rosetta@home … 1GB以上
Folding@home … 確認中
World Community Grid … 250MB以上

多分動く辺り
Rosetta@home … 3B, 3B+, 4B
Folding@home … 確認中
World Community Grid … A以外

リモート環境

SSHリモート操作用にする

OS

Raspberry Pi Downloads
ヘッドレスセットアップ - Google 検索
microSDHC、モニター、キーボード、有線LANを取り付け電源ON または、ヘッドレスセットアップ
raspberrypi.local

raspberrypi login: pi
Password: raspberry

firmware

$ sudo rpi-update
$ sudo reboot

kernel

Rosetta@home, Folding@home のみ

$ sudo nano /boot/config.txt

末尾に追記

arm_64bit=1
gpu_mem=16

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ uname -a
aarch64

raspi-config

expand

$ sudo raspi-config
7.Advanced Options > A1 Expand Filesystem > <Ok> > tab > <Finish> > reboot<Yes>

keyboard

ヘッドレスセットアップでは設定できない

$ sudo raspi-config
4 Localisation Options > I3 Change Keyboard Layout > Generic 105-key PC (intl.) > Other > Japanese > Japanese > The default for the keyboard layout > No compose key > tab > <Finish>
$ sudo reboot

locale

$ sudo raspi-config
4 Localisation Options > I1 Change Locale >
[*] en_GB.UTF-8 UTF-8
[*] ja_JP.UTF-8 UTF-8 > スペースキー
> tab > <Ok> > ja_JP.UTF-8 > tab > <Finish>
$ sudo reboot

timezone

$ sudo raspi-config
4 Localisation Options > I2 Change Time Zone > アジア > 東京 > tab > <Finish>
$ sudo reboot

hostname

$ sudo raspi-config
2 Network Options > N1 Hostname > <Ok>

変更

covid-19
tab > OK > tab > <Finish> > <Yes>

raspberrypi.local > covid-19.local

SSH

$ sudo raspi-config
5 Interfacing Options > P2 SSH > <Yes> > <Ok> > tab > <Finish>

電源OFF

$ sudo shutdown -h now

モニター、キーボードを取り外し電源ON

SSH接続
Windows10のTera Term使用

ホスト: covid-19.local
ユーザ名: pi
パスフレーズ: raspberry

date

$ date
$ sudo date --set='2020/10/18 01:26:00'
$ date

update

$ sudo apt update
$ sudo apt upgrade

zram

$ sudo nano /usr/bin/zram.sh

設定

#!/bin/bash
cores=$(nproc --all)
modprobe zram num_devices=$cores
swapoff -a
totalmem=`free | grep -e "^Mem:" | awk '{print $2}'`
mem=$(( ($totalmem * 2 / $cores)* 1024 ))
modprobe deflate
modprobe zlib
modprobe lz4hc_compress
core=0
while [ $core -lt $cores ]; do
  echo deflate > /sys/block/zram$core/comp_algorithm ||
   echo zlib > /sys/block/zram$core/comp_algorithm ||
   echo lz4hc > /sys/block/zram$core/comp_algorithm ||
   echo lz4 > /sys/block/zram$core/comp_algorithm
# not sure which one this kernel has
  echo $mem > /sys/block/zram$core/disksize
  mkswap /dev/zram$core
  swapon --discard -p 5 /dev/zram$core # reclaim memory better
  let core=core+1
done

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo chmod +x /usr/bin/zram.sh
$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

/usr/bin/zram.sh &

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ zramctl

swap

$ sudo nano /etc/dphys-swapfile

変更

#CONF_SWAPSIZE=100
CONF_SWAPSIZE=2048

保存: Ctrl + o > リターン
終了: Ctrl + x
確認

$ sudo systemctl restart dphys-swapfile
$ swapon

service

$ sudo systemctl stop rsyslog
$ sudo systemctl disable rsyslog
$ sudo systemctl stop hciuart bluetooth
$ sudo systemctl disable hciuart bluetooth
$ sudo systemctl stop systemd-timesyncd systemd-timesync
$ sudo systemctl disable systemd-timesyncd systemd-timesync
$ sudo systemctl stop cron.service
$ sudo systemctl disable cron.service
$ sudo reboot

確認

$ systemctl list-units --type=service

journald

$ sudo nano /etc/systemd/journald.conf

末尾に追記

Storage=none

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

overclock

$ sudo nano /boot/config.txt

末尾に追記
2B のみ

arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=2

3B のみ

arm_freq=1350
core_freq=500
over_voltage=4

3B+ のみ

temp_soft_limit=70

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ vcgencmd measure_clock arm
$ echo $((`vcgencmd measure_clock arm | cut -c 15-`/1000/1000))

Folding@home

確認中
メモ

$ wget https://download.foldingathome.org/releases/beta/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.20_arm64.deb
$ sudo dpkg -i fahclient_7.6.20_arm64.deb
$ sudo reboot
$ sudo nano /etc/fahclient/config.xml
<allow v='127.0.0.1 192.168.1.0/24'/>
<web-allow v='127.0.0.1 192.168.1.0/24'/>
<command-allow-no-pass v='127.0.0.1 192.168.1.0/24'/>
$ sudo reboot
$ tail -f /var/lib/fahclient/log.txt
Uninstall
$ sudo dpkg -P fahclient

Windows10使用

http://<Raspberry Pi IP>:7396
https://download.foldingathome.org/releases/beta/release/fah-installer/windows-10-32bit/v7.6/fah-installer_7.6.20_x86.exe
FAHControl > Clients +Add > Connection > IP:<Raspberry Pi IP>, Port:36330
Remote Access > Allow > 127.0.0.1 192.168.1.0/24

Rosetta@home

$ sudo apt install boinc-client boinctui
$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<global_preferences>
    <run_if_user_active>1</run_if_user_active>
    <suspend_cpu_usage>100.000000</suspend_cpu_usage>
    <leave_apps_in_memory>0</leave_apps_in_memory>
    <confirm_before_connecting>0</confirm_before_connecting>
    <hangup_if_dialed>0</hangup_if_dialed>
    <dont_verify_images>0</dont_verify_images>
    <work_buf_min_days>1.000000</work_buf_min_days>
    <work_buf_additional_days>0.500000</work_buf_additional_days>
    <max_ncpus_pct>50.000000</max_ncpus_pct>
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
    <disk_interval>300.000000</disk_interval>
    <disk_max_used_gb>100.000000</disk_max_used_gb>
    <disk_max_used_pct>100.000000</disk_max_used_pct>
    <disk_min_free_gb>0.100000</disk_min_free_gb>
    <vm_max_used_pct>100.000000</vm_max_used_pct>
    <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
    <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
    <cpu_usage_limit>100.000000</cpu_usage_limit>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

アカウント
Rosetta@home

Windows10使用 
Join Rosetta@home > Sign Up > アカウントを作成する
Eメール: BBB@BBB.BBB, パスワード: CCCCCCCCC

設定

$ boinccmd --passwd AAAAAAAAA --lookup_account https://boinc.bakerlab.org/rosetta/ BBB@BBB.BBB CCCCCCCCC
status: Success
poll status: operation in progress
poll status: operation in progress
account key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update

確認

$ htop
$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

Boinccmd tool

プロジェクトのすべてのタスクを停止
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ suspend
プロジェクトを分離
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ detach_when_done
プロジェクトを元に戻す
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ allowmorework

World Community Grid

$ sudo apt install boinc-client boinctui
$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<global_preferences>
    <run_if_user_active>1</run_if_user_active>
    <suspend_cpu_usage>100.000000</suspend_cpu_usage>
    <leave_apps_in_memory>0</leave_apps_in_memory>
    <confirm_before_connecting>0</confirm_before_connecting>
    <hangup_if_dialed>0</hangup_if_dialed>
    <dont_verify_images>0</dont_verify_images>
    <work_buf_min_days>1.000000</work_buf_min_days>
    <work_buf_additional_days>0.500000</work_buf_additional_days>
    <max_ncpus_pct>50.000000</max_ncpus_pct>
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
    <disk_interval>300.000000</disk_interval>
    <disk_max_used_gb>100.000000</disk_max_used_gb>
    <disk_max_used_pct>100.000000</disk_max_used_pct>
    <disk_min_free_gb>0.100000</disk_min_free_gb>
    <vm_max_used_pct>100.000000</vm_max_used_pct>
    <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
    <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
    <cpu_usage_limit>100.000000</cpu_usage_limit>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

アカウント
World Community Grid - ホーム

Windows10使用 
いますぐ参加 > サインアップ > 電子メールアドレス: BBB@BBB.BBB, パスワード: CCCCCCCCC
プロジェクトを選択します > OpenPandemics-COVID-19
以降適当に
確認メール「Please verify your email address」が届く

アカウント・キーの確認
World Community Grid - マイ・プロファイル

アカウント・キー: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

設定

$ boinccmd --passwd AAAAAAAA --project_attach http://www.worldcommunitygrid.org EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
$ boinccmd --passwd AAAAAAAA --project http://www.worldcommunitygrid.org update

確認

$ htop
$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA

CPU温度

$ while true; do vcgencmd measure_temp; sleep 1s; done

Boinccmd tool

プロジェクトのすべてのタスクを停止
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org suspend
プロジェクトを分離
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org detach_when_done
プロジェクトを元に戻す
$ boinccmd --passwd AAAAAAAAA --project http://www.worldcommunitygrid.org allowmorework

BOINC Manager

Rosetta@home, World Community Grid のみ
Windows10使用

Install BOINC

ファイル > コンピュータの選択
計算機名(ホスト名): covid-19
パスワード: AAAAAAAAA

プロパティ修正
BOINC Managerを終了
BOINC Managerのアイコンを右クリック > プロパティ
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19 -p AAAAAAAAA
BOINC Managerを起動

チームに参加
Rosetta@home
rosetta@raspberrypi.linux.5ch

World Community Grid
World Community Grid - チーム

ログ
Rosetta@home

プロジェクト・サーバからのメッセージ: Rosetta needs 1716.61 MB RAM but only 963.00 MB is available for use.
プロジェクト・サーバからのメッセージ: Rosetta needs 1907.35 MB RAM but only 963.00 MB is available for use.
プロジェクト・サーバからのメッセージ: Rosetta needs 3814.70 MB RAM but only 963.00 MB is available for use.

延命化

fstab

$ sudo nano /etc/fstab

末尾に追記

tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0       0

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo reboot

確認

$ df -h

folder2ram

GitHub - bobafetthotmail/folder2ram

$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
$ sudo chmod +x /sbin/folder2ram
$ sudo folder2ram -configure
リターン
$ sudo nano /etc/folder2ram/folder2ram.conf

末尾に追記
boinc-client/slots はRosetta@home, World Community Grid のみ

tmpfs		/var/cache
tmpfs		/var/log
tmpfs		/var/tmp
tmpfs		/var/spool
tmpfs		/var/lib/boinc-client/slots

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo folder2ram -mountall
$ sudo folder2ram -enablesystemd
$ sudo reboot

確認

$ df -h

省電力化

HDMI

$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

tvservice --off

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Bluetooth

$ sudo nano /boot/overlays/README

終了: Ctrl + x

$ sudo nano /boot/config.txt

末尾に追記

dtoverlay=disable-bt

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Wi-Fi

$ sudo nano /boot/overlays/README

終了: Ctrl + x

$ sudo nano /boot/config.txt

末尾に追記

dtoverlay=disable-wifi

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

USB

GitHub - mvp/uhubctl

$ sudo apt-get install libusb-1.0-0-dev
$ cd ~
$ git clone https://github.com/mvp/uhubctl.git
$ cd uhubctl
$ make
$ sudo make install
$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

B+, 2B, 3B, 3B+ のみ

uhubctl -l 1-1 -p 2 -a 0

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Netdata メモ

fstab

$ sudo nano /etc/fstab

末尾に追記

tmpfs    /var/lib/netdata                  tmpfs    defaults,noatime,nodiratime,mode=1777  0       0

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo reboot

確認

$ df -h

BOINC

BOINC monitoring with Netdata | Learn

$ cd /etc/netdata
$ sudo ./edit-config python.d/boinc.conf

末尾に追記

remote:
  hostname: covid-19
  password: AAAAAAAAA

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo service netdata restart

Alarms

Health quickstart | Learn
swap.conf 役に立たないので停止 異常値を設定し発火させない
ram.conf しきい値調整
Parent(親機)とChild(子機)の場合Parent(親機)に設定

Parent(親機)

$ cd /etc/netdata/
$ sudo ./edit-config health.d/swap.conf

設定

# you can disable an alarm notification by setting the 'to' line to: silent

   alarm: 30min_ram_swapped_out
      on: system.swapio
      os: linux freebsd
   hosts: *
  lookup: sum -30m unaligned absolute of out
          # we have to convert KB to MB by dividing $this (i.e. the result of the lookup)$
    calc: $this / 1024 * 100 / ( $system.ram.used + $system.ram.cached + $system.ram.free$
   units: % of RAM
   every: 1m
#   warn: $this > (($status >= $WARNING)  ? (10) : (20))
#   crit: $this > (($status == $CRITICAL) ? (20) : (30))
    warn: $this > (($status >= $WARNING)  ? (99700000) : (99800000))
    crit: $this > (($status == $CRITICAL) ? (99800000) : (99900000))
   delay: up 0 down 15m multiplier 1.5 max 1h
    info: the amount of memory swapped in the last 30 minutes, as a percentage of the sys$
      to: sysadmin

   alarm: ram_in_swap
      on: system.swap
      os: linux
   hosts: *
    calc: $used * 100 / ( $system.ram.used + $system.ram.cached + $system.ram.free )
   units: % of RAM
   every: 10s
#   warn: $this > (($status >= $WARNING)  ? (15) : (20))
#   crit: $this > (($status == $CRITICAL) ? (40) : (50))
    warn: $this > (($status >= $WARNING)  ? (99700000) : (99800000))
    crit: $this > (($status == $CRITICAL) ? (99800000) : (99900000))
   delay: up 30s down 15m multiplier 1.5 max 1h
    info: the swap memory used, as a percentage of the system RAM
      to: sysadmin

   alarm: used_swap
      on: system.swap
      os: linux freebsd
   hosts: *
    calc: $used * 100 / ( $used + $free )
   units: %
   every: 10s
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
   delay: up 30s down 15m multiplier 1.5 max 1h
    info: the percentage of swap memory used
      to: sysadmin

保存: Ctrl + o > リターン
終了: Ctrl + x

リロード

$ sudo netdatacli reload-health

Parent(親機)

$ cd /etc/netdata/
$ sudo ./edit-config health.d/ram.conf

設定

# you can disable an alarm notification by setting the 'to' line to: silent

   alarm: used_ram_to_ignore
      on: system.ram
      os: linux freebsd
   hosts: *
    calc: ($zfs.arc_size.arcsz = nan)?(0):($zfs.arc_size.arcsz - $zfs.arc_size.min)
   every: 10s
    info: the amount of memory that is reported as used, but it is actually capable fo$

   alarm: ram_in_use
      on: system.ram
      os: linux
   hosts: *
#   calc: $used * 100 / ($used + $cached + $free)
    calc: ($used - $used_ram_to_ignore) * 100 / ($used  + $cached + $free)
   units: %
   every: 10s
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
   delay: down 15m multiplier 1.5 max 1h
    info: system RAM used
      to: sysadmin

   alarm: ram_available
      on: mem.available
      os: linux
   hosts: *
    calc: ($avail + $system.ram.used_ram_to_ignore) * 100 / ($system.ram.used + $syste$
   units: %
   every: 10s
#   warn: $this < (($status >= $WARNING)  ? (15) : (10))
#   crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
    warn: $this < (($status >= $WARNING)  ? (7.5) : (5))
    crit: $this < (($status == $CRITICAL) ? ( 5) :(2.5))
   delay: down 15m multiplier 1.5 max 1h
    info: estimated amount of RAM available for userspace processes, without causing s$
      to: sysadmin

## FreeBSD
   alarm: ram_in_use
      on: system.ram
      os: freebsd
   hosts: *
    calc: ($active + $wired + $laundry + $buffers - $used_ram_to_ignore) * 100 / ($act$
   units: %
   every: 10s
    warn: $this > (($status >= $WARNING)  ? (80) : (90))
    crit: $this > (($status == $CRITICAL) ? (90) : (98))
   delay: down 15m multiplier 1.5 max 1h
    info: system RAM usage
      to: sysadmin

   alarm: ram_available
      on: system.ram
      os: freebsd
   hosts: *
    calc: ($free + $inactive + $used_ram_to_ignore) * 100 / ($free + $active + $inacti$
   units: %
   every: 10s
    warn: $this < (($status >= $WARNING)  ? (15) : (10))
    crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
   delay: down 15m multiplier 1.5 max 1h
    info: estimated amount of RAM available for userspace processes, without causing s$
      to: sysadmin

保存: Ctrl + o > リターン
終了: Ctrl + x

リロード

$ sudo netdatacli reload-health

Email

Email | Learn Netdata

Parent(親機)

sSMTP
Gmail(二段階認証)を設定

$ sudo apt-get install ssmtp
$ sudo apt-get install mailutils
$ sudo nano /etc/ssmtp/ssmtp.conf

全てコメントアウトし末尾に追記
アプリパスワードを発行しpasswordに貼り付け

root=xxxxx@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=xxxxx@gmail.com
AuthPass=password
UseSTARTTLS=YES

送信テスト

$ mail *****@gmail.com
Cc:
Subject:test.
This is test.
「.」もしくはCtrl+Dで送信

登録

$ sudo /etc/netdata/edit-config health_alarm_notify.conf

保存: Ctrl + o リターン
終了: Ctrl + x

確認

$ sudo su -s /bin/bash netdata
$ /usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]
$ sudo service netdata restart

停止
停止する場合

$ sudo nano /etc/netdata/health_alarm_notify.conf

設定

#SEND_EMAIL="YES"
SEND_EMAIL="NO"

保存: Ctrl + o リターン
終了: Ctrl + x

$ sudo service netdata restart

更新履歴

  • 2020.10.18 World Community Grid追加
  • 2020.10.11 全体に設定見直し
  • 2020.05.19 cc_config.xml BOINC Manager 設定見直し
  • 2020.05.03 書き直し
  • 2020.04.06 公開