Build your own Ethereum Mining Rig, part 2: Linux Setup

In this second installment of our DIY Ethereum mining guide, we’ll look at how to install and configure Linux to setup your rig as an automated, remotely-manageable appliance. Don’t be dissuaded if you’ve never used Linux before—our step-by-step guide makes it simple!

Why Linux over Windows? First, it’s free—and saving ~$100 on the operating system is a big plus when you’re trying to maximize profitability. Other reasons include lesser hardware requirements (Linux is perfectly happy running from a USB stick plugged into ancient hardware!), simpler remote administration capabilities, and oftentimes better stability. The downside of running Linux is that video driver support isn’t on the same level as Windows, and things like GPU undervolting are trickier (but still possible via BIOS mods).

If you missed the hardware portion of our guide, make sure to check it out first. Otherwise, read on.

Build an Ethereum Mining Rig, part 2:  Linux Setup

The following is heavily adapted from my original 2013 Litecoin mining guide, updated for the latest Xubuntu LTS version, the new AMDGPU-PRO drivers, and necessary ethereum mining software (all up-to-date as of 11/29/2017). If you’re a bit nervous because you’ve a complete Linux newbie, don’t be. Simply follow the step-by-step instructions exactly as they’re written, and you’ll be fine. Even if you’ve never done anything like this before, you should be up and running in roughly an hour.

Step 1: Configure BIOS settings

Before we even get to Linux, let’s take a minute to make sure that your mining computer’s BIOS settings are in order. Power on your computer, and press the “delete” key a few times immediately after power on. You should end up in the BIOS configuration area. Do the following, then save & exit:

  • Change power options so that the computer automatically turns itself on whenever power is restored. The reason for this is two-fold: first, it’ll make sure that your miner automatically starts up after a power outage. Second, it makes powering the computer on much easier if you don’t happen to have a power switch connected to the motherboard.
  • Make sure that your USB stick is first in the boot-up order (you may need to have a USB stick attached).
  • Disable all components that you don’t plan to use. This may save a little bit of power, and since your miner will likely be running 24/7, it’ll add up. For me, that meant disabling onboard audio, one of the SATA controllers, the USB 3.0 ports (I only had a 2.0 USB stick), the Firewire port, and the serial port.
  • If you’re running a lot of GPUs (4+), additional tweaks might be necessary to ensure that they’re all recognized by the OS. Exact tweaks vary by motherboard, but setting the PCIe speed to Gen1 is usually a good place to start. No need to change anything now, but make a mental note that you may need to come back and play around a bit if all of your GPUs don’t show up in the OS later.

Step 2: Install Xubuntu Desktop on your miner

Xubuntu is a lightweight version of Ubuntu, a popular Linux distribution. Most other distros should work just fine, but be aware that the GPU drivers require the presence of Xorg, which means server distros that don’t have a GUI will not work properly.

  • Xubuntu 16.04.3 is the latest LTS release at the time of this guide, so that is what I recommend you use. You can download it here.
  • You’ll need to either write the installation ISO image to a USB stick (highly recommended), or burn it to a DVD. If you use a DVD, you’ll need to temporarily hook up a DVD drive to your mining rig for the installation (make sure you temporarily enable your SATA controller if you disabled it in step 1!).
  • Once you have the installation media prepared, you’re ready to install Xubuntu to your miner’s boot device (whether it’s an SSD, mechanical harddrive, or another blank USB stick). Boot using your new installation media (make sure it’s first in your miner’s BIOS boot order list). The Xubuntu installer should appear.
  • Follow the prompts, and make sure to click the “auto-login” box on the last step of the installer (otherwise, all of the default options are fine).
  • When the installation is complete, you should automatically boot into the Xubuntu desktop. Make sure to remove your installation media.

Step 3: Install SSH and package updates

At the Xubuntu desktop, press CTRL+ALT+T to open a terminal window.

  • Install SSH by typing:
    sudo apt-get install openssh-server

With SSH installed, you can unplug the keyboard/mouse/monitor from your miner, and complete the rest of the installation from your desktop computer. Simply download Putty onto your desktop, run it, and enter the IP address of your mining rig (type ifconfig at the Xubuntu terminal to find your miner’s address if you don’t know it—it will probably look like 192.168.0.x). That should bring up a remote terminal session to your miner, which is more or less just like sitting at the keyboard in front of it.

If you plan to manage your mining rig remotely over the internet, you’ll need to forward port 22 on your router to your miner. Make sure that you use a strong Xubuntu password!

Setup should be pretty quick from this point, as now you can simply copy text from this webpage (highlight it and press CTRL+C) and then paste it into your Putty session by simply right-clicking anywhere inside the Putty window. I highly recommend that you complete the remainder of the guide in this manner, as it eliminates the risk of typos!

  • Install package updates by typing (or copying & pasting via right-click into Putty) the following command:
    sudo apt-get dist-upgrade

