Adding unsupported miners to smOS

in #mining6 years ago (edited)

No longer needed, smOS has a custom miner option now.

How to add an unsupported miner to smOS

The information here is out of date. see my github for a working script.

https://github.com/greerso/smOS-unsupported-miners

Some basic understanding of linux cli would be helpful but is not necessary. I have a tutorial here Linux CLI (Command Line Interface) primer for beginners — Steemit.

You cannot update the list of miners available on simplemining.net so we will be making the new miner masquerade as the old miner. You will need to keep this in mind when configuring your rig group.

Something else to consider is that smOS, currently, only has support for Cuda 8.0 and 9.0. The miner that you install will need to be compiled for one of those versions. A miner compiled for Cuda 9.2 will not work without extra steps not covered here.

This tutorial can be summarized into:

  • Login to rig
  • Download new miner
  • Expand new miner
  • Backup old miner
  • Move new miner into old miner directory
  • Symlink new miner
  • Setup rig group for old miner with new miner config
  • Assign group to rig
  1. Log into your smOS rig as the miner user with your smOS email as the password (unless you changed the password already, then use that) via ssh. You will need the Terminal app on MacOS or PuTTY on Windows.

    login.gif

    The ~ means that you’re in the home directory for the current user, the $ means that you’re logged in as a normal user and not root (this is a good thing). If you see a you are root (in most cases, this is a bad thing).

  2. Download the new miner binary directly to the home directory. If you have moved out of this directory between step one and here, cd [enter] will get you back there.
    In this tutorial I’ll download the latest ccminer release from my own repository because tpruvot does not have binaries for linux in his repo and also the Dumax fork to show a slightly different way of doing it.

    download.gif

    #ccminer from my repo
    wget https://github.com/greerso/smOS-unsupported-miners/raw/master/miners/ccminer-v2.3.gz
    
    #ccminer from Dumax repo
    wget https://github.com/DumaxFr/ccminer/releases/download/dumax-0.9.3/ccminer-dumax-0.9.3-linux64-smOS.tar.gz
    

    wget is the command that downloads the file, what follows is the url of the file. Replace this url with the url to the binary of the miner that you would like.
    You now have a file named ccminer-v2.3.gz and/or ccminer-dumax-0.9.3-linux64-smOS.tar.gz, you can see this by using the command ls.

    ls -la
    

    ls is the the command to list the contents of a directory the l flag means to list in long form, showing you extra information about the files and the a flag means all, including invisible files. Invisible files begin with a . and adding a dot to the start of a file or directory makes it invisible.

    A binary is an application compiled from source. You will need the linux binary for the miner that you would like to install.

  3. Expand the compressed binary.

    gunzip.gif

    Your miner may end in tar.gz, bz2, 7z, xz, tar.xz or something else. The following command will be different depending on what format the file that you downloaded is in. I will cover the two most popular formats. Google is your friend for all other formats.

    gunzip ccminer-v2.3.gz
    

    gunzip is the command for decompressing .gz files.

    For the dumax version the file is tar.gz so the command to expand it is:

    tar xvf ccminer-dumax-0.9.3-linux64-smOS.tar.gz
    
    #for this miner I suggest taking the extra step to rename it to something other than ccminer so that you know exactly what fork it is.
    mv ccminer ccminer-dumax-0.9.3
    

    tar is the command for extracting tar files, even those compressed with gzip. The next three letters xvf are command line arguments. x tells tar that you would like to extract the files from the archive, v tells tar to be verbose in its output and is optional, f tells tar that you about to give it a file to read from.

    Now would be a good time to use the ls command again to confirm that you no longer have a gz file and instead have an uncompressed binary. If you started with a tar.gz or tgz file, you may end up with multiple files or even a directory containing files in addition to the original compressed file.

  4. Backup the old Miner.

    The miners in smOS are stored in the following location /root/miners_org . In the latest version of smOS, miners do not download until you try to use them, so you must first configure a rig group and attempt to mine with the miner that you would like to replace in order for it to download to the miners_org directory.

    backup.gif

    In this tutorial we will replace sgminer-gm-5.5.5, this is in the directory /root/miners_org/sgminer-gm-5.5.5/. Before replacing it backup the existing miner with the mv command:

    sudo mv /root/miner_org/sgminer-gm-5.5.5/sgminer /root/miner_org/sgminer-gm-5.5.5/sgminer_backup
    

    sudo is required because we are changing a file that only ‘root’ user has permission to change. The sudo command allows you to execute commands as the root user as long as your user account has the sudo privilege.

    mv is the ‘move’ command, move is how you rename a file. We used the full path of the file we wanted to rename and what we wanted to rename it to. By using full paths we do not have to cd into those directories.

  5. Move our new miner into the sgminer-gm-5.5.5 directory, again using the mv command:

    move.gif

    #ccminer from my repo
    sudo mv ccminer-v2.3 /root/miner_org/sgminer-gm-5.5.5/
    
    #ccminer from Dumax repo
    sudo mv ccminer-dumax-0.9.3 /root/miner_org/sgminer-gm-5.5.5/
    

    If you want both, you’ll want to move one of them into a different smos miner directory, you can only replace miner one-to-one.

    I didn’t specify the full path to ccminer because it is in our current directory. I did specify the full path of where we want to copy the file to but stopped at the folder name, the trailing slash is important. I prefer not to rename the ccminer file but instead take the extra step of creating a symbolic link (shortcut) to that miner so that it is easy to see that I have configured one miner to look like another when I come back to this directory at a later date.

  6. Create a symbolic link from the new ccminer to the old sgminer so that simplemining.net is fooled into thinking that ccminer is sgminer-gm-5.5.5:

    symlink.gif

    #ccminer from my repo
    sudo ln -s /root/miner_org/sgminer-gm-5.5.5/ccminer-v2.3 /root/miner_org/sgminer-gm-5.5.5/sgminer
    
    #ccminer from Dumax repo
    sudo ln -s /root/miner_org/sgminer-gm-5.5.5/ccminer-dumax-0.9.3 /root/miner_org/sgminer-gm-5.5.5/sgminer
    

    The ln command makes a link, the -s flag makes it a symbolic link.

    Take a look at what we created with the following command:

    ls -l /root/miner_org/sgminer-gm-5.5.5/
    

    Note that the sgminer symlink points to ccminer-v2.3 sgminer -> /root/miner_org/sgminer-gm-5.5.5/ccminer-v2.3

  7. Go to http://simplemining.net and setup a new rig group for sgminer-gm-5.5.5 but remember that it is actually ccminer-v2.3 so you will use miner options for ccminer and not for sgminer.

  8. Assign the new optiminer group to a rig.

Sort:  

You can download and move a miner into place all in one step if you pipe curl to tar. This is a little more advanced so I didn't include in the tutorial but it is how I do it. curl -sSL https://github.com/DumaxFr/ccminer/releases/download/dumax-0.9.3/ccminer-dumax-0.9.3-linux64-smOS.tar.gz | tar xvz -C /root/miner_org/sgminer-gm-5.5.5/