#!/bin/bash # Patch code for SHA256 support and rebuild if [ "$EUID" -ne 0 ]; then echo "Bitte als root ausführen." exit 1 fi echo "=== Stoppe Miner ===" systemctl stop necrohash-miner echo "=== Bereinige alte Build-Dateien ===" cd /tmp rm -rf cgminer-gc3355 echo "=== Clone dtbartle/cgminer-gc3355 ===" git clone https://github.com/dtbartle/cgminer-gc3355.git cd cgminer-gc3355 echo "=== Patche driver-gridseed.c für SHA256/Scrypt Switching ===" # Patch 1: gc3355_init - nur LTC Reset senden wenn Scrypt aktiv sed -i 's/gc3355_send_cmds(gridseed, str_ltc_reset);/if (opt_scrypt) gc3355_send_cmds(gridseed, str_ltc_reset);/' driver-gridseed.c # Patch 2: gridseed_prepare_work - nur LTC Reset senden wenn Scrypt aktiv # Hier müssen wir vorsichtiger sein mit sed, da der Kontext wichtig ist. # Wir suchen nach der Zeile und ersetzen sie. sed -i 's/gc3355_send_cmds(gridseed, str_ltc_reset);/if (opt_scrypt) gc3355_send_cmds(gridseed, str_ltc_reset);/' driver-gridseed.c echo "=== Konfiguriere Build ===" export CFLAGS="-fcommon -O2" if [ -f "./autogen.sh" ]; then ./autogen.sh else autoreconf -ivf fi # Wir aktivieren BEIDES (SHA und Scrypt), damit das Runtime-Flag (opt_scrypt) greift ./configure --enable-gridseed --enable-scrypt --without-curses echo "=== Kompiliere... ===" make -j1 echo "=== Installiere ===" make install echo "=== Fertig ===" echo "Starte Miner neu..." systemctl start necrohash-miner