環境
- 製品 :
Jetson Nano 4GB(A02)
- OS :
jetson-nano-jp46-sd-card-image.zip
を利用してセットアップ済み
システムアップデート
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
# 再起動
sudo reboot
XMRigをビルド
必要なパッケージをインストール
sudo apt-get update
sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev -y
ソースコードを取得
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)
CUDAプラグインをビルド
Jetson NanoではCUDAを利用するため、CUDAプラグインをビルドして利用する。
cd ~
git clone https://github.com/xmrig/xmrig-cuda.git
mkdir xmrig-cuda/build && cd xmrig-cuda/build
cmake .. -DCUDA_LIB=/usr/local/cuda/lib64/stubs/libcuda.so -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda
make -j$(nproc)
configurationsファイルを用意する
こちらのドキュメントやデフォルト設定ファイル、ウィザードを参考にconfig.json
ファイルを用意し、任意のフォルダに配置する。
(今回は~/config.json
に配置する。)
以下はnicehash
を利用する設定ファイルの例。"cuda" → "loader"
の項目はビルドしたCUDAプラグインのライブラリまでのフルパスを指定する必要があることに注意。
{
"autosave": true,
"cpu": true,
"opencl": false,
"cuda": {
"enabled": true,
"loader": "/home/<ユーザー名>/xmrig-cuda/build/libxmrig-cuda.so"
},
"pools": [
{
"coin": null,
"algo": "cn/r",
"url": "cryptonightr.usa-west.nicehash.com:3375",
"user": "<マイニングウォレットアドレス>.jetsonnano",
"pass": "x",
"tls": false,
"keepalive": true,
"nicehash": true
}
]
}
XMRigを実行
~/xmrig/build/xmrig -c ~/config.json
以下のような初期表示が出力された後にマイニングが開始される。
* ABOUT XMRig/6.16.1 gcc/7.5.0
* LIBS libuv/1.18.0 OpenSSL/1.1.1 hwloc/1.11.9
* HUGE PAGES supported
* 1GB PAGES unavailable
* CPU ARM Cortex-A57 (1) 64-bit AES
L2:2.0 MB L3:0.0 MB 4C/4T NUMA:1
* MEMORY 1.0/3.9 GB (27%)
* DONATE 0%
* POOL #1 cryptonightr.usa-west.nicehash.com:3375 algo cn/r
* COMMANDS hashrate, pause, resume, results, connection
* OPENCL disabled
* CUDA 10.2/10.2/6.15.1
* NVML disabled (failed to load NVML)
* CUDA GPU #0 00:00.0 NVIDIA Tegra X1 921/12 MHz smx:1 arch:53 mem:2906/3964 MB
cryptonightr
をcn/r
アルゴリズムでCPU・GPU両方利用してマイニングした際に29 H/s
ほど出る模様。
バックグラウンドで実行
バックグラウンドで実行すれば、実行後にsshクライアントから切断しても処理が継続される。
sudo apt-get install screen
screen -d -m ~/xmrig/build/xmrig -c ~/config.json