環境
- 製品 : Synology DS720+
- DSMバージョン : DSM 7.0.1-42218
- メモリを10GBに拡張済み
- Docker
- パッケージセンターより20.10.3-1239をインストール済み
コンテナ作成
- レジストリよりubuntu:latestをダウンロードする。
- 詳細設定より、任意のDSM上のフォルダを/dataにマウントする。(後で利用するため)
- その他は特に変更せずダウンロードしたイメージからコンテナを作成する。
端末に接続
- 起動したコンテナの詳細画面より端末に接続する。
- これ以降の手順でDSM画面上の端末にコマンドを貼り付ける際、一度Ctrl+Aを入力してプレフィックスモードに入ってからCtrl+Vで貼り付けることができる。
- docker上の操作ではsudoを付ける必要はない(?)
XMRigをビルド
必要なパッケージをインストール
利用しているイメージは最低限のコマンドしか利用できないため、必要なパッケージをインストールする。
apt-get update
apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev -y
tzdataの設定時にタイムゾーンを訊ねられた場合は、Asia、Tokyoとなるように選択する。
ソースコードを取得
cd ~
git clone https://github.com/xmrig/xmrig.git
ソースコードを編集
デフォルトでは寄付の割合が1%と設定されているため、0%に変更する。
sed -i -e "s/DonateLevel = 1;/DonateLevel = 0;/g" ~/xmrig/src/donate.h
ビルド
mkdir xmrig/build && cd xmrig/build
cmake ..
make -j$(nproc)
configurationsファイルを用意する
こちらのドキュメントやデフォルト設定ファイル、ウィザードを参考にconfig.jsonファイルを用意し、コンテナにマウントしているフォルダに配置する。
以下はnicehashを利用する設定ファイルの例。
{
    "autosave": true,
    "cpu": true,
    "opencl": false,
    "cuda": false,
    "pools": [
        {
            "coin": null,
            "algo": "rx/0",
            "url": "randomxmonero.usa-west.nicehash.com:3380",
            "user": "<マイニングウォレットアドレス>.synology",
            "pass": "x",
            "tls": false,
            "keepalive": true,
            "nicehash": true
        }
    ]
}
XMRigを実行
~/xmrig/build/xmrig -c /data/config.json
以下のような初期表示が出力された後にマイニングが開始される。
 * ABOUT        XMRig/6.16.2 gcc/9.3.0
 * LIBS         libuv/1.34.2 OpenSSL/1.1.1f hwloc/2.1.0
 * HUGE PAGES   supported
 * 1GB PAGES    disabled
 * CPU          Intel(R) Celeron(R) J4125 CPU @ 2.00GHz (1) 64-bit AES
                L2:4.0 MB L3:0.0 MB 4C/4T NUMA:1
 * MEMORY       7.1/9.6 GB (74%)
 * DONATE       0%
 * ASSEMBLY     auto:intel
 * POOL #1      randomxmonero.usa-west.nicehash.com:3380 algo rx/0
 * COMMANDS     hashrate, pause, resume, results, connection
 * OPENCL       disabled
 * CUDA         disabled
randomxmoneroをrx/0アルゴリズムでマイニングした際に315 H/sほど出る模様。