ROCKPro64 System, Part 2
After my initial setup I found I was unable to format my SATA SSD drives. After trying various things and reading about others with similar problems I determined that I had a bad SATA interface card. The PCI-e SATA card I bought from Pine64 store only cost $9.99, so I didn't mind too much having to get a better one. I bought a JESOT SATA Card from Amazon for just $24.99 which came with an 8cm back bracket that fits perfectly in my Pine64 NAS case.
Now that I have a working SATA card I was able to proceed with formating my SSD drive and building and installing the bitcoind software. The steps I followed are:
-
update apt and install LVM
sudo apt update sudo apt install lvm2
-
add a new
bitcoin
system user and groupsudo adduser --system --home /var/lib/bitcoind --group bitcoin
-
identify and create partitions for the whole disk on my two SATA SSD drive
sudo /sbin/lvmdiskscan fdisk /dev/sda fdisk /dev/sdb
-
create LVM physical volumes, volume group, and logical volume
sudo pvcreate /dev/sda1 sudo pvcreate /dev/sdb1 sudo vgcreate rockpro64 /dev/sda1 /dev/sdb1 sudo lvcreate -n bitcoin -L 500g rockpro64
-
format my new 500GB logical volume, identify it's UUID and mount it via fstab
sudo mkfs.ext4 /dev/rockpro64/bitcoin sudo mkdir /var/lib/bitcoind sudo chown bitcoin:bitcoin /var/lib/bitcoind sudo blkid sudo vi /etc/fstab
add line to /etc/fstab:
UUID=<THE UUID OF MY NEW LOGICAL PARTITION> /var/lib/bitcoind ext4 errors=remount-ro 0 1
-
install git and other tools needed to build the bitcoind software
sudo apt install git sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libdb-dev libdb++-dev libevent-dev
-
clone and build bitcoind
git clone https://github.com/bitcoin/bitcoin cd bitcoin git checkout v0.19.1 ./autogen.sh ./configure --without-gui --with-incompatible-bdb make -j4
-
install the bitcoin binaries
cd src sudo install -sv bitcoind bitcoin-cli /usr/local/bin sudo chown bitcoin:bitcoin /usr/local/bin/bitcoin*
-
copy and install default bitcoin.conf
sudo mkdir /etc/bitcoin sudo chown bitcoin:bitcoin /etc/bitcoin sudo cp share/examples/bitcoin.conf /etc/bitcoin sudo chown bitcoin:bitcoin /etc/bitcoin/bitcoin.conf
-
copy, edit, and install bitcoind.service
sudo mkdir /usr/lib/systemd/system sudo cp contrib/init/bitcoind.service /usr/lib/systemd/system
change bitcoind path in bitcoind.service to /usr/local/bin/bitcoind
vi /usr/lib/systemd/system/bitcoind.service
-
create /run/bitcoind directory, reload systemd services and start the bitcoin daemon!
sudo mkdir /run/bitcoind sudo chown bitcoin:bitcoin /run/bitcoind sudo systemctl daemon-reload sudo systemctl start bitcoind
-
finally I checked the status of my initial block download by tailing the debug.log
sudo tail -f /var/lib/bitcoind/debug.log
After a few hours I'm almost 25% done with syncing:
2020-03-18T03:49:29Z UpdateTip: new best=000000000000000000b0051a304dddb1e8a308f768362234bc9d1000856488ae height=410146 version=0x20000000 log2_work=84.597965 tx=126645632 date='2016-05-04T05:10:24Z' progress=0.245593 cache=351.3MiB(2403347txo)
And my small but mighty RockPro64 is barely breaking a sweat:
sudo armbianmonitor -M Stop monitoring using [ctrl]-[c] Time big.LITTLE load %cpu %sys %usr %nice %io %irq CPU C.St. 21:01:35: 1800/1512MHz 1.62 18% 3% 13% 0% 1% 0% 52.2°C 0/3