Step 4: Install AMDGPU-PRO drivers

Next up, we’ll install AMD’s video drivers. AMD has special blockchain compute drivers available for mining that give far superior performance compared to their standard drivers, so that’s what we’ll be using (version 17.40, which is the latest as of 11/29/2017).

  • Type the following commands (press “enter” and wait for the operation to complete at the end of each line):
    cd ~/Downloads
    wget --referer=http://support.amd.com https://www2.ati.com/drivers/linux/beta/ubuntu/amdgpu-pro-17.40-483984.tar.xz
    tar -Jxvf amdgpu-pro-17.40-483984.tar.xz
    cd amdgpu-pro-17.40-483984
    ./amdgpu-pro-install -y
  • Some of these steps may take a minute or two to complete. When the installation is complete, type the following:
    sudo usermod -a -G video $LOGNAME
  • Next we need to install and configure the ROCm component:
    sudo apt install -y rocm-amdgpu-pro
    echo 'export LLVM_BIN=/opt/amdgpu-pro/bin' | sudo tee /etc/profile.d/amdgpu-pro.sh
  • Finally we need to enable large page support, which will dramatically improve mining performance. Type the following to open your grub file in nano for editing:
    sudo nano /etc/default/grub
  • Find the line that reads GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”. Modify it to:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.vm_fragment_size=9"
  • Save the file and quit nano by pressing CTRL+X and then answering (Y)es to save the changes. When you’re finished, update grub and reboot:
    sudo update-grub
    sudo reboot

The final command will reboot your rig, which will cause you to immediately lose your SSH (Putty) connection. Wait a few seconds to give the computer a chance to boot, and then re-establish a new connection via Putty, and re-login.

Step 5: Install Ethereum software

(Note: you may skip step 5 entirely if you already have an ethereum wallet address that you intend to use!)

Next up, we’ll install the Ethereum software that will let us create a new wallet address. We’ll need this to store the coins we receive from mining.

  • Type the following to install the necessary ethereum packages:
    sudo add-apt-repository ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum geth
    
  • Now it’s time to create your Ethereum wallet address:
    geth account new

You’ll be prompted to enter a password, and then to confirm it (use a strong password!). The output will be a long string between two curly braces { }. That’s your new wallet address—make a note of it (highlight it within Putty to copy it to your clipboard).

Important: The combination of the password you just used to create this address *and* the associated encrypted key file is what gives you control over your new wallet address. If you lose either of these, you’ve also lost control of your wallet and all of the coins associated with it—and there is literally nothing that anyone will be able to do to help you. Remember your password, and keep multiple backups of your key file(s)!

Your key file(s) are stored in the ~/.ethereum/keystore directory. Copy the entire /keystore folder someplace safe to backup your wallet (backups are covered in more detail heredon’t forget to make multiple backups and keep them in a secure offline location!).

If you forget your wallet address, you can type geth account list to see your addresses and the location of their key files.

Step 6: Install Claymore’s Ethereum miner

There are several options as far as mining software, and I’ve experimented with all of the popular ones. I think Claymore’s miner is the best option, even if it does have two fairly significant downsides: it’s closed-source, and it’s not free (~1% of your mining time benefits the creator of the miner).

Two alternatives are the stock ethereum miner (ethminer) and Genoil’s fork of the stock miner. They’re both open-source and free, but they have pretty crippling downsides.

The stock ethminer is much slower than Claymore’s miner (by a margin of over 5% on my test rig). In addition, ethminer creates the Ethereum DAG file on disk instead of in GPU memory, which is slow and uses a lot of space (and if you’re running off a USB stick, all those writes may eventually wear it out).

Genoil’s fork seems to be nearly as fast as Claymore’s, and it doesn’t use physical disk space for the DAG, but it’s not stable (at least not for me). It often crashes, especially on startup (whereas I have yet to see a single crash on Claymore’s miner after nearly a week of full-time mining). The author abandoned development months ago, so improvements are unlikely.

