setup_amd.sh 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. #!/bin/bash
  2. set -e
  3. script_version="1.51"
  4. rdate="22/01/2019"
  5. remote_folder="http://wareck.free.fr/openrig"
  6. lsb_v="`lsb_release -r | awk '{print$2; exit}'`"
  7. lsb_r="`lsb_release -d | awk '{print$2" "$3}'`"
  8. #### OPTIONS ####
  9. host_name="Miner1"
  10. #choose one of this drivers
  11. #Drivers="17.50"
  12. #Drivers="18.20"
  13. Drivers="18.40"
  14. #Drivers="18.50" #ubuntu 18.04
  15. ROCM_="NO" #rcom compute
  16. ETHMine="YES"
  17. XMRIG_AMD="YES"
  18. XMR_STAK="YES"
  19. SGMINER="YES"
  20. SGMINER_TT="YES"
  21. SGMINER_x16r="YES"
  22. Lyra2z="YES"
  23. swap_size="0" # 0/4/8/16 Go
  24. #script_version=`grep version version.txt | awk '{ print $2 }'`
  25. #rdate=`grep release version.txt | awk '{ print $2 }'`
  26. if [ $lsb_v = "18.04" ]; then Drivers="18.50" && Lyra2z="NO" && ROCM_="NO" ;fi
  27. if [ $Drivers = "17.50" ]; then amd_driver_v="17.50-511655";fi
  28. if [ $Drivers = "18.20" ]; then amd_driver_v="18.20-606296";fi
  29. if [ $Drivers = "18.40" ]; then amd_driver_v="18.40-673869";fi
  30. if [ $Drivers = "18.50" ]; then amd_driver_v="18.50-708488";fi
  31. if [ $UID -ne 0 ]
  32. then
  33. echo -e "\n\e[91mPlease run this script as ROOT : sudo ./setup.sh \e[0m"
  34. echo
  35. sleep 1
  36. exit
  37. fi
  38. claymore_dual_v="`curl -s $remote_folder/version.txt | awk 'NR==1 {print$3; exit}'`"
  39. claymore_zcash_v="`curl -s $remote_folder/version.txt | awk 'NR==2 {print$3; exit}'`"
  40. claymore_xmr_v="`curl -s $remote_folder/version.txt | awk 'NR==3 {print$3; exit}'`"
  41. echo ""
  42. echo -n -e " \e[97m\u2554"
  43. for i in {1..36}; do echo -e -n "\u2550"; done
  44. echo -e "\u2557\e[0m"
  45. echo -e " \e[97m\u2551 Mining Rig Auto-install \e[93m"V$script_version"\e[0m\e[97m \u2551\e[0m"
  46. echo -e " \e[97m\u2551 Release date: \e[93m"$rdate"\e[0m\e[97m \u2551\e[0m"
  47. echo -e " \e[97m\u2551 wareck@gmail.com \u2551\e[0m"
  48. echo -n -e " \e[97m\u255A"
  49. for j in {1..36}; do echo -e -n "\u2550";done
  50. echo -e -n "\u255D\e[0m"
  51. echo
  52. echo
  53. if [ $lsb_v = "18.04" ]; then echo -e "\e[97m Ubuntu 18.04 \e[0m\e[97m";fi
  54. if [ $ROCM_ = "YES" ]; then echo -e "\e[94m AMD DRIVER + ROCm Compute firmware \e[0m\e[97m";fi
  55. if [ $ROCM_ = "NO" ]; then echo -e "\e[94m AMD GPU PRO Drivers $amd_driver_v\e[0m\e[97m";fi
  56. if [ $ETHMine = "YES" ]; then echo -e "\e[97m +\e[91m Etherminer \e[0m\e[97m";fi
  57. if [ $XMRIG_AMD = "YES" ]; then echo -e "\e[97m +\e[91m XMRig-amd \e[0m\e[97m";fi
  58. if [ $XMR_STAK = "YES" ]; then echo -e "\e[97m +\e[91m XMR-Stak \e[0m\e[97m";fi
  59. if [ $SGMINER = "YES" ]; then echo -e "\e[97m +\e[91m Sgminer-nicehash\e[0m\e[97m";fi
  60. if [ $SGMINER_TT = "YES" ]; then echo -e "\e[97m +\e[91m Sgminer-timetravel\e[0m\e[97m";fi
  61. if [ $SGMINER_x16r = "YES" ]; then echo -e "\e[97m +\e[91m Sgminer-x16r\e[0m\e[97m";fi
  62. echo -e "\e[97m +\e[91m Claymore dualminer $claymore_dual_v\e[0m\e[97m"
  63. echo -e "\e[97m +\e[91m Claymore zcash $claymore_zcash_v\e[0m\e[97m"
  64. echo -e "\e[97m +\e[91m Claymore xmr $claymore_xmr_v\e[0m\e[97m"
  65. if [ $Lyra2z = "YES" ]; then echo -e "\e[97m +\e[91m Lyra2z GPU Mining (experimental)\e[0m\e[97m";fi
  66. echo
  67. sleep 4
  68. sed -i -e "s/# set const/set const/g" /etc/nanorc
  69. echo -e "\n\e[95mExpand Disk :\e[0m"
  70. sudo growpart `df -h | grep /dev/sd | awk ' { print $1 }'| cut -c -8` 1 |true
  71. sudo resize2fs `df -h | grep /dev/sd | awk ' { print $1 }'` |true
  72. echo -e "\e[97mDone !\e[0m"
  73. echo -e "\n\e[95mSystem Update :\e[0m"
  74. sudo apt-get update
  75. sudo add-apt-repository -y ppa:ethereum/ethereum -y
  76. sudo apt-get update
  77. cd ~
  78. sudo sed -i -e "s/quiet splash/text/g" /etc/default/grub
  79. sudo sed -i -e 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="amddgpu.vm_fragment_size=9"#g' /etc/default/grub
  80. sudo update-grub2
  81. sudo apt dist-upgrade -y
  82. if ! [ $lsb_v = "18.04" ];then sudo apt-get remove linux-image-4.4.0-116* linux-headers-4.4.0-116* -y ;fi
  83. sudo apt install ethereum git screen htop curl ntp pv git cmake libleveldb-dev libjsoncpp-dev \
  84. build-essential libcurl4-gnutls-dev libboost-all-dev libgmp-dev \
  85. libreadline-dev libmicrohttpd-dev libjansson-dev libgmp-dev libssl-dev unzip python-nfqueue python-scapy mesa-common-dev -y
  86. if ! [ $lsb_v = "18.04" ];then sudo apt install libcryptopp-dev -y ;fi
  87. if ! [ $lsb_v = "18.04" ];then sudo apt-get install --install-recommends xserver-xorg-hwe-16.04 -y; fi
  88. if [ $ROCM_ = "YES" ]
  89. then
  90. sudo apt-get install libnuma-dev -y
  91. echo -e "\n\e[95mInstall ROCm Compute:\e[0m"
  92. #update ROCM
  93. sudo apt-get install libnuma-dev -y
  94. wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add -
  95. sudo sh -c 'echo deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main > /etc/apt/sources.list.d/rocm.list'
  96. sudo apt-get update
  97. sudo apt-get install rocm-opencl-dev -y
  98. sudo usermod -a -G video work
  99. cd ..
  100. echo -e "\e[97mDone !\e[0m"
  101. fi
  102. echo -e "\n\e[95mInstall AMD Drivers :\e[0m"
  103. if ! [ -d /home/work/tempo ];then mkdir /home/work/tempo ; fi
  104. cd /home/work/tempo
  105. if [ $Drivers = "17.50" ]
  106. then
  107. wget -c http://wareck.free.fr/grinder/drivers/amdgpu-pro-17.50-511655.tar.xz
  108. tar xvfJ amdgpu-pro-17.50-511655.tar.xz
  109. rm amdgpu-pro-17.50-511655.tar.xz
  110. cd amdgpu-pro-17.50-511655
  111. if [ $ROCM_ = "YES" ]
  112. then
  113. sed -i -e "s/amdgpu-pro-dkms libdrm2-amdgpu-pro/libdrm2-amdgpu-pro/g" amdgpu-pro-install
  114. ./amdgpu-pro-install --pro --opencl=legacy,rocm -y
  115. else
  116. ./amdgpu-pro-install --pro --opencl=legacy -y
  117. fi
  118. fi
  119. if [ $Drivers = "18.20" ]
  120. then
  121. echo "Download amdgpu-pro-18.20-606296.tar.xz"
  122. wget -c http://wareck.free.fr/grinder/drivers/amdgpu-pro-18.20-606296.tar.xz
  123. tar xvfJ amdgpu-pro-18.20-606296.tar.xz
  124. rm amdgpu-pro-18.20-606296.tar.xz
  125. cd amdgpu-pro-18.20-606296
  126. if [ $ROCM_ = "YES" ]
  127. then
  128. sed -i -e "s/amdgpu-pro-dkms libdrm2-amdgpu-pro/libdrm2-amdgpu-pro/g" amdgpu-pro-install
  129. ./amdgpu-pro-install --pro --opencl=legacy,rocm -y
  130. else
  131. ./amdgpu-pro-install --pro --opencl=legacy -y
  132. fi
  133. fi
  134. if [ $Drivers = "18.40" ]
  135. then
  136. echo "Download amdgpu-pro-18.40-673869-ubuntu-16.04.tar.xz"
  137. wget -c http://wareck.free.fr/grinder/drivers/amdgpu-pro-18.40-673869-ubuntu-16.04.tar.xz
  138. tar xvfJ amdgpu-pro-18.40-673869-ubuntu-16.04.tar.xz
  139. rm amdgpu-pro-18.40-673869-ubuntu-16.04.tar.xz
  140. cd amdgpu-pro-18.40-673869-ubuntu-16.04
  141. ./amdgpu-pro-install --pro --opencl=legacy -y
  142. fi
  143. if [ $Drivers = "18.50" ]
  144. then
  145. echo "Download amdgpu-pro-18.40-673869-ubuntu-16.04.tar.xz"
  146. #wget -c http://wareck.free.fr/grinder/drivers/amdgpu-pro-18.50-708488-ubuntu-18.04.tar.xz
  147. #tar xvfJ amdgpu-pro-18.50-708488-ubuntu-18.04.tar.xz
  148. #rm amdgpu-pro-18.50-708488-ubuntu-18.04.tar.xz
  149. #cd amdgpu-pro-18.50-708488-ubuntu-18.04
  150. #./amdgpu-pro-install --pro --opencl=legacy -y
  151. fi
  152. echo -e "\n\e[95mInstall AMD SDK :\e[0m"
  153. cd /home/work/tempo/
  154. #curl -f http://wareck.free.fr/grinder/drivers/AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2 | tar xvj
  155. #./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh
  156. cd /opt/
  157. if [ -d ADL_SDK ]; then rm -r /opt/ADL_SDK; fi
  158. mkdir ADL_SDK
  159. cd ADL_SDK
  160. wget -c http://wareck.free.fr/grinder/drivers/ADL_SDK102.zip -O ADL_SDK.zip
  161. unzip -q ADL_SDK.zip
  162. cd ~
  163. echo -e "\e[97mDone !\e[0m"
  164. sleep 2
  165. echo -e "\n\e[95mInstall Claymore Miners :\e[0m"
  166. cd /home/work/
  167. sudo -u work curl -sf $remote_folder/miners/claymore_dual_$claymore_dual_v.tar.xz | tar xvJ
  168. echo ""
  169. sudo -u work curl -sf $remote_folder/miners/claymore_zcash_$claymore_zcash_v.tar.xz | tar xvJ
  170. echo ""
  171. sudo -u work curl -sf $remote_folder/miners/claymore_xmr_$claymore_xmr_v.tar.xz | tar xvJ
  172. echo ""
  173. sudo -u work curl -sf http://wareck.free.fr/grinder/miner.sh.tar.xz | tar xvJ
  174. sudo chown work claymore
  175. sudo chown work claymore_xmr
  176. sudo chown work claymore_zcash
  177. sudo chown work /home/work/miner.sh
  178. if [ $ETHMine = "YES" ]
  179. then
  180. echo -e "\n\e[95mInstall Ethminer :\e[0m"
  181. cd ~
  182. if [ -d cpp_ethminer ]; then rm -r cpp_ethminer;fi
  183. git clone -n https://github.com/ethereum-mining/ethminer.git cpp_ethminer
  184. cd cpp_ethminer
  185. git checkout 2200dca33d35273fb2a7843a7d313a9a31bcd246
  186. cd ~/cpp_ethminer
  187. git submodule update --init --recursive
  188. mkdir build |true
  189. cd build
  190. cmake .. -DETHASHCUDA=OFF -DETHASHCL=ON
  191. make
  192. cd ~
  193. if [ -f ~/ethminer ]; then rm ~/ethminer;fi
  194. ln -s cpp_ethminer/build/ethminer/ethminer ethminer |true
  195. fi
  196. cd /tmp
  197. wget http://wareck.free.fr/grinder/cpp_ethminer_kernel.tar.xz
  198. tar xvfJ cpp_ethminer_kernel.tar.xz
  199. sudo mv kernels ~/cpp_ethminer/build/ethminer/
  200. cd ~
  201. echo -e "\e[97mDone !\e[0m"
  202. if [ $SGMINER = "YES" ]
  203. then
  204. echo -e "\n\e[95mInstall Sgminer-Nicehash:\e[0m"
  205. cd ~
  206. if [ ! -d sgminer ]
  207. then
  208. git clone https://github.com/nicehash/sgminer.git
  209. cd sgminer
  210. else
  211. cd sgminer
  212. git pull
  213. fi
  214. sudo apt install git autoconf automake libtool build-essential libncurses5-dev libcurl4-gnutls-dev -y
  215. git submodule init
  216. git submodule update
  217. autoreconf -fi
  218. CFLAGS="-Os -Wall -march=native -I/opt/AMDAPPSDK-3.0/include" LDFLAGS="-L/opt/amdgpu-pro/lib/x86_64-linux-gnu" ./configure --disable-git-version --disable-adl
  219. make -j $(nproc)
  220. cd ~
  221. echo -e "\e[97mDone !\e[0m"
  222. fi
  223. if [ $SGMINER_TT = "YES" ]
  224. then
  225. echo -e "\n\e[95mInstall Sgminer-Timetravel:\e[0m"
  226. cd ~
  227. if [ ! -d sgminer-timetravel ]
  228. then
  229. sudo -u work curl -sf http://wareck.free.fr/openrig/miners/sgminer-timetravel.tar.xz | tar xvJ
  230. cd ~
  231. fi
  232. echo -e "\e[97mDone !\e[0m"
  233. fi
  234. if [ $Lyra2z = "YES" ]
  235. then
  236. echo -e "\n\e[95mInstall Lyra2Z GPU Miner (experimental):\e[0m"
  237. cd ~
  238. if [ -d sgminer-lyra2z ]; then rm -r sgminer-lyra2z ;fi
  239. git clone https://github.com/wareck/sgminer-lyra2z.git
  240. cd ~/sgminer-lyra2z
  241. git pull
  242. git submodule init
  243. git submodule update
  244. ./autogen.sh
  245. CFLAGS="-Os -Wall -march=native -I/opt/AMDAPPSDK-3.0/include" LDFLAGS="-L/opt/amdgpu-pro/lib/x86_64-linux-gnu" ./configure --disable-git-version --disable-adl
  246. make -j $(nproc)
  247. cd ~
  248. echo "Done."
  249. fi
  250. if [ $SGMINER_x16r = "YES" ]
  251. then
  252. echo -e "\n\e[95mInstall Sgminer-x16r :\e[0m"
  253. cd ~
  254. if [ -d sgminer-x16r ]; then rm -r sgminer-x16r;fi
  255. git clone https://github.com/wareck/sgminer-x16r.git
  256. cd ~/sgminer-x16r
  257. git pull
  258. git submodule init
  259. git submodule update
  260. ./autogen.sh
  261. CFLAGS="-Os -Wall -march=native -I/opt/AMDAPPSDK-3.0/include" LDFLAGS="-L/opt/amdgpu-pro/lib/x86_64-linux-gnu" ./configure --disable-git-version --disable-adl
  262. make -j $(nproc)
  263. cd ~
  264. echo "Done."
  265. fi
  266. if [ $XMRIG_AMD = "YES" ]
  267. then
  268. echo -e "\n\e[95mInstall xmrig-amd:\e[0m"
  269. cd ~
  270. if [ -d xmrig_amd ]; then rm -r xmrig_amd ; fi
  271. git clone https://github.com/xmrig/xmrig-amd.git xmrig_amd
  272. cd /tmp/
  273. if ! [ -d libuv ]; then git clone https://github.com/libuv/libuv.git ;fi
  274. cd libuv
  275. ./autogen.sh
  276. ./configure
  277. make -j $(nproc)
  278. sudo make install
  279. sudo ldconfig
  280. cd ~
  281. cd xmrig_amd
  282. if ! [ -f patch_donate.patch ]
  283. then
  284. cat <<'EOF'>> patch_donate.patch
  285. diff --git a/src/donate.h b/src/donate.h
  286. index 46f26b7..67a9cb0 100644
  287. --- a/src/donate.h
  288. +++ b/src/donate.h
  289. @@ -43,8 +43,8 @@
  290. * XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8n$
  291. * BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT
  292. */
  293. -constexpr const int kDefaultDonateLevel = 5;
  294. -constexpr const int kMinimumDonateLevel = 1;
  295. +constexpr const int kDefaultDonateLevel = 0;
  296. +constexpr const int kMinimumDonateLevel = 0;
  297. #endif /* __DONATE_H__ */
  298. EOF
  299. patch -p1 <patch_donate.patch
  300. fi
  301. if ! [ -d build ];then mkdir build; fi
  302. cd build
  303. cmake ..
  304. make -j $(nproc)
  305. cd ~
  306. if ! [ -f xmrig-amd ]; then ln -s xmrig_amd/build/xmrig-amd xmrig-amd ;fi
  307. echo "Done."
  308. fi
  309. if [ $XMR_STAK = "YES" ]
  310. then
  311. echo -e "\n\e[95mInstall xmr-stak:\e[0m"
  312. cd /tmp/
  313. wget http://wareck.free.fr/grinder/hwloc-1.11.8.tar.xz
  314. tar xvfJ hwloc-1.11.8.tar.xz
  315. cd hwloc-1.11.8
  316. ./autogen.sh
  317. ./configure --prefix=/usr/local
  318. make -j $(nproc)
  319. sudo make install
  320. cd ~
  321. if [ -d xmr_stak ]; then rm -r xmr_stak ;fi
  322. git clone https://github.com/fireice-uk/xmr-stak.git xmr_stak
  323. cd xmr_stak
  324. sudo ln -s /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/libOpenCL.so.1 | true
  325. mkdir build
  326. sed -i -e "s/= 2.0/= 0.0/g" xmrstak/donate-level.hpp
  327. cd build
  328. cmake .. -DCPU_ENABLE=OFF -DHWLOC_ENABLE=OFF -DMICROHTTPD_ENABLE=OFF -DCMAKE_LINK_STATIC=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_ENABLE=OFF \
  329. -DOpenCL_LIBRARY=/opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/opt/AMDAPPSDK-3.0/include/ -DXMR-STAK_COMPILE=generic
  330. make -j $(nproc)
  331. cd ~
  332. if ! [ -f ~/xmr-stak ];then ln -s xmr_stak/build/bin/xmr-stak xmr-stak; fi
  333. sudo cp xmr_stak/build/bin/libxmrstak_opencl_backend.so /lib/
  334. cd ~
  335. echo "Done"
  336. fi
  337. echo -e "\n\e[95mDownloading NoFees Patch:\e[0m"
  338. cd ~
  339. if [ -d remove_miner_fees ]
  340. then
  341. cd remove_miner_fees
  342. git pull
  343. else
  344. git clone https://github.com/wareck/remove_miner_fees.git
  345. chown -R work remove_miner_fees
  346. fi
  347. if ! [ -f /etc/rc.local ]
  348. then
  349. printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
  350. sudo chmod +x /etc/rc.local
  351. fi
  352. chmod 777 /etc/rc.local
  353. if ! grep --quiet "/home/work/remove_miner_fees" /etc/rc.local
  354. then
  355. sed -i "s/exit 0//g" /etc/rc.local
  356. RC_LOCAL_CMD0="#python /home/work/remove_miner_fees/remove_mining_fees.py &"
  357. RC_LOCAL_CMD1="#python /home/work/remove_miner_fees/zcach.py &"
  358. RC_LOCAL_CMD2="#python /home/work/remove_miner_fees/hush.py &"
  359. RC_LOCAL_CMD3="#python /home/work/remove_miner_fees/ubiq.py &"
  360. RC_LOCAL_CMD4="#python /home/work/remove_miner_fees/soilcoin.py &"
  361. echo $RC_LOCAL_CMD0 >>/etc/rc.local
  362. echo $RC_LOCAL_CMD1 >>/etc/rc.local
  363. echo $RC_LOCAL_CMD2 >>/etc/rc.local
  364. echo $RC_LOCAL_CMD3 >>/etc/rc.local
  365. echo $RC_LOCAL_CMD4 >>/etc/rc.local
  366. echo "exit 0" >>/etc/rc.local
  367. fi
  368. echo -e "\e[97mDone !\e[0m"
  369. echo -e "\n\e[95mInstall AutoStart:\e[0m"
  370. if [ -f /home/work/.config/autostart/miner.sh.desktop ];then rm /home/work/.config/autostart/miner.sh.desktop |true ; fi
  371. if ! [ -d /home/work/.config ]; then mkdir /home/work/.config ;fi
  372. if ! [ -d /home/work/.config/autostart ]; then mkdir /home/work/.config/autostart;fi
  373. cat <<EOF>> /home/work/.config/autostart/miner.sh.desktop
  374. [Desktop Entry]
  375. Type=Application
  376. Exec=/home/work/miner.sh
  377. Hidden=false
  378. NoDisplay=false
  379. X-GNOME-Autostart-enabled=true
  380. Name[fr_FR]=miner
  381. Name=miner
  382. Comment[fr_FR]=miner
  383. Comment=miner
  384. EOF
  385. sleep 5
  386. chmod 777 /etc/rc.local
  387. if ! grep --quiet "su work -c '/home/work/miner.sh'" /etc/rc.local
  388. then
  389. sed -i "s/exit 0//g" /etc/rc.local
  390. RC_LOCAL_CMD0="su work -c '/home/work/miner.sh'"
  391. echo $RC_LOCAL_CMD0 >>/etc/rc.local
  392. echo "exit 0" >>/etc/rc.local
  393. fi
  394. echo -e "\e[97mDone !\e[0m"
  395. cd /home/work/
  396. sudo rm -r tempo
  397. echo -e "\n\e[95mMessage of the day mod :\e[0m"
  398. rm /etc/update-motd.d/00-header | true
  399. rm /etc/update-motd.d/10-help-text |true
  400. rm /etc/update-motd.d/90-updates-available |true
  401. rm /etc/update-motd.d/91-release-upgrade |true
  402. rm /etc/update-motd.d/98-fsck-at-reboot |true
  403. rm /etc/update-motd.d/98-reboot-required |true
  404. echo " - 00-header "
  405. cat <<EOF >> /etc/update-motd.d/00-header
  406. #!/bin/sh
  407. [ -r /etc/lsb-release ] && . /etc/lsb-release
  408. if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then
  409. # Fall back to using the very slow lsb_release utility
  410. DISTRIB_DESCRIPTION=$(lsb_release -s -d)
  411. fi
  412. printf "Welcome to %s (%s %s %s)\n" "$DISTRIB_DESCRIPTION" " $(uname -o)" "$(uname -p)"
  413. EOF
  414. cd /etc/update-motd.d
  415. sudo -u work curl -sf http://folivier.homelinux.org/genethos/motd.tar.xz | tar xJ
  416. cd ~
  417. sed -i -e "s/#force_color_prompt=yes/force_color_prompt=yes/g" /home/work/.bashrc
  418. if ! grep --quiet "export DISPLAY=:0" /home/work/.bashrc
  419. then
  420. cat <<EOF>> /home/work/.bashrc
  421. export DISPLAY=:0
  422. echo -e "\e[97m
  423. Open Mining Platform \e[96mv$script_version\e[0m
  424. wareck@gmail.com
  425. "
  426. EOF
  427. fi
  428. echo -e "\e[97mDone !\e[0m"
  429. echo -e "\n\e[95mBuilding Swapfile :\e[0m"
  430. if ! grep -q "swapfile" /etc/fstab ; then
  431. case $swap_size in
  432. 0) fst="0";;
  433. 4) sudo dd if=/dev/zero | pv -s 4G | dd of=/swapfile iflag=fullblock bs=1024 count=4194304;;
  434. 8) sudo dd if=/dev/zero | pv -s 8G | dd of=/swapfile iflag=fullblock bs=1024 count=8388608;;
  435. 16) sudo dd if=/dev/zero | pv -s 16G | dd of=/swapfile iflag=fullblock bs=1024 count=16777216 ;;
  436. *) echo -e "\e[91mError in configuration !\e[0m" && exit ;;
  437. esac
  438. if ! [ $swap_size = "0" ]
  439. then
  440. sudo mkswap /swapfile
  441. sudo swapon /swapfile
  442. sudo cat <<'EOF'>> /etc/fstab
  443. /swapfile none swap sw 0 0
  444. EOF
  445. sudo chmod 600 /swapfile
  446. sudo touch /forcefsck
  447. fi
  448. else
  449. echo -e "\e[93mSwapfile already enabled... \e[0m"
  450. echo -e "\e[93mCheck /etc/fsatb file.\e[0m\n"
  451. fi
  452. echo -e "\e[97mDone !\e[0m"
  453. sudo usermod -a -G video work
  454. echo -e "\n\e[95mConfigure Hostname and Rig name:\e[0m"
  455. touch /tmp/hostname
  456. echo $host_name >/tmp/hostname
  457. sudo bash -c 'cp /tmp/hostname /etc/hostname'
  458. sed -i -e "s/digger/$host_name/g" /etc/hosts
  459. # rename rig in miner.sh
  460. sed -i -e "s/OpenRig/$host_name/g" miner.sh
  461. # nano count lines
  462. sed -i -e "s/# set const/set const/g" /etc/nanorc
  463. # reset ssh keys
  464. rm /etc/ssh/ssh_host_*
  465. dpkg-reconfigure openssh-server
  466. sudo apt-get autoremove -y
  467. echo "Done"
  468. echo -e "\n\e[92mEverything was done...\e[0m"
  469. echo -e -n "Reboot in 15 seconds (CRTL+C to abord): "
  470. for i in {15..1}
  471. do
  472. echo -e -n "$i "
  473. sleep 1
  474. done
  475. reboot