setup_cpu.sh 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. #!/bin/bash
  2. set -e
  3. script_version="1.50b"
  4. rdate="22/12/2018"
  5. remote_folder="http://wareck.free.fr/openrig"
  6. if [ $UID -ne 0 ]
  7. then
  8. echo -e "\n\e[91mPlease run this script as ROOT : sudo ./setup.sh \e[0m"
  9. echo
  10. sleep 1
  11. exit
  12. fi
  13. echo ""
  14. echo -n -e " \e[97m\u2554"
  15. for i in {1..36}; do echo -e -n "\u2550"; done
  16. echo -e "\u2557\e[0m"
  17. echo -e " \e[97m\u2551 CPU mining Auto-install \e[93m"V$script_version"\e[0m\e[97m \u2551\e[0m"
  18. echo -e " \e[97m\u2551 Release date: \e[93m"$rdate"\e[0m\e[97m \u2551\e[0m"
  19. echo -e " \e[97m\u2551 wareck@gmail.com \u2551\e[0m"
  20. echo -n -e " \e[97m\u255A"
  21. for j in {1..36}; do echo -e -n "\u2550";done
  22. echo -e -n "\u255D\e[0m"
  23. echo
  24. echo -e "\n\e[95mSystem Update :\e[0m"
  25. sudo apt-get update
  26. sudo apt-get install automake autoconf libtool libmicrohttpd-dev libjansson-dev cmake pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++ -y
  27. echo -e "\e[97mDone !\e[0m"
  28. echo -e "\n\e[95mDownload sources :\e[0m"
  29. cd ~
  30. if ! [ -d cpuminer-multi ]
  31. then
  32. git clone https://github.com/tpruvot/cpuminer-multi.git && echo
  33. fi
  34. if ! [ -d cpuminer-opt ]
  35. then
  36. git clone https://github.com/JayDDee/cpuminer-opt.git && echo
  37. fi
  38. if ! [ -d cpuminer-xzc ]
  39. then
  40. git clone https://github.com/aizensou/cpuminer-xzc.git && echo
  41. fi
  42. if ! [ -d xmr-stak_cpu ]
  43. then
  44. git clone https://github.com/fireice-uk/xmr-stak-cpu.git xmr-stak_cpu && echo
  45. fi
  46. if ! [ -d xmrig_cpu ]
  47. then
  48. git clone https://github.com/xmrig/xmrig.git xmrig_cpu
  49. fi
  50. echo -e "\n\e[95mBuild cpuminer-multi:\e[0m"
  51. cd ~/cpuminer-multi
  52. ./build.sh
  53. echo -e "\e[97mDone !\e[0m"
  54. echo -e "\n\e[95mBuild cpuminer-opt:\e[0m"
  55. cd ~/cpuminer-opt
  56. ./build.sh
  57. echo -e "\e[97mDone !\e[0m"
  58. echo -e "\n\e[95mBuild cpuminer-xzc:\e[0m"
  59. cd ~/cpuminer-xzc
  60. ./build.sh
  61. echo -e "\e[97mDone !\e[0m"
  62. echo -e "\n\e[95mBuild xmr-stak-cpu:\e[0m"
  63. cd /tmp/
  64. if ! [ -f hwloc-1.11.8.tar.gz ]
  65. then
  66. wget http://wareck.free.fr/grinder/hwloc-1.11.8.tar.xz
  67. tar xvfJ hwloc-1.11.8.tar.xz
  68. fi
  69. cd hwloc-1.11.8
  70. ./autogen.sh
  71. ./configure --prefix=/usr/local
  72. make -j $(nproc)
  73. make install
  74. echo ""
  75. cd ~
  76. chown -R work xmr-stak_cpu
  77. cd xmr-stak_cpu
  78. git pull
  79. if [ -d build ]
  80. then
  81. rm -r build
  82. fi
  83. mkdir build
  84. sed -i -e "s/= 2.0/= 0.0/g" donate-level.h
  85. cd build
  86. cmake ..
  87. make $(if $(THREADS="-j$(($(tail -c 2 /sys/devices/system/node/node0/cpulist 2>/dev/null)+2))"); then echo $THREADS; fi)
  88. cd ~
  89. if [ -f ~/xmr-stak-cpu ];
  90. then
  91. sudo rm ~/xmr-stak-cpu;
  92. fi
  93. sudo cp xmr-stak_cpu/build/bin/xmr-stak-cpu /usr/local/bin/xmr-stak-cpu
  94. cd ~
  95. if ! [ -f xmrstak-cpu ]
  96. then
  97. ln -s /usr/local/bin/xmr-stak-cpu ~/xmr-stak-cpu | true
  98. fi
  99. echo
  100. if ! grep -q "vm.nr_hugepages=256" /etc/sysctl.conf
  101. then
  102. sudo bash -c 'echo "vm.nr_hugepages=256" >> /etc/sysctl.conf'
  103. sudo bash -c 'sysctl -p'
  104. fi
  105. echo -e "\e[97mDone !\e[0m"
  106. echo -e "\n\e[95mInstall xmrig-cpu:\e[0m"
  107. cd ~
  108. cd /tmp/
  109. if ! [ -d libuv ]; then git clone https://github.com/libuv/libuv.git ;fi
  110. cd libuv
  111. ./autogen.sh
  112. ./configure
  113. make -j $(nproc)
  114. sudo make install
  115. sudo ldconfig
  116. cd ~
  117. cd xmrig_cpu
  118. if ! [ -f patch_donate.patch ]
  119. then
  120. cat <<'EOF'>> patch_donate.patch
  121. diff --git a/src/donate.h b/src/donate.h
  122. index 46f26b7..67a9cb0 100644
  123. --- a/src/donate.h
  124. +++ b/src/donate.h
  125. @@ -43,8 +43,8 @@
  126. * XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8n$
  127. * BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT
  128. */
  129. -constexpr const int kDefaultDonateLevel = 5;
  130. -constexpr const int kMinimumDonateLevel = 1;
  131. +constexpr const int kDefaultDonateLevel = 0;
  132. +constexpr const int kMinimumDonateLevel = 0;
  133. #endif /* __DONATE_H__ */
  134. EOF
  135. patch -p1 <patch_donate.patch
  136. fi
  137. if ! [ -d build ];then mkdir build; fi
  138. cd build
  139. cmake ..
  140. make -j $(nproc)
  141. cd ~
  142. if ! [ -f xmrig-cpu ]
  143. then ln -s xmrig_cpu/build/xmrig xmrig-cpu
  144. fi
  145. echo "Done."
  146. echo -e "\n\e[95mAdd autostart miner_cpu.sh :\e[0m"
  147. if ! grep --quiet "su work -c '/home/work/miner_cpu.sh'" /etc/rc.local
  148. then
  149. sed -i "s/exit 0//g" /etc/rc.local
  150. RC_LOCAL_CMD0="su work -c '/home/work/miner_cpu.sh'"
  151. echo $RC_LOCAL_CMD0 >>/etc/rc.local
  152. echo "exit 0" >>/etc/rc.local
  153. fi
  154. echo -e "\e[97mDone !\e[0m"
  155. echo -e "\n\e[95mbuild miner_cpu.sh:\e[0m"
  156. cd ~
  157. if [ -f miner_cpu.sh ]; then rm miner_cpu.sh; fi
  158. cat <<'EOF'>> miner_cpu.sh
  159. #!/bin/bash
  160. # version 1.0 12/07/2018
  161. screen -S cpu -X quit
  162. ##-------MINER-----
  163. echo "start cpuminer."
  164. ##Lyra2z
  165. #screen -dmS cpu ~/cpuminer-xzc/cpuminer -a Lyra2z -o stratum+tcp://lyra2z.in.nicehash.com:3365 -u 16F8V2EnHCNPVQwTGLifGHCE12XTnWPG8G -p password
  166. screen -dmS cpu ~/cpuminer-opt/cpuminer -a Lyra2z -o stratum+tcp://lyra2z.eu.nicehash.com:3365 -u 16F8V2EnHCNPVQwTGLifGHCE12XTnWPG8G -p password
  167. echo "use 'screen -x cpu' to see miner activity"
  168. EOF
  169. chown work miner_cpu.sh
  170. chmod +x miner_cpu.sh
  171. echo -e "\e[97mDone !\e[0m"
  172. echo