So, explanation aside, here is how to setup Claymore’s miner:

  • First return to your downloads directory and grab the latest version (10.2 as of 11/29/2017). I’m pulling the file directly from the author’s Google Drive repository, if the link is broken check here for a newer release or updated link):
    cd ~/Downloads
    sudo apt install curl
    curl -L -o claymore_10.2_miner.tar.gz https://drive.google.com/uc?id=1t25SK0lk2osr32GH623rR8aG2_qvZds9
    
  • Then create a new directory for it, and unpack it there:
    sudo mkdir /usr/local/claymore10.2
    sudo tar -xvf claymore_10.2_miner.tar.gz -C /usr/local/claymore10.2
    
  • Then let’s head over to the installation directory and create a startup script. Note that commands 2-5 below just clean up the installation directory a bit by removing an intermediary directory that was included in the original tar archive:
    cd /usr/local/claymore10.2
    cd Clay*
    sudo mv * /usr/local/claymore10.2
    cd ..
    sudo rm -r Clay*
    sudo chown root:root ethdcrminer64
    sudo chmod 755 ethdcrminer64
    sudo chmod u+s ethdcrminer64
    sudo nano mine.sh
    
  • Nano will open a new blank text file; enter the following into it:
    #!/bin/sh
    export GPU_MAX_ALLOC_PERCENT=100
    ./ethdcrminer64 -epool eth-us-east1.nanopool.org:9999 -ewal YOUR_WALLET_ADDRESS/Miner01 -epsw x -mode 1 -allpools 1 -tt 68
    

    Where it says YOUR_WALLET_ADDRESS, use the address you created in step 5 (you’ll need to put “0x” in front of it). The “Miner01” following your address can be changed to any friendly label that you want to give your miner (only important if you plan to run multiple rigs). It’s easiest to copy the last line from my guide into something like notepad, then replace YOUR_WALLET_ADDRESS with your actual address there, and then copy the finished line into putty via right-click to get everything into nano without typos.

  • Save the file and quit nano by pressing CTRL+X and then answering (Y)es to save the changes, then enter the following to give your new script execute permission:
    sudo chmod +x mine.sh

Note that I’m using nanopool.org as the mining pool here. I’ve tried a few, and it seems to be a top pick, but feel free to pick your own pool. Most don’t require registration, and simply payout to whatever wallet address you supply whenever a certain threshold is met (usually whenever you accumulate 1+ ETH). Assuming you stick with Nanopool, you’ll be able to check on your miner’s status by going to this URL after you start mining: https://eth.nanopool.org/account/[YOUR WALLET ADDRESS]

  • Now is a good time to test things. You can fire up your miner by typing:
    ./mine.sh

You should see the Claymore miner start up. It’ll take a minute or two before it actually starts mining, but it should get there eventually. When you see a scrolling log of outputs that includes non-zero hashrates (expect hashrates in the low to mid 20s for unoptimized GPUs), you’re good to go. If the script fails to start, or you see errors, make sure that you’ve created the script exactly as outlined in the guide.

Press CTRL+C to exit the miner when you’re satisfied that it’s working.

Step 7: Create auto-start scripts

We’re almost done! We want to set up our rigs automatically start mining whenever the rig is powered on. That way, we keep mining losses to a minimum whenever a power outage occurs, and we don’t have to worry about manually starting it back up in other situations.

  • First, install screen:
    sudo apt install screen
  • Then type the following to create a new script in your home directory and open it in nano:
    cd ~
    sudo nano miner_launcher.sh
  • Enter the following text into the editor (substitute your actual Xubuntu username for YOUR_XUBUNTU_USERNAME where necessary!):
    #!/bin/bash
    DEFAULT_DELAY=0
    if [ "x$1" = "x" -o "x$1" = "xnone" ]; then
       DELAY=$DEFAULT_DELAY
    else
       DELAY=$1
    fi
    sleep $DELAY
    cd /usr/local/claymore10.2
    su YOUR_XUBUNTU_USERNAME -c "screen -dmS ethm ./mine.sh"
  • Save and quit nano (CTRL+X), and then type:
    sudo chmod +x miner_launcher.sh
  • Now we need to call our new script during startup; we do that by adding it to /etc/rc.local. Type the following to open /etc/rc.local in nano:
    sudo nano /etc/rc.local
  • Add the following text, right above the line that reads “exit 0” (substitute your own username!):
    /home/YOUR_XUBUNTU_USERNAME/miner_launcher.sh 15 &

Then save and quit out of nano (CTRL+X).

Step 8: Create an alias to easily check on the Claymore miner process

We’re essentially done at this point, but you’ll probably want to manually SSH into your miner from time to time to manually check on your hashrates & GPU temperatures, etc. Creating an alias will make that easy.

  • Type:

    sudo nano .bashrc
  • Scroll to the end of the file, and then add this text above the line that reads “# enable programmable completion…”
    alias miner='screen -x ethm'
  • Save and quit out of nano.

That’s it—you’re done! You’ll probably want to run a full test now. The easiest way to do that is to close your Putty session and power down your miner. Turn it back on and the following should happen:

  1. Your miner should boot into Xubuntu. This may take up to a minute, depending on the speed of your boot device (it’ll be much faster on an SSD).
  2. 15 seconds after Xubuntu has loaded, the Claymore miner will automatically start and begin mining. You might notice the fans on your GPUs spin up a bit when this happens.
  3. You should be able to SSH into your miner at any time and type miner to monitor the miner’s process. To close the screen (but keep the miner running), press CTRL+A, then CTRL+D.
  4. If you ever need to start the Claymore miner manually (because you quit out of it, or kill it, etc), simply type ~/miner_launcher.sh

