diff --git a/patch_and_build.sh b/patch_and_build.sh new file mode 100755 index 0000000..a7727f8 --- /dev/null +++ b/patch_and_build.sh @@ -0,0 +1,49 @@ +#!/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