Vorbereitung
Ich empfehle für die erfolgreiche Inbetriebnahme von CGMiner für den Compac F auf Linux folgende Betriebssystemversionen
- Ubuntu 24.04 LTS (Noble Numbat) oder höher
- Raspberry PI OS Legacy, 32-bit (Bullseye) für den Raspberry Pi 4, Pi 5 oder Pi Zero 2 W
Hinweis: Die aktuellste Version des Raspberry PI OS auf Basis Debian Bookworm hat Stand Juli 2024 Probleme beim Bauen und einbinden der CGMiner API. Ich empfehle daher den Einsatz der Vorgängerversion auf Basis Debian Bullseye.
Erster Schritt ist die Aktualisierung des Systems und bereits installierter Pakete:
sudo apt-get update
sudo apt-get upgrade -y
Paketabhängigkeiten
Folgende Pakete müssen installiert werden, um die Paketabhängigkeiten von CGMiner aufzulösen:
- build-essential: Compiler und Compile-Werkzeuge
- autoconf: Für den Build aus GIT benötigt.
- automake: Für den Build aus GIT benötigt.
- libtool: shared library Zugriff für CGMiner
- pkg-config: Für Build und Kompilierung benötigt
- libcurl4-openssl-dev: http connectivity für CGMiner
- libudev-dev: USB support für CGMiner
- libusb-1.0-0-dev: USB support für CGMiner
- libncurses5-dev: Textbasiertes User Interface für CGMiner
- zlib1g-dev: Kompressions-Library
- git: source code repository
sudo apt-get install -y build-essential autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libusb-1.0-0-dev libncurses5-dev zlib1g-dev git
Build
Jetzt den CGMiner Branch von Kanos GIT Repository klonen:
mkdir -p mining/compacf; cd mining/compacf
git clone https://github.com/kanoi/cgminer.git
cd cgminer
Dann das cgminer Binary kompilieren (kann je nach verwendeter Hardware einige Minuten dauern):
CFLAGS="-O2 -march=native -fcommon" ./autogen.sh --enable-gekko --enable-icarus
make
Zum Schluss noch OpenJDK für die Verwendung der Java API installieren:
sudo apt-get install -y openjdk-8-jre-headless
Wenn Sie den CGMiner als Command systemweit installieren möchten (ohne jedesmal in den Build Ordner wechseln zu müssen), ergänzen Sie noch ein:
sudo make install
Danach empfehle ich das neu kompilierte Binary folgendermaßen getestet werden:
sudo ./cgminer -n
oder falls Sie CGMiner systemweit installiert haben (aus jedem beliebigen Ordner ausführbar):
sudo cgminer -n
Dieses Kommando listet die erkannten Miner auf. Beispielausgabe “Compac F BM1397 Bitcoin Miner”.
Inbetriebnahme
Ich empfehle die Einrichtung einer Konfigurationsdatei, das ist im Vergleich zum Start des CGMiner mit Konsolenparametern viel übersichtlicher.
Beispiel einer gekko.conf Konfigurationsdatei:
{
"pools" : [
{
"url" : "stratum+tcp://stratum.kano.is:3333",
"user" : "benutzername.worker",
"pass" : "x"
}
],
"gekko-compaca1-start-freq" : "300",
"gekko-compaca1-freq" : "300",
"gekko-compaca1-corev" : "300",
"gekko-compaca1-detect" : true,
"gekko-r909-freq" : "450",
"gekko-r909-detect" : true,
"gekko-compacf-freq" : "400",
"gekko-compacf-detect" : true,
"gekko-tune2" : "60",
"suggest-diff" : "442",
"failover-only" : true,
"api-listen" : true,
"api-port" : "4028",
"api-allow" : "W:192.168.1.0/24,W:127.0.0.1"
}
So starten Sie CGMiner mit Konfigurationsdatei:
./cgminer -c gekko.conf
So sieht die Kommandozeile zum Beispiel ohne Konfigurationsdatei aus
./cgminer --o stratum+tcp://stratum.kano.is:3333 -u 1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr -p x --suggest-diff 442 --gekko-compacf-freq 400 --gekko-compacf-detect true
Bitte tauschen Sie in oben genannten Beispielen sowohl die Pool-Daten als auch Benutzername und Worker gegen eigene Pooldaten, Benutzerdaten und Worker aus.
Je nach Einsatzzweck empfiehlt es sich, die Ausgabe von CGMiner in eine Logdatei zu protokollieren:
./cgminer -c gekko.conf 2> "run-`date +%Y%m%d%H%M%S`.log"
Alternativ können Sie den CGMiner auch in ein Shell-Skript packen, das eine Logdatei mitschreibt:
touch cgminer.sh
sudo nano cgminer.sh
Inhalt des Shell-Scripts:
#!/bin/sh
#
while true ; do
now="`date +%Y%m%d%H%M%S`"
#
./cgminer -c gekko.conf "$@" 2> "run.$now.log"
#
echo "Sleeping for 5 seconds ..."
sleep 5
done
Danach noch das Shell-Skript ausführbar machen:
chmod +x cgminer.sh
Das „$@“ bedeutet, dass Sie zusätzliche Parameter an das Shell-Skript übergeben können, die dem laufenden cgminer hinzugefügt werden sollen, z. B um asicboost abzuschalten.
./cgminer.sh --gekko-noboost
Zubehör
Der Miner benötigt insbesondere zum Betrieb mit einem Raspberry Pi einen USB Hub mit aktiver Stromversorgung, der in der Lage ist, mindestens 3 A pro USB Port zur Verfügung zu stellen. Gute Erfahrungen haben wir mit USB 2.0 Geräten von Anker und Orico gemacht. Unser 7-Port USB Hub verfügt über selbstrückstellende Sicherungen an jedem Port und kann bis zu 6 Ampere pro Port zur Verfügung stellen.
Das Compac F Hardwaredesign ist auf hohe Leistung ausgelegt und benötigt gute Kühlung. Schon 1-2 Minuten ohne Kühlung kann Bauteile auf der Platine beschädigen. Daher ist gute Kühlung unerlässlich. Gute Erfahrungen haben wir mit dem Arctic Breeze Mobile 92 mm gemacht. Sehr leise, leistungsstark und langlebig. Alternativ bieten wir den Compac F auch mit Snap-on Lüfter an, der mit einem USB-Splitter am USB Hub betrieben werden kann. Der hier verbaute Sunon 40 mm Lüfter bietet ausreichende Kühlung bei nur 23 Dezibel Lautstärke.