(update 1/15/2018: **IMPORTANT** please read this if your hashrate is lower than expected!) 

Output from a single budget RX 470 at stock settings running Claymore’s ETH miner. You should see something like this when connecting to your rig via SSH and running your “miner” alias.

Congratulations—you have your own headless linux ethereum miner!

The next section of this guide covers setup under Windows, and then we’ll take a look at optimizing miner settings for better performance.

You can leave a response, or trackback from your own site.

793 Responses to “Build your own Ethereum Mining Rig, part 2: Linux Setup”

  1. Malelom says:

    Hi,

    I followed your guide to build a mining rig, allmost ready now but i cant install the correct driver for my GPU (R9 280X).
    When i install the GPU drivers from your guide ubuntu will freeze in startup so i have to re-install it again.

    Any advise would be greatly appreciated.

  2. Tito Peley says:

    Hi, when start the miner show me this values for all GPU Ellesmere, 8192 MB available, 14 compute units when the value must be 32 or 36 compute units. What is wrong here?, thanks.

  3. pkaro says:

    I’ve got a miner up and running with 2 GTX 1070s, and it was hashing away at 26 Mh/s on each GPU for about 18 hours, however I restarted to test my miner_launcher script and since then it’s only mining at 12 Mh/s per card.

    I have tried various pools and settings but so far no luck.

    Any suggestions?

  4. Anonymous says:

    Every time I try to run mine.sh I get this?

    ./ethdcrminer64: 1: ./ethdcrminer64: Syntax error: Unterminated quoted string

  5. Ben says:

    You should bold and red “Remember your password, and keep multiple backups of your key file(s)!” I misunderstood that those files are needed to recover a wallet. Thought it was just the Key and Password.

    I reinstalled Ubuntu and didn’t back up the /Keystore – Is there anything I can do?

    • CryptoBadger says:

      Unfortunately, without the associated key file, there is no way to access ether stored in an address.

      You can try to use a file recovery / undelete tool on the disk. This is kind of a longshot if you’ve re-installed the OS, but there is a chance that the old /keystore directory might be recoverable. Good luck!

  6. deadman.walking says:

    Hello Cryptobadger, I’m mining since friday thanks to your guide, but when I check my founds in https://etherscan.io/ the balance is 0 ethers, Am I wasting ethers? how do I check my wallet balance? Is there anything I must check twice to assure the ethers earned from mining are going to my wallet?
    Other problem is that I can’t get claymore autostart at boot, I must start claymore manually, I can tell claymore is not running background because the fans aren’t working till I start claymore manually.
    Thanks and as I told before, this is the closest I got till now to mining (and the easiest).

    • CryptoBadger says:

      Your wallet balance is zero because the ether you earn at whatever mining pool you’re using isn’t transferred to your wallet until you pass a certain threshold (usually 1 ether). You can check your accumulated balance at the pool you’re using. Assuming you’re using ethermine.org as your pool, you can check your balance here: https://ethermine.org/miners/%5Byour wallet address]

      Regarding Claymore not starting automatically, what do you see when you type “miner” at the prompt (wait at least a minute until after your rig boots to try)?

      • deadman.walking says:

        Hello Cryptobadger, I checked my balance at the pool and it’s true, was searching for them in the wrong place, my ethers still in the pool, I have that doubt because I wasn’t able to see them anywhere, I thought was burning ethers to the limbo.
        I do as you said and waited up to 5 minutes for Claymore to run, but nothing.
        Triple checked my procedure to make Claymore autostart, and the problem is that I had my computer name instead of my session user name… really dumb error, but that little details are everything that was separating me from mining.
        Again thank you very much, your tutorials and your guide are the best and up to date to rum a mining rig with success.

  7. FluffyBadger says:

    Hi CryptoBadger,

    Thanks for the guide it’s really useful!

    I do have one issue though, I have got my machine up and mining no problem, but I am now in the process of making it automatic and more importantly letting myself disconnect from SSH while leaving the miner running.

    I have followed your guide and I am confident that the script will start on startup etc, but the script itself (miner_launcher.sh) I am getting 2 errors when I try to run it.

    (Don’t be confused, I use badger as an online name as well, but here is the error)

    badger@Badger-Miner:~$ ./miner_launcher.sh
    ./miner_launcher.sh: line 2: syntax error near unexpected token `then’
    ./miner_launcher.sh: line 2: `DEFAULT_DELAY=0 if [ “x$1” = “x” -o “x$1” = “xnone” ]; then’

    Do you know what is causing this? I have copied and pasted your text in, and changed my name to login name badger. I have also put breaks and tabs in places so it is layed out like yours, becasue after pasting it in the formating when a bit wierd!

    Any help is appreciated, thanks again!

    • CryptoBadger says:

      It looks like you’ve copied lines 1 and 2 onto a single line. When copying and pasting from my guide into nano, copy just one line at a time, and make sure that there is a line break (enter) after each one. When you’re done, the script in nano should look the same as it does in my guide – there should be 10 lines in all.

  8. Mike says:

    Thanks for writing this guide! I seem to be having a few issues.
    Each time I try to start mine.sh in a new terminal, I have to cd to /usr/local/claymore95 then chmod +x mine.sh, & also I can’t get the script to run on startup. One other issue is that screen doesn’t recognize ethm.
    Any help would be greatly appreciated.

    • CryptoBadger says:

      If ethm isn’t recognized as an attached screen, then your auto-start script isn’t working properly (which is also why your miner doesn’t start automatically). Double-check everything in step 7, especially that your miner_launcher.sh script is correct.

  9. Alter says:

    Hi there and thank you for the detailed guide.
    I have a problem executing step 6.

    my miner gives me a message that pool is rejecting me 🙁
    ETH: Share rejected!
    Socket was closed remotely (by pool)

    Any ideas?

    another Q: when does the miner get/receive the DAG file? How do I make sure it is the current DAG?
    Thanks again!

    • Alter says:

      I get the message the first time I try to operate the miner.

      “AMD Cards available: 1
      GPU #0: Ellesmere, 8014 MB available, 36 compute units
      GPU #0 recognized as Radeon RX 480/580
      POOL/SOLO version
      GPU #0: algorithm ASM
      No NVIDIA CUDA GPUs detected.
      Total cards: 1
      AMD ADL library not found.
      ETH: Stratum – connecting to ‘us1.ethermine.org’ port 4444
      ETHEREUM-ONLY MINING MODE ENABLED (-mode 1)
      ETH: eth-proxy stratum mode
      “-allpools” option is set, default pools can be used for devfee, check “Readme” file for details.
      Watchdog enabled
      Remote management (READ-ONLY MODE) is enabled on port 3333

      ETH: Stratum – Connected (us1.ethermine.org:4444)
      ETH: Share rejected!
      Socket was closed remotely (by pool)
      ETH: Job timeout, disconnect, retry in 20 sec…”

      Any ideas what’s wrong? How to solve?

      Thank you!

    • CryptoBadger says:

      Normally if the pool is rejecting you, it’s because you’re trying to connect using an invalid wallet address, or something else in your call to ethdcrminer64 is syntactically not right. Double-check the mine.sh script that you created in step 6, especially everything that follows the -ewal switch.

      With Claymore, the DAG file is created in GPU memory pretty quickly after the miner starts up. It’s not stored anywhere on disk. The miner will handle updates to make sure the DAG is always current automatically.

      • Alter says:

        Thanks CryptoBadger.
        Your advice to review the mine.sh was correct.
        Had a typo there.

        Thanks again for your great work on this guide and your quick responses.

  10. saul says:

    First and foremost, your guide has been invaluable to so many including me, so thank you for being so easy to understand and follow.

    Since the mining function based on this guide follows simple scripts, can you add a section to where we can create a second bash script to enable dual mining. I was thinking perhaps (e.g., ./dualmine.sh). I think i have an idea of how to create one based on youtube videos and research, but I believe it would be a nice addition to an already excellent guide.

    It would really just be modifying the original script:
    #!/bin/sh
    export GPU_MAX_ALLOC_PERCENT=100
    ./ethdcrminer64 -epool us1.ethermine.org:4444 -ewal YOUR_WALLET_ADDRESS.Miner01 -epsw x -mode 1 -tt 68 -allpools ——–> adding a second d(pool) [pool] [wallet].miner01 -d___ etc..

    Thank you

    • CryptoBadger says:

      Several people have asked me about this, so I’ll probably put a post up next week detailing how to do exactly that. You have the right idea though – you’ll also need to remove the “-mode 1” switch from the original script (or change it to -mode 0), as that tells Claymore to run in ETH-only mining mode.

  11. John says:

    Hello,

    On the step 8 when I run sudo nano .bashrc. The nano file comes up blank. Would you advise? because I can not see status of mining including Hashrate, Fan speed and etc.

    Thanks

  12. Andrew says:

    Thanks for your time. I have GTX 1070s running well under Windows but I cant seem to get the ability to run them under Linux. When I inistally stuck it in I had 26 Mh/s but the gpu was controlling the fan on it’s own and getting hotter than I wanted. After installing and trying stuff found from google searches now Claymore doesnt even recognize my GTX 1070. Any info on installing NVIDIA drivers and how to overclock / control fan?

    • CryptoBadger says:

      Unfortunately I don’t have any nVidia cards of my own, so the advice I can offer is limited regarding troubleshooting the driver install.

      Regarding fan speed: have you specified a temperature target in your mine.sh script (step 6)? The “-tt 68” in my example script sets the temp target to 68C – assuming you haven’t changed anything, your GPUs should be somewhere in the neighborhood of that temperature after they’ve been running for 5+ minutes. Normally if Claymore is unable to control the fans, you’ll see an error (at least, I’ve experienced that with AMD cards).

      • Anonymous says:

        Thanks for the feedback. According to the Claymore thread his miner does not support temp control, fan control, etc for the NVIDIA cards. Im hoping to get this thing going in linux and be able to overclock 1070s. Worse case scenario I will load Windows. Im getting 31 Mh/s in Windows 10

  13. Dube says:

    Hi CryptoBadger,

    Thanks for the Tutorial,

    It was pretty easy to follow along, but i go to start mining i get this error (on a HD 7990):

    AMD Cards available: 2

    GPU #0: Tahiti, 2950 MB available, 16 compute units

    GPU #1: Tahiti, 3034 MB available, 16 compute units

    POOL/SOLO version

    Cannot build OpenCL program for GPU 0

    Cannot build OpenCL program for GPU 1

    Segmentation fault (core dumped)

    Do you know what could cause this? Thanks!

  14. TGurau says:

    When executing “./mine.sh” the system says:
    ./ethdcrminer64: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

    Can’t figure out why it’s not working! Thanks in advance for the help and I reall appreciate the guide!

    • TGurau says:

      I restarted the instructions several times with the same output so I ran this:
      “sudo apt install ocl-icd-opencl-dev”
      and the script ran! The problem is that it outputs that it says “AMD OpenCL platform not found”
      What exactly am I missing???

      I’m running an AMD system with dual 7970s and want to test the hashrate on my cards (I have 2 more I can mine with once I get this to work).

      • hcwh says:

        Having same problem. Any solution to this? It seems like it may be related to the new AMD driver version. Didn’t have this problem on v16.

  15. Doctor says:

    Hi man, first I want to say thanx for guide, I am mining on linux with gtx 1060. But I want ask you what wallet is best for linux from yours experiences ? 🙂

    • Doctor says:

      Ahhh I am retard 😀 I am downloading wallet library 😀 I want to ask if that page coinbase is legit, its save to give them photo copy od ID card ? They are really paying real money for ethereum ? 🙂 One more time thanx for great guide and thanx for your tíme Cryptobadger 🙂

    • Hvalentino says:

      Hi Doctor can you share your step by step doing t with nvidia cards? I’m planning to build one with nvidia. Thanks! My email is hendi@ti.edu

      • Doctor says:

        Hi, I was going step by step as Cryptobadger wrote it in his guide, if there was some kind of trouble I used YouTube to search maybe how to install nvidia drivers on Linux 64bit, first time when I tryed to install Xbuntu on usb stick it was really laggy and I was not happy with that. Now I am using normal version of Linux 64bit (I think its ubuntu 16.04.2 or some like that). I doesnt remmember all steps but this was my first playing around Linux and if you will use guide on page for some commands, than pages for drivers and some next stuff you will make it. I am really noob in Linux 😀 But I was trying to use my head when I was doing something wrong. Ahhh and my first trouble with xbuntu in guide was like I cant install geth, xbuntu on page in guide was not working for me, thats why I downloaded full version of Linux, I made partition on my ssd only for Linux and its working perfectly 🙂 sry but I really dont remmember those steps, it was like „I will try this, and this and wow its working“

        Here is link for ubuntu which I am using
        https://www.ubuntu.com/download/desktop/contribute?version=16.04.2&architecture=amd64

        When you will have it, make bootable usb with rufus and it should work, you just need to follow steps in guide like me and you will be done with it

    • CryptoBadger says:

      I use pretty much exactly what I outlined in the guide – geth to generate a wallet address, and then I back the generated key file up in multiple offline places (USB sticks, etc).

      When I want to use/send any of my ether, I can just install Mist on any computer and import the key file from a backup.

      As far as hardware wallets, I haven’t used any myself, but the Ledger Nano S and Trezor are both popular and highly regarded.

  16. Tilos says:

    Here is my Config for Dual Mining with 570RX @ 1130 CoreClock, 2050 MemClock and 1500 Straps up to 2000

    Ethereum 29MH/s each Card
    Siacoin 460 MH/s each Card

    Config:
    -mode 0 -epool stratum+tcp://eu2.ethermine.org:4444 -ewal 0x9b70fcff8d8291dc028f2dc6ea6612e10fa6721a -eworker WhiteIce -epsw x -mport 0 -allcoins 1 -allpools 1 -dpool stratum+tcp://us-west.siamining.com:7777 -dwal 11d44524e1203f6f6accae2ab7e1a7b3720fa3b6ad840eee13ccfe479ecd23800dd7e256c323.Yo urWorkerName -dcoin sia -dcri 16

    SC: GPU0 454.240 Mh/s, GPU1 464.045 Mh/s
    ETH: 06/11/17-08:56:37 – New job from eu2.ethermine.org:4444
    ETH – Total Speed: 57.336 Mh/s, Total Shares: 30, Rejected: 0, Time: 00:39
    ETH: GPU0 29.362 Mh/s, GPU1 29.274 Mh/s
    SC – Total Speed: 917.376 Mh/s, Total Shares: 470, Rejected: 0
    SC: GPU0 453.798 Mh/s, GPU1 463.578 Mh/s
    GPU0 t=65C fan=88%, GPU1 t=65C fan=49%
    SC: 06/11/17-08:56:46 – SHARE FOUND – (GPU 0)
    SC: Share accepted (152 ms)!
    ETH: 06/11/17-08:56:46 – New job from eu2.ethermine.org:4444
    ETH – Total Speed: 57.413 Mh/s, Total Shares: 30, Rejected: 0, Time: 00:39
    ETH: GPU0 29.399 Mh/s, GPU1 29.014 Mh/s
    SC – Total Speed: 918.604 Mh/s, Total Shares: 471, Rejected: 0
    SC: GPU0 454.382 Mh/s, GPU1 464.222 Mh/s
    SC: 06/11/17-08:56:48 – SHARE FOUND – (GPU 1)
    SC: Share accepted (153 ms)!
    ETH: 06/11/17-08:56:54 – New job from eu2.ethermine.org:4444
    ETH – Total Speed: 57.406 Mh/s, Total Shares: 30, Rejected: 0, Time: 00:39
    ETH: GPU0 29.420 Mh/s, GPU1 28.985 Mh/s
    SC – Total Speed: 918.487 Mh/s, Total Shares: 472, Rejected: 0
    SC: GPU0 454.721 Mh/s, GPU1 463.766 Mh/s
    SC: 06/11/17-08:57:00 – SHARE FOUND – (GPU 1)
    SC: Share accepted (152 ms)!
    SC: 06/11/17-08:57:00 – SHARE FOUND – (GPU 0)
    SC: Share accepted (152 ms)!
    ETH: 06/11/17-08:57:00 – New job from eu2.ethermine.org:4444
    ETH – Total Speed: 57.374 Mh/s, Total Shares: 30, Rejected: 0, Time: 00:39
    ETH: GPU0 29.384 Mh/s, GPU1 29.190 Mh/s
    SC – Total Speed: 917.981 Mh/s, Total Shares: 474, Rejected: 0
    SC: GPU0 454.141 Mh/s, GPU1 463.840 Mh/s

  17. Johnny5 says:

    any help on this ?

    AMD Cards available: 1
    GPU #0: Pitcairn, 3072 MB available, 10 compute units
    POOL/SOLO version
    Cannot build OpenCL program for GPU 0

    If I set GPU_FORCE_64BIT_PTR=1

    It will work but I get 1/2 the hash rate

  18. Ben says:

    Claymores default script has more flags set than the single max-CPU one you use in your start up script. Any reason you don’t set those other options?

  19. tim says:

    Thanks a lot for the great guide ! By sharing your knowledge you literally saved me hours and hours of my life ! The first .1 ether will go to your wallet, well deserved.
    I have one question: I started two rigs this weekend, and tried to use the wallet address from the first rig at the second rig. Ethermine didnt like that I think, as I got disconnected every time.
    When I created a new account everything was fine.
    It would be handy though to have the two rigs working in one account.
    Is there a way to do that ?
    Thanks again,

    • B says:

      +1 to this, I was just searching for how to run two rigs. Two wallets or just one?

    • deadman.walking says:

      Tim I sugest to work with one wallet by rig, as long as if anything goes wrong with the disk, you can say goodbie to all your ether in that wallet, but is less loss one wallet destroyed that all your ether burnt, besides the easiest option is to follow this guide as is. Yes, you can backup your wallets on your different miners, but which one will prevail? 0x5674651316651(1)? 0x5674651316651(2)? or 0x5674651316651(3)?
      Or maybe you can save your wallet in an redundant RAID NAS in your network, but I think if all your miners try to write data in the same wallet maybe the data of the last transaction could be overwriten… I think is called “fork”, and as long as I know that’s not something you want to do because you’re creating “2 diferent realities for your ethers”, and they can’t be merged.
      But something you definitelly can’t do is have the same wallet in 2 miners at same time, I believe is the same logic as in a real money wallet, you can’t have the same wallet inside two diferent people’s pocket, but if you put it where both people have access, both can take and put money in that same wallet.
      The true is that your question is a interesting one, but I think there’s more risks than benefits in running one wallet for all your rigs.
      Maybe the more secure way is to transfer all the ethers in your diferent rigs into a “main” wallet.

    • CryptoBadger says:

      Yes, you can use the same wallet address across multiple rigs (I do this myself). You probably need to specify a different worker name on each rig, though – assuming your wallet address is xxxxxxxxxx, the -ewal switch in your mine.sh script should look something like this on the first rig:

      -ewal xxxxxxxxxx.Miner01

      and then this on the second rig:

      -ewal xxxxxxxxxx.Miner02

      When you check on your mining status via Ethermine’s page (https://ethermine.org/miners/xxxxxxxxxx), you should see both workers listed under your single wallet address.

      • tim says:

        Thank you CryptoBadger, now both rigs earnings flow into the same wallet address. I guess I was confused with having to create a new account and I thought I had to use that corresponding address as well.

        @deadman.walking: thanks for commenting, the security concern you bring up is real but can and should be addressed by taking other measures, the NAS RAID option is a nice one I will consider.
        The comparison to a real world wallet, as far as I understand now, is not correct. I like to see the wallet as a bank account, where people from anywhere can send money to. The mining rigs being senders of money to my account.

      • Ben says:

        So I don’t need to install Ethereum on the second rig? Just Claymore and adjust the startup script to name it a different miner?

        • tim says:

          You DO need to install Ethereum on the second rig, ethermine.org only communicates with rigs that have an account set.
          However you don’t have to use the wallet address that you get with that new account, you can use the address from your first account / rig.

          • Anonymous says:

            Hmm. Are you sure? I’m watching my pool stats and it’s counting the hash rate and shares and workers. The 2nd rig doesn’t have ethereum installed.

          • tim says:

            No I’m not sure, just when I skipped installing Ethereum the rig didn’t show up; after installing it did.
            Guess there are more ways to accomplish it.

  20. Daniel says:

    I’m stuck on step 7. When I try to run ./mine.sh it gives me the following error code:
    ./ethdcrminer64: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

    I followed all your steps and I can’t seem to get past this.

  21. Frede Ramos says:

    Hello hello,

    Thanks for your really good job.

    I’h already level up after build my rig, start at june 1.

    In my opinion uses geth to mane account and wallet it is very hard for new people.

    I have 3 amd gpus ( 2x 570 , 1x 480) at 78,5 hash drawing 430w. (Overclocked and underpowered).

    Thanks for your good work and good contnuing.

    Best regards

  22. Hans says:

    Brilliant! This worked for me (I could not get Genoil to compile). I also did have to add an additional few lines for my script as I have an older Radeon 7970 GPU:

    export GPU_FORCE_64BIT_PTR=1
    export GPU_MAX_HEAP_SIZE=100
    export GPU_USE_SYNC_OBJECTS=1
    export GPU_MAX_ALLOC_PERCENT=100
    export GPU_SINGLE_ALLOC_PERCENT=100

  23. Hans says:

    Sorry, the 7970 card that I have only has 3GB of RAM, so that is why the additional lines are needed

  24. SJK says:

    Hi I am set up using Claymore9.0 in linux as per the instructions on this site a month or so ago.

    I notice now a later version is available, is it worth doing? How do I update to the latest version?

    I need step by step as I’m not sure how the scripts will need to be deleted / changed if at all

    • Asind says:

      Hi friends. I trying to upgrade to latest version Claymore too. Much help greatly appreciated. Good guide. Excellent website!

    • CryptoBadger says:

      So far I’ve noticed absolutely no performance difference between the various Claymore versions – there is no need to upgrade if everything is already working for you.

      Same story with GPU driver versions – I get the same hashrate with the latest driver as I did with the previous few versions.

      My guide has been updated with instructions for the latest versions of both the GPU driver and Claymore miner if you want to update – but again, I see no reason to.

  25. Charles says:

    Hi CryptoBadger,
    I started mining some DCR just to see if I could get higher ETH hashrates (as promised in Claymore’s github FAQ), but my hashrates have gotten cut in half! Any idea why this would be happening? I’ve noticed that my GPUs ( 4 x NVIDIA 1070) have been pretty up-and-down in terms of hashrates – varying by as much as 50% before I started dual mining. I would go from 10Mh/s to 25Mh/s and then back. I don’t know if that is indicative of a problem or not. So really 2 questions:
    1) Should my GPU hashrates vary that much?
    2) Any reason why mining DCR (with the -dcri set to 15) should cut my ETH hashrates by 50%?

    Many thanks for your time.

    Charles

    • CryptoBadger says:

      I only have experience with AMD cards, and with -dcri 15 I see virtually no impact on my ETH hashrate when dual mining. A quick Google search seems to indicate that -dcri 50 is about optimal for nVidia cards (compared to 15-20 for AMD) – so it’s worth trying, but intuitively that will probably only make your issue worse.

      If you’re not able to dual-mine without significantly impacting your ETH mining, I’d likely just switch to mining ETH only. Dual mining is a fairly minor bonus and it probably isn’t worth reducing your ETH income by a noticeable amount.

Leave a Reply