CGMiner 4.11.1 auf Raspberry Pi

Hard und Software
GekkoScience 2pac USB Miner
Raspberry Py 2
Lüfter / Kühlung für Miner

Voraussetzungen
Vorinstalliertes Raspian (Debian) auf SD-Karte mit ssh-Zugang.

Installation nach https://www.bitshopper.de/support/anleitungen/2pac/2pac-inbetriebnahme-linux-raspberry-pi/

Raspian aktualisieren

sudo apt-get update
sudo apt-get upgrade -y

Zusätzliche Pakete
Zusätzliche Pakete installieren um die Abhängigkeiten von CGminer aufzulösen:

sudo apt-get install -y build-essential git autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libusb-1.0-0-dev libncurses5-dev

build-essential – Compiler und Compile Werkzeuge
git – Source Code repository
autoconf – für den Build aus GIT nötig
automake – für frn Build aus GIT nötig
libtool pkg-config – shared library Zugriff für CGMine
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

CGMiner aus GIT klonen
Verzeichnis erstellen wo der CGMiner rein soll
git clone klont von github den aktuellen cgminer.

mkdir -p mining/2pac 
cd mining/2pac
sudo git clone https://github.com/vthoang/cgminer.git

CGMiner kompilieren
Der Parameter –enable-gekko aktiviert die GekkoScience Treiber für Compac und 2Pac Miner.

cd cgminer

sudo CFLAGS="-O2" ./autogen.sh --enable-gekko
sudo make -j 2

Binary testen
Das erzeugte Binary testen. Mit der Option -n werden alle angeschlossenen USB-Miner angezeigt.

./cgminer -n

Weitere Komandozeilenparameter sind z.B.
-D = Debug-Ausgabe aktivieren
-E =
-m =
-n = Alle USB-Geräte anzeigen
-P =
-Q =
-q = Protokollausgabe deaktivieren, Status und Fehler anzeigen
-U = URL
-V = Version anzeigen
-s =
-T =
-O = Benutzername:Passwort
-c = Konfigurationsdatei die geladen werden soll
-h = Hilfe

Inbetriebnahme
Betrieb bis 150MHZ mit Lüfter / Kühlung machbar. Ohne nur bis 100MHZ.

Leistung in GH/s = 0.11 * MHz

cd ~/mining/2pac/cgminer
sudo ./cgminer -o stratum+tcp://stratum.braiins.com:3333 -u hargil.BTC_01 -p anything123 --suggest-diff 32 --gekko-2pac-freq 100

-o = Pooldaten
-u = Benutzername Pool
-p = Passwort Pool

–gekko-2pac-freq =
–suggest-diff = Miner-Schwierigkeit

CG-Miner mit Konfigurationsdatei

Konfigurationsdatei
Anlegen und erstellen einer Konfigurationsdatei.

-> Verzeichnis erstellen
-> in das neue Verzeichnis wechseln
-> cgminer.conf erstellen

mkdir -p /home/pi/mining/2pac/config
cd /home/pi/mining/2pac/config
sudo nano cgminer.conf

https://www.lurkmore.com/view/Cgminer.conf#:~:text=cgminer.conf%20is%20the%20default%20configuration%20file%20for%20the,cgminer.conf%20is%20the%20best%20way%20to%20run%20cgminer.

{
"pools" : [
	{
		"url" : "stratum+tcp://stratum.braiins.com:3333",
		"user" : "hargil.BTC_01",
		"pass" : "anything123"
	}
]
,
"gekko-2pac-freq" : "125",
"kernel-path" : "/usr/local/bin"
}

CGMiner mit Konfigurationsdatei starten

sudo ./cgminer -c /home/pi/mining/2pac/config/cgminer.conf

Autostart

Autostart
Starten von CGMiner beim Systemstart / Autostart

Als erstes muss im Verzeichnis /etc/init.d/ ein Skript erstellt werden, mittels welchem der CGMiner gestartet wird.

sudo nano /etc/init.d/CGMiner
#! /bin/sh
### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
 
case "$1" in
    start)
        echo "CGMiner wird gestartet"
        # Starte den CGMiner Programm
        /home/pi/mining/2pac/cgminer/cgminer -c /home/pi/mining/2pac/config/cgminer.conf
        
        # Eine weitere Möglichkeit den Miner zu starten
        # screen -d -m -S cgminer sudo /home/pi/mining/2pac/cgminer/cgminer -c /home/pi/mining/2pac/config/cgminer.conf
        # -d
        # -m
        # -S
        ;;

    stop)
        echo "CGMiner wird beendet"
        # Beende Programm
        killall cgminer
        ;;
    *)
        echo "Benutzt: /etc/init.d/CGMiner {start|stop}"
        exit 1
        ;;
esac
 
exit 0

Rechte zuweisen

sudo chmod 755 /etc/init.d/CGMiner

Script testen

sudo /etc/init.d/CGMiner start

Scriptaufruf in die Autostartdatei eintragen

sudo update-rc.d CGMiner defaults

sudo update-rc.d -f CGMiner remove
sudo nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# CGMiner starten
/etc/init.d/CGMiner start

exit 0

Screen

https://wiki.ubuntuusers.de/Screen/

sudo apt-get install screen

screen – Startet den Fenstermanager

-c dateinameKonfigurationsfile laden
-ddetach
-h lineshistoryAnzahl der History-Linien die angezeigt werden.
– ls [match]
-listlistwie -ls
– m ignor $STY variable, do create a new screen session
– r [session]resumeReatach to a detached screen process
-S sitzungStartet eine neue Sitzung mit dem Namen „sitzung“
-t titleSet title (window’s name)
-vversionZeigt die Programmversion an
-wipe [match]
-x„attach“ mit einem nicht „detacht“ Screen (multi display mode)
–helpZeigt einen Hilfebildschirm an
Komandozeilenparameter
0 – 9Springt zum Terminal mit der entsprechenden Nummer; die Nummerierung beginnt bei 0
^B bbreak
CclearErstellt ein neues, leeres Fenster (terminal)
:colon
copy
^D ddetachTrennen der Verbindung zur aktuellen Sitzung, Sitzung läuft im Hintergrund weiter
^Vdisgraph
*display
:dumptermcap
Ffit
^F fflow
^Ifocus
hhardcopy
?helpÜbersicht über Tastaturkürzel / Online-Hilfe
{ }history
iinfo
K kkillBeendet den Screen
^M mlastmsg
,license
HlogSchreibt die Ausgaben des Terminals in ein Logfile mit Namen screenlog.<nummer>; als Nummer wird die Nummer des virtuellen Terminals angehängt. Die Wiederholung des Kommandos beendet das Mitschneiden.
Llogin
ameta
Mmonitor
nnextwechselt in das nächste virtuelle Terminal
Nnumber
Qonly
^Aother
Bpow-break
Dpow-detach
Ppreviouswechselt ins vorige virtuelle Terminal
\quitBeendet das Programm
<readbuf
^L lredisplay
Xremove
=removebuf
Zreset
^C cscreenErstellt ein neues, leeres Fenster (terminal)
select
_silence
Ssplit
^Z zsuspend
^T ttimeZeigt die aktuelle Systemzeit an
AtitleTerminalbezeichnung umbenennen
^Gvbel
vversionZeigt die Programmversion an
Wwidth
^R rwrap
>writebuf
^S sxoff
^Q qxon
Wechseln zwischen den einzelnen Fenstere einer Sitzung
windwoslistBlendet eine Liste der Terminals ein; mit den Pfeiltasten navigieren Sie in der Liste, mit [Eingabe] wechseln Sie zum Fenster unter der Markierung.
WBlendet für ein paar Sekunden eine Statuszeile am unteren Fensterrand ein, welche die Anzahl der geöffneten Fenster (und deren Namen) anzeigt.
Tastaturkürzel von Screen

Testen ob der CGMiner läuft

mit top, htop oder ps

CGminer 4.12.1 GekkoScience

Beschreibt die Installation von CGminer 4.12.1 GekkoScience auf einem Raspberry Pi 2. Beim CGminer 4.12.1 von „wareck“ handelt es sich um eine speziell für die USB Miner Compac, 2pac, Newpac und CompacF angepasste Version.

Weitere Informationen gibt es bei github.

Hard und Software
GekkoScience CompacF USB Miner
Raspberry Pi 2
Lüfter / Kühlung für Miner

Voraussetzungen
Vorinstalliertes und aktualisiertes Raspian (Debian stretch) auf SD-Karte mit ssh-Zugang.

Zusätzliche Pakete
Zusätzliche Pakete installieren um die Abhängigkeiten von CGminer aufzulösen:

sudo apt-get install build-essential git autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libjansson-dev libncurses5-dev libusb-1.0-0-dev zlib1g-dev -y

build-essential – Compiler und Compile Werkzeuge
git – Source Code repository
autoconf – für den Build aus GIT nötig
automake – für frn Build aus GIT nötig
libtool pkg-config – shared library Zugriff für CGMine
pkg-config – Für Build und Kompilierung benötigt
libcurl4-openssl-dev – http connectivity für CGMiner
libudev-dev – USB support für CGMiner
libjansson-dev – C-Bibliothek für JSON-Daten
libncurses5-dev –  Textbasiertes User Interface für CGMiner
libusb-1.0-0-dev – USB support für CGMiner
zlib1g-dev – Kompressionsbibliothek

CGMiner aus GIT klonen
git clone klont von github den aktuellen CGminer-gekko.

sudo git clone https://github.com/wareck/cgminer-gekko.git

CGMiner kompilieren
Der Parameter –enable-gekko aktiviert die GekkoScience Treiber.

cd cgminer-gekko
sudo usermod -a -G dialout,plugdev $USER
sudo cp 01-cgminer.rules /etc/udev/rules.d/
sudo CFLAGS="-O2 -march=native" ./autogen.sh
sudo ./configure --enable-gekko
make
sudo make install

Binary testen
Das erzeugte Binary testen. Mit der Option -n werden alle angeschlossenen USB-Miner angezeigt.

./cgminer -n

Inbetriebnahme

sudo  ./cgminer -o stratum+tcp://stratum.braiins.com:3333 -u hargil.BTC_02 -p anything123 --suggest-diff 32 --gekko-compacf-freq 250

weitere mögliche Gekko-Parameter

  --gekko-compac-freq <clock>   Chip clock speed (MHz) default is 200 Mhz
  --gekko-2pac-freq <clock> Chip clock speed (Mhz) default is 150 Mhz 
  --gekko-newpac-freq <clock> Chip clock speed (Mhz) default is 150 Mhz
  --gekko-compacf-freq <clock>
  --gekko-r606-freq <clock> Set GekkoScience Terminus R606 frequency in MHz, range 50-900 (default: 550)
  --gekko-terminus-detect Detect GekkoScience Terminus BM1384
  --suggest-diff <value> Limit diff for starting mine default is 32