#!/bin/bash # metiscoin All-In-One EZ Setup Script # Hacked together by GigaWatt # Donations welcome! # BTC: 1E2egHUcLDAmcxcqZqpL18TPLx9Xj1akcV # XPM: AWHJbwoM67Ez12SHH4pH5DnJKPoMSdvLz2 # SRC: sMCD2p55fkPD6s8EzDrL7vVp8EYqPkJ6mo # MTS: MEu8jBkkVvTLwvpiPjWC9YntyDH2u5KwVy # Last Update: 21 January, 2014 { # PUT YOUR SETTINGS HERE YPOOL_WORKER="gigawatt.metiscoin" YPOOL_WORKERPASS="x" # Build swapfile if [[ ! -f /swapfile ]]; then echo "Building swapfile..." sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile # Mount on reboot if [[ -z "$(cat /etc/fstab | grep swapfile)" ]]; then echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab > /dev/null 2>&1 fi fi # Auto reboot on kernel panic if [[ -z "$(cat /etc/sysctl.conf | grep '^kernel.panic')" ]]; then echo "kernel.panic=3" | sudo tee /etc/sysctl.conf >/dev/null 2>&1 fi echo "Installing libraries..." sudo apt-get update sudo apt-get install build-essential bc curl dos2unix fail2ban git haveged libboost-all-dev libdb++-dev libminiupnpc-dev libssl-dev m4 nano vim -y # Enable HAVEGED for entropy sudo update-rc.d haveged defaults sudo service haveged start echo "Downloading metiscoin miner..." cat << "SCRIPT" > ~/build-metiscoin-from-git #!/bin/bash if [[ -d ~/xptminer ]]; then cd ~/xptminer git pull cd ~/xptminer make clean else cd ~ git clone https://github.com/llamasoft/xptminer-linux.git xptminer fi cd ~/xptminer CFLAGS="-march=native -mtune=native" make sudo cp xpt /usr/local/bin/xpt SCRIPT chmod +x ~/build-metiscoin-from-git ~/build-metiscoin-from-git echo "Building miner config file..." echo "export XPT_USER=${YPOOL_WORKER}" > ~/miner.cfg echo "export XPT_PASS=${YPOOL_WORKERPASS}" >> ~/miner.cfg # Watchdog runner cat << "SCRIPT" > ~/start-miner #!/bin/bash export PATH="/usr/local/bin:$PATH" . ~/miner.cfg cores=$(cat /proc/cpuinfo | grep processor | wc -l) echo Starting metiscoin miner killall --older-than 60s -q xpt rm ~/miner.log > /dev/null 2>&1 function background_loop while :; do /usr/local/bin/xpt -o ypool.net -u ${XPT_USER} -p ${XPT_PASS} -t ${cores} > ~/miner.log 2>&1 sleep 5 date >> ~/crash.log done background_loop & SCRIPT chmod +x ~/start-miner ~/start-miner # Add to startup mkdir /var/spool/cron/crontabs/ > /dev/null 2>&1 echo "@reboot ${HOME}/start-miner" | sudo tee /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1 echo "" | sudo tee -a /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1 sudo chmod 0600 /var/spool/cron/crontabs/$(whoami) sudo update-rc.d cron defaults # Watchdog stopper cat << "SCRIPT" > ~/stop-miner #!/bin/bash { killall -q start-miner xpt rm ~/miner.log } >/dev/null 2>&1 SCRIPT chmod +x ~/stop-miner # Watchdog restarter cat << "SCRIPT" > ~/restart-miner #!/bin/bash ~/stop-miner ~/start-miner SCRIPT chmod +x ~/restart-miner # Peek at status cat << "SCRIPT" > ~/peek #!/bin/bash tail -n 20 ~/miner.log echo echo echo '==========================================================' echo echo "Memory Info:" ps fup $(pidof xpt) echo free -h SCRIPT chmod +x ~/peek echo echo echo '==========================================================' echo 'All Done!' echo 'metiscoin miner should be up and running' echo echo 'Run ~/start-miner to start mining' echo 'Run ~/stop-miner to stop mining' echo 'Run ~/restart-miner to stop and restart the miner' echo 'Run ~/peek to check on your mining status' }