# Ubuntu 15.04 64-bit mini.iso is located at: # http://archive.ubuntu.com/ubuntu/dists/vivid/main/installer-amd64/current/images/netboot/mini.iso ------------------------------------------ Update/upgrade package lists ------------------------------------------ sudo apt-get update sudo apt-get upgrade ------------------------------------------ Install AMD drivers + misc configuration ------------------------------------------ # may have to try this twice sudo apt-get install fglrx fglrx-core fglrx-dev fglrx-amdcccle git screen # confirm that all GPUs are detected sudo aticonfig --lsa # only delete /etc/X11/xorg.conf when reconfiguring sudo rm /etc/X11/xorg.conf && sudo aticonfig --adapter=all --initial -f # otherwise, when first setting up just run the aticonfig command as such sudo aticonfig --adapter=all --initial -f sudo nano /etc/default/grub # change the GRUB_CMDLINE_LINUX_DEFAULT line to read as: GRUB_CMDLINE_LINUX_DEFAULT="text" sudo update-grub nano .bashrc # add the following at end of the script: export DISPLAY=:0 Ctrl + O # save Ctrl + X # exit nano sudo nano /etc/profile # add the following at end of the script: export XAUTHORITY=~/.Xauthority Ctrl + O # save Ctrl + X # exit nano sudo reboot ------------------------------------------ Install minimal x server & display manager ------------------------------------------ # install xorg sudo apt-get install xorg # reconfigure and choose "Anybody" sudo dpkg-reconfigure x11-common ------------------------------------------ Install and configure Dwarfpool's stratum-like eth-proxy ------------------------------------------ # See here for limited install directions: https://bitcointalk.org/index.php?topic=1200891 # See here for more info: http://dwarfpool.com/eth midway down one the left-hand side under a section called "Stratum Proxy v0.0.5" sudo apt-get install python-twisted git clone https://github.com/Atrides/eth-proxy cd eth-proxy # Be sure to edit eth-proxy.conf and setup YOUR ETH address # Here is how I have mine setup for ethpool.org nano eth-proxy.conf #============================================== # Begin ~/eth-proxy/eth-proxy.conf example #============================================== # Select Ethereum ETH or Expanse EXP COIN = "ETH" # Host and port for your workers HOST = "xxx.xxx.xxx.xxx" # this needs to be the IP address of the machine that is running eth-proxy PORT = 8080 # Coin address where money goes WALLET = "0x0000000000000000000" # this needs to be YOUR ETH address and the quotes stay # To donate please use wallet 0xc6cf855a302412ebb91ee1e823284b928fb4286d # It's useful for individually monitoring and statistic ENABLE_WORKER_ID = True # On DwarfPool you have option to monitor your workers via email. # If WORKER_ID is enabled, you can monitor every worker/rig separately. MONITORING = True MONITORING_EMAIL = "your.email@something.com" # your notification email address # Main pool POOL_HOST = "us1.ethpool.org" # use whatever your pool's address is here POOL_PORT = 3333 # Failover pool POOL_FAILOVER_ENABLE = True POOL_HOST_FAILOVER1 = "us2.ethpool.org" # use whatever your pool's 2nd address is here POOL_PORT_FAILOVER1 = 3333 POOL_HOST_FAILOVER2 = "eu1.ethpool.org" # use whatever your pool's 3rd address is here POOL_PORT_FAILOVER2 = 3333 POOL_HOST_FAILOVER2 = "asia1.ethpool.org" # use whatever your pool's 4th address is here, etc... POOL_PORT_FAILOVER3 = 3333 # Logging LOG_TO_FILE = True #============================================== # End ~/eth-proxy/eth-proxy.conf example #============================================== Ctrl + O # save Ctrl + X # exit nano ------------------------------------------ Setup a script to start eth-proxy ------------------------------------------ cd # change to your home directory nano start_ethproxy.sh #============================================== # Begin ~/start_ethproxy.sh #============================================== #!/bin/bash cd ~/eth-proxy && python eth-proxy.py #============================================== # End ~/start_ethproxy.sh #============================================== Ctrl + O # save Ctrl + X # exit nano chmod +x start_ethproxy.sh # make the script executable ------------------------------------------ Build Genoil's Ethminer ------------------------------------------ sudo apt-get -y install software-properties-common sudo wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - sudo add-apt-repository "deb http://llvm.org/apt/trusty llvm-toolchain-trusty main" sudo add-apt-repository -y ppa:ethereum/ethereum sudo add-apt-repository -y ppa:ethereum/ethereum-dev sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y install build-essential cmake libedit-dev libboost-all-dev automake unzip zlib1g-dev libgmp-dev libtool libleveldb-dev yasm libminiupnpc-dev libreadline-dev scons libncurses5-dev libcurl4-openssl-dev wget libjsoncpp-dev libargtable2-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev clang-3.5 lldb-3.5 llvm-4.0-dev libv8-dev mesa-common-dev opencl-headers # I run Genoil's version of ethminer -- specifically version 1.0.8 # The following will show you how to grab the code for it from the source # repository and build it: mkdir Genoil cd Genoil mkdir 1.0.8 cd 1.0.8 git clone --recursive -b 108 --single-branch https://github.com/genoil/cpp-ethereum cd cpp-ethereum mkdir build cd build cmake .. -DBUNDLE=miner -DGUI=0 -DCMAKE_BUILD_TYPE=Release make # Wait for the build to complete # strip unneeded symbols from the binary -- this reduces its size by a little strip ethminer/ethminer # confirm that ethminer sees the correct # of GPUs ethminer/ethminer --list-devices cd # change to your home directory ------------------------------------------ Setup Basic X-Window Environment (required for fglrx and aticonfig to work) ------------------------------------------ # setup ~/.xinitrc to set GPU fan and clock speeds and to open a permanent xterm window # # ~/.xinitrc is a script that gets executed when 'startx' gets called. # It gives the user a chance to do things when X starts up. # You can read more about it here: https://wiki.archlinux.org/index.php/xinitrc # # The following is an example ~/.xinitrc file for a 3-GPU rig -- if you have more or # fewer GPUs, then add or remove lines as necessary to account for each GPU nano .xinitrc #============================================== # Begin ~/.xinitrc #============================================== #!/bin/bash amdconfig --od-enable DISPLAY=:0.0 && aticonfig --pplib-cmd "set fanspeed 0 60" # set fan 0 on card 0 @ 60% DISPLAY=:0.1 && aticonfig --pplib-cmd "set fanspeed 0 60" # set fan 0 on card 1 @ 60% DISPLAY=:0.2 && aticonfig --pplib-cmd "set fanspeed 0 60" # set fan 0 on card 2 @ 60% DISPLAY=:0.0 && aticonfig --adapter=0 --odsc=1150,1500 # set core clock @ 1150 and memory clock 1500 on card 0 DISPLAY=:0.1 && aticonfig --adapter=1 --odsc=1150,1500 # set core clock @ 1150 and memory clock 1500 on card 1 DISPLAY=:0.2 && aticonfig --adapter=2 --odsc=1150,1500 # set core clock @ 1150 and memory clock 1500 on card 2 DISPLAY=:0 && xterm -geometry +1+1 -n login #============================================== # End ~/.xinitrc #==============================================