setup_cpu.sh 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. #!/bin/bash
  2. set -e
  3. script_version="0.3b"
  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 https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.8.tar.gz
  67. tar xzvf hwloc-1.11.8.tar.gz
  68. fi
  69. cd hwloc-1.11.8
  70. ./configure --prefix=/usr/local
  71. make
  72. sudo make install
  73. echo ""
  74. cd ~
  75. chown -R work xmr-stak_cpu
  76. cd xmr-stak_cpu
  77. git pull
  78. if [ -d build ]
  79. then
  80. rm -r build
  81. fi
  82. mkdir build
  83. sed -i -e "s/= 2.0/= 0.0/g" donate-level.h
  84. cd build
  85. cmake ..
  86. make $(if $(THREADS="-j$(($(tail -c 2 /sys/devices/system/node/node0/cpulist 2>/dev/null)+2))"); then echo $THREADS; fi)
  87. cd ~
  88. if [ -f ~/xmr-stak-cpu ];
  89. then
  90. sudo rm ~/xmr-stak-cpu;
  91. fi
  92. sudo cp xmr-stak_cpu/build/bin/xmr-stak-cpu /usr/local/bin/xmr-stak-cpu
  93. cd ~
  94. if ! [ -f xmrstak-cpu ]
  95. then
  96. ln -s /usr/local/bin/xmr-stak-cpu ~/xmr-stak-cpu | true
  97. fi
  98. echo
  99. if ! grep -q "vm.nr_hugepages=256" /etc/sysctl.conf
  100. then
  101. sudo bash -c 'echo "vm.nr_hugepages=256" >> /etc/sysctl.conf'
  102. sudo bash -c 'sysctl -p'
  103. fi
  104. echo -e "\e[97mDone !\e[0m"
  105. echo -e "\n\e[95mInstall xmrig-cpu:\e[0m"
  106. cd ~
  107. cd /tmp/
  108. if ! [ -d libuv ]; then git clone https://github.com/libuv/libuv.git ;fi
  109. cd libuv
  110. ./autogen.sh
  111. ./configure
  112. make -j $(nproc)
  113. sudo make install
  114. sudo ldconfig
  115. cd ~
  116. cd xmrig_cpu
  117. if ! [ -f patch_donate.patch ]
  118. then
  119. cat <<'EOF'>> patch_donate.patch
  120. diff --git a/src/donate.h b/src/donate.h
  121. index 46f26b7..67a9cb0 100644
  122. --- a/src/donate.h
  123. +++ b/src/donate.h
  124. @@ -43,8 +43,8 @@
  125. * XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8n$
  126. * BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT
  127. */
  128. -constexpr const int kDefaultDonateLevel = 5;
  129. -constexpr const int kMinimumDonateLevel = 1;
  130. +constexpr const int kDefaultDonateLevel = 0;
  131. +constexpr const int kMinimumDonateLevel = 0;
  132. #endif /* __DONATE_H__ */
  133. EOF
  134. patch -p1 <patch_donate.patch
  135. fi
  136. if ! [ -d build ];then mkdir build; fi
  137. cd build
  138. cmake ..
  139. make -j $(nproc)
  140. cd ~
  141. if ! [ -f xmrig-cpu ]
  142. then ln -s xmrig_cpu/build/xmrig xmrig-cpu
  143. fi
  144. echo "Done."
  145. echo -e "\n\e[95mAdd autostart miner_cpu.sh :\e[0m"
  146. if ! grep --quiet "su work -c '/home/work/miner_cpu.sh'" /etc/rc.local
  147. then
  148. sed -i "s/exit 0//g" /etc/rc.local
  149. RC_LOCAL_CMD0="su work -c '/home/work/miner_cpu.sh'"
  150. echo $RC_LOCAL_CMD0 >>/etc/rc.local
  151. echo "exit 0" >>/etc/rc.local
  152. fi
  153. echo -e "\e[97mDone !\e[0m"
  154. echo -e "\n\e[95mbuild miner_cpu.sh:\e[0m"
  155. cd ~
  156. if [ -f miner_cpu.sh ]; then rm miner_cpu.sh; fi
  157. cat <<'EOF'>> miner_cpu.sh
  158. #!/bin/bash
  159. # version 1.0 12/07/2018
  160. screen -S cpu -X quit
  161. ##-------MINER-----
  162. echo "start cpuminer."
  163. ##Lyra2z
  164. #screen -dmS cpu ~/cpuminer-xzc/cpuminer -a Lyra2z -o stratum+tcp://lyra2z.in.nicehash.com:3365 -u 16F8V2EnHCNPVQwTGLifGHCE12XTnWPG8G -p password
  165. screen -dmS cpu ~/cpuminer-opt/cpuminer -a Lyra2z -o stratum+tcp://lyra2z.eu.nicehash.com:3365 -u 16F8V2EnHCNPVQwTGLifGHCE12XTnWPG8G -p password
  166. echo "use 'screen -x cpu' to see miner activity"
  167. EOF
  168. chown work miner_cpu.sh
  169. chmod +x miner_cpu.sh
  170. echo -e "\e[97mDone !\e[0m"
  171. echo