Litecoin

From r00tedvw.com wiki
(Difference between revisions)
Jump to: navigation, search
(xinit script)
(Install OS and software)
 
(7 intermediate revisions by one user not shown)
Line 10: Line 10:
 
<br>
 
<br>
 
update and upgrade all packages on your system
 
update and upgrade all packages on your system
  sudo apt-get update && apt-get upgrade
+
  sudo apt-get update && sudo apt-get upgrade -y
 
install needed tools
 
install needed tools
 
  sudo apt-get install -y build-essential gcc make cmake mc python-dev subversion git bzip2 unzip xorg
 
  sudo apt-get install -y build-essential gcc make cmake mc python-dev subversion git bzip2 unzip xorg
Line 16: Line 16:
 
<br>
 
<br>
 
install the AMD/ATI drivers and software
 
install the AMD/ATI drivers and software
  sudo apt-get install fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev
+
  sudo apt-get install -y fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev
 +
 
 
==Begin Configuration==
 
==Begin Configuration==
 
configure xorg for the video cards
 
configure xorg for the video cards
Line 29: Line 30:
 
To correct this, we need to create a startup script to get X initialized. I did the following:<br>
 
To correct this, we need to create a startup script to get X initialized. I did the following:<br>
 
:1. create a file in my mining folder and paste the script
 
:1. create a file in my mining folder and paste the script
  nano /etc/mining/xinit
+
  ~$sudo mkdir /etc/mining
 +
~$nano /etc/mining/xinit
 
   
 
   
 
  #!/bin/bash
 
  #!/bin/bash
Line 67: Line 69:
 
:2. with the script created, next is to set executable permissions and add it to init.d for easy auto start and managing
 
:2. with the script created, next is to set executable permissions and add it to init.d for easy auto start and managing
 
  sudo chmod +x /etc/mining/xinit
 
  sudo chmod +x /etc/mining/xinit
  sudo ls -s /etc/mining/xinit /etc/init.d/xinit
+
  sudo ls -s /etc/mining/xinit /etc/init.d/
 +
sudo update-rc.d xinit defaults 90
 
  sudo /etc/init.d/xinit start
 
  sudo /etc/init.d/xinit start
 
:While the above works, I have '''not''' found it to be 100% reliable.  Sometimes I will still get the error about X not running, so I added a line to launch it during the litecoin mining script we'll create later.<br>
 
:While the above works, I have '''not''' found it to be 100% reliable.  Sometimes I will still get the error about X not running, so I added a line to launch it during the litecoin mining script we'll create later.<br>
Line 104: Line 107:
 
Download cgminer 3.7.2 and unzip (last version that has GPU support since the author says GPU mining is dead due to ASIC miners and such)
 
Download cgminer 3.7.2 and unzip (last version that has GPU support since the author says GPU mining is dead due to ASIC miners and such)
 
  wget http://ck.kolivas.org/apps/cgminer/3.7/cgminer-3.7.2-x86_64-built.tar.bz2
 
  wget http://ck.kolivas.org/apps/cgminer/3.7/cgminer-3.7.2-x86_64-built.tar.bz2
 +
if the above link is dead cgminer-3.7.2.tar.bz2 may work, but you will need to make it yourself.
 +
alternatively, grab a copy from another trustworthy source (i did from an old mining setup)
 
  tar jxvf cgminer-3.7.2-x86_64-built.tar.bz2
 
  tar jxvf cgminer-3.7.2-x86_64-built.tar.bz2
 
Check to see if cgminer can see your video cards, should be an output like such
 
Check to see if cgminer can see your video cards, should be an output like such
Line 119: Line 124:
 
   [2014-01-13 01:44:11] 2 GPU devices max detected                     
 
   [2014-01-13 01:44:11] 2 GPU devices max detected                     
 
   [2014-01-13 01:44:11] USB all: found 2 devices - listing known devices                     
 
   [2014-01-13 01:44:11] USB all: found 2 devices - listing known devices                     
   [2014-01-13 01:44:11] No known USB devices  
+
   [2014-01-13 01:44:11] No known USB devices
 +
 
 
==Create a litecoin mining script==
 
==Create a litecoin mining script==
 
Now we create the litecoin mining script that I mentioned earlier.  This section will probably change as right now I have it relying on sudo to start, which I dont want and would rather it start automatically with the system boot.  However, it's functional.<br>
 
Now we create the litecoin mining script that I mentioned earlier.  This section will probably change as right now I have it relying on sudo to start, which I dont want and would rather it start automatically with the system boot.  However, it's functional.<br>
Line 164: Line 170:
 
   [2014-01-13 01:32:19] Accepted 0242037e Diff 29K/128 GPU 0 pool 0
 
   [2014-01-13 01:32:19] Accepted 0242037e Diff 29K/128 GPU 0 pool 0
 
==Closing==
 
==Closing==
I'll be updating this with more information in the future, like how to autostart everything upon system boot, how to ssh in and check to see how its doing, etc.  All that information is already out there, but I haven't done it yet so I know nothing about it.
+
I'll be updating this with more information in the future, like how to autostart everything upon system boot, how to ssh in and check to see how its doing, etc.  All that information is already out there, but I haven't done it yet so I know nothing about it.<br>
 +
<br>
 +
In the examples above, you'll notice that the GPU temps are pretty high, '''90C'''.  As a rule of thumb both for performance and longevity, you don't want your GPUs surpassing 70-75C.  This will generally require you to do a few things, especially if you're running the multiple video cards in one system, directly in their slots (not using risers), and have the case closed.  I'm not entire sold on the open air design that most go with as I think I can get results that as just as good if I design the airflow properly and with positive pressure (which forces the heat out).
 +
*closed case needs positive pressure
 +
*Good thermal paste - stock thermal paste always sucks (if you think otherwise, you're fooling yourself)
 +
*lapped heatsink - if you have the time, allows better contact and likewise heat transfer.
 +
*airflow within case should be thought out and have the least amount of obstructions as possible. 
 +
<br>
 +
At the time of this writing, the case I had the cards in was not thought out at all, I was just trying to get everything working.  It's currently in a 4U case sitting in a 42U rack on the bottom with nothing below it.  just by taking the case cover off, temps drop to 65C - 75C, so there is definite room for improvement.
 +
 
 
==References==
 
==References==
 
http://www.cryptobadger.com/2013/04/build-a-litecoin-mining-rig-linux/<br>
 
http://www.cryptobadger.com/2013/04/build-a-litecoin-mining-rig-linux/<br>
 
http://infi.wikidot.com/blog:1<br>
 
http://infi.wikidot.com/blog:1<br>
 
https://www.weminecryptos.com/forum/topic/1024-cgminer-error-while-loading-shared-libraries-libudevso1-cannot-open-shared-object-file-no-such-file-or-directory/<br>
 
https://www.weminecryptos.com/forum/topic/1024-cgminer-error-while-loading-shared-libraries-libudevso1-cannot-open-shared-object-file-no-such-file-or-directory/<br>

Latest revision as of 22:44, 20 April 2016

Contents

[edit] Disclaimer

The below guide is for personal reference. If anyone other than the author uses it, it is at their own risk. Nothing in here describes anything about security, so that's up to you to figure out and prevent all your virtual currency from being stolen.

You've been warned

[edit] Install OS and software

If this is a dedicated mining box, install Ubuntu Server 12.04 LTS (latest LTS version at the time of this writing, supported until 04/2017)

http://releases.ubuntu.com/precise/ubuntu-12.04.3-server-amd64.iso

Install ssh during the Operating system install

update and upgrade all packages on your system

sudo apt-get update && sudo apt-get upgrade -y

install needed tools

sudo apt-get install -y build-essential gcc make cmake mc python-dev subversion git bzip2 unzip xorg

xorg needs to be installed before the amd packages are downloaded and installed otherwise you will get errors citing that apt-get cannot create symlinks to files that dont exist
install the AMD/ATI drivers and software

sudo apt-get install -y fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev

[edit] Begin Configuration

configure xorg for the video cards

sudo aticonfig --lsa
sudo aticonfig --adapter=all --initial

reboot for settings to apply

sudo reboot


[edit] xinit script

On the server edition if you try to run sudo aticonfig --adapter=all --odgt at this point, you'll get an error:

ERROR - X needs to be running to perform AMD Overdrive(TM) commands

To correct this, we need to create a startup script to get X initialized. I did the following:

1. create a file in my mining folder and paste the script
~$sudo mkdir /etc/mining
~$nano /etc/mining/xinit

#!/bin/bash
# standard functions library
. /lib/lsb/init-functions
# Start the xinit
start() {
        # Start xinit on background and redirect stdout and stderr to log file
        echo "Starting xinit"
        xinit &> /var/log/xinit.log &
}
# Restart the xinit
stop() {
        echo "Stopping xinit"
        killall xinit
}
### main logic ###
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status xinit
        ;;
  restart|reload|condrestart)
        stop
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac
exit 0
2. with the script created, next is to set executable permissions and add it to init.d for easy auto start and managing
sudo chmod +x /etc/mining/xinit
sudo ls -s /etc/mining/xinit /etc/init.d/
sudo update-rc.d xinit defaults 90
sudo /etc/init.d/xinit start
While the above works, I have not found it to be 100% reliable. Sometimes I will still get the error about X not running, so I added a line to launch it during the litecoin mining script we'll create later.
3. run a couple more config settings which will also be present in the litecoin mining script we'll create later
export DISPLAY=:0
echo export DISPLAY=:0 >> ~/.bashrc
4. test to see if aticonfig now shows card results without complaining about X not running
r00t@miner1:/etc/mining$ sudo aticonfig --adapter=all --odgt
[sudo] password for r00t: 

Adapter 0 - AMD Radeon HD 6800 Series 
            Sensor 0: Temperature - 89.00 C

Adapter 1 - AMD Radeon HD 6800 Series 
            Sensor 0: Temperature - 73.00 C

Test to see if the video adapters are properly initialized

r00t@miner1:/etc/mining$ fglrxinfo
display: :0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 6800 Series 
OpenGL version string: 4.2.12217 Compatibility Profile Context 12.104



display: :0  screen: 1
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 6800 Series 
OpenGL version string: 4.2.12217 Compatibility Profile Context 12.104

[edit] CGMiner download and config

Before I could run cgminer, I was getting errors that I had to fix:

./cgminer: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory

Added the following symlinks to fix it:

sudo ln -s /usr/local/lib/libjansson.so.4 /usr/lib/libjansson.so.4
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.1

Download cgminer 3.7.2 and unzip (last version that has GPU support since the author says GPU mining is dead due to ASIC miners and such)

wget http://ck.kolivas.org/apps/cgminer/3.7/cgminer-3.7.2-x86_64-built.tar.bz2
if the above link is dead cgminer-3.7.2.tar.bz2 may work, but you will need to make it yourself.
alternatively, grab a copy from another trustworthy source (i did from an old mining setup)
tar jxvf cgminer-3.7.2-x86_64-built.tar.bz2

Check to see if cgminer can see your video cards, should be an output like such

r00t@miner1:/etc/mining$ cd cgminer-3.7.2-x86_64-built
r00t@miner1:/etc/mining/cgminer-3.7.2-x86_64-built$ ./cgminer -n
./cgminer: /lib/x86_64-linux-gnu/libudev.so.1: no version information available (required by ./cgminer)
 [2014-01-13 01:44:11] CL Platform 0 vendor: Advanced Micro Devices, Inc.                    
 [2014-01-13 01:44:11] CL Platform 0 name: AMD Accelerated Parallel Processing                    
 [2014-01-13 01:44:11] CL Platform 0 version: OpenCL 1.2 AMD-APP (1124.2)                    
 [2014-01-13 01:44:11] Platform 0 devices: 2                    
 [2014-01-13 01:44:11] 	0	Barts                    
 [2014-01-13 01:44:11] 	1	Barts                    
 [2014-01-13 01:44:11] GPU 0 AMD Radeon HD 6800 Series  hardware monitoring enabled                    
 [2014-01-13 01:44:11] GPU 1 AMD Radeon HD 6800 Series  hardware monitoring enabled                    
 [2014-01-13 01:44:11] 2 GPU devices max detected                    
 [2014-01-13 01:44:11] USB all: found 2 devices - listing known devices                    
 [2014-01-13 01:44:11] No known USB devices

[edit] Create a litecoin mining script

Now we create the litecoin mining script that I mentioned earlier. This section will probably change as right now I have it relying on sudo to start, which I dont want and would rather it start automatically with the system boot. However, it's functional.
In your CGMiner directory, create a script. Keep in mind, my script is for Dual (2) 6870s, you may need to adjust your cgminer settings to get the best results. In this, you see that I call upon the xinit script we created earlier, this is because I've launched the xinit script 10 minutes prior to mining and had issues because it had stopped running by then. Figured I'd just add this to make sure it's running before I start mining.

nano mine_litecoins.sh
#!/bin/sh
export DISPLAY=:0
export GPU_MAX_ALLOC_PERCENT=100
export GPU_USE_SYNC_OBJECTS=1
/etc/init.d/xinit start
cd /etc/mining/cgminer-3.7.2-x86_64-built
#./cgminer --scrypt -I 18,18 -w 64,64 --thread-concurrency 6720,6720 --gpu-engine 900 --gpu-memclock 1050 --auto-fan --temp-target 60 -o stratum+tcp://america.mine-litecoin.com -u [username] -p [password]
#./cgminer --scrypt --worksize 256,256 --thread-concurrency 7040,7040 --vectors 4,4 --gpu-threads 2 -I 18,18 -g 1 --auto-fan --auto-gpu --temp-target 60 -o stratum+tcp://usa-1.liteguardian.com:3334  -u [username] -p [password]
./cgminer --scrypt -I 18,18 -w 64,64 --thread-concurrency 6720,6720 --gpu-engine 900 --gpu-memclock 1050 --auto-fan --temp-target 60 -o stratum+tcp://usa-1.liteguardian.com:3334 -u [username] -p  [password] --failover-only -o stratum+tcp://eu-1.liteguardian.com:3334 -u [username] -p [password]

Make the script executable

sudo chmod +x mine_litecoins.sh

[edit] Mine Coins!

Here's the moment of truth:

sudo /etc/mining/cgminer-3.7.2-x86_64-built/mine_litecoins.sh

You should be presented with a screen that looks like this:

cgminer version 3.7.2 - Started: [2014-01-13 00:46:57]
--------------------------------------------------------------------------------
 (5s):587.8K (avg):602.7Kh/s | A:23392  R:128  HW:0  WU:521.3/m
 ST: 2  SS: 0  NB: 24  LW: 346  GF: 0  RF: 0
 Connected to usa-1.liteguardian.com diff 128 with stratum as user atlantonius.2
 Block: c44b4804...  Diff:3.89K  Started: [01:31:37]  Best share: 51.8K
--------------------------------------------------------------------------------
 [P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
 GPU 0:  90.0C 4806RPM | 301.4K/301.7Kh/s | A:11744 R:128 HW:0 WU: 277.4/m I:18
 GPU 1:  73.0C 4410RPM | 301.4K/301.7Kh/s | A:11648 R:  0 HW:0 WU: 243.9/m I:18
--------------------------------------------------------------------------------

 [2014-01-13 01:30:28] Accepted 01451766 Diff 202/128 GPU 0 pool 0
 [2014-01-13 01:30:35] Accepted 910756d9 Diff 452/128 GPU 0 pool 0
 [2014-01-13 01:30:48] Accepted 0169793a Diff 181/128 GPU 1 pool 0
 [2014-01-13 01:31:02] Accepted 011779fb Diff 234/128 GPU 0 pool 0
 [2014-01-13 01:31:08] Accepted 58b80493 Diff 739/128 GPU 0 pool 0
 [2014-01-13 01:31:10] Stratum from pool 0 detected new block
 [2014-01-13 01:31:28] Accepted 01bded65 Diff 147/128 GPU 0 pool 0
 [2014-01-13 01:31:32] Accepted 013a06f3 Diff 209/128 GPU 0 pool 0
 [2014-01-13 01:31:37] Stratum from pool 0 detected new block
 [2014-01-13 01:32:19] Accepted 0242037e Diff 29K/128 GPU 0 pool 0

[edit] Closing

I'll be updating this with more information in the future, like how to autostart everything upon system boot, how to ssh in and check to see how its doing, etc. All that information is already out there, but I haven't done it yet so I know nothing about it.

In the examples above, you'll notice that the GPU temps are pretty high, 90C. As a rule of thumb both for performance and longevity, you don't want your GPUs surpassing 70-75C. This will generally require you to do a few things, especially if you're running the multiple video cards in one system, directly in their slots (not using risers), and have the case closed. I'm not entire sold on the open air design that most go with as I think I can get results that as just as good if I design the airflow properly and with positive pressure (which forces the heat out).

  • closed case needs positive pressure
  • Good thermal paste - stock thermal paste always sucks (if you think otherwise, you're fooling yourself)
  • lapped heatsink - if you have the time, allows better contact and likewise heat transfer.
  • airflow within case should be thought out and have the least amount of obstructions as possible.


At the time of this writing, the case I had the cards in was not thought out at all, I was just trying to get everything working. It's currently in a 4U case sitting in a 42U rack on the bottom with nothing below it. just by taking the case cover off, temps drop to 65C - 75C, so there is definite room for improvement.

[edit] References

http://www.cryptobadger.com/2013/04/build-a-litecoin-mining-rig-linux/
http://infi.wikidot.com/blog:1
https://www.weminecryptos.com/forum/topic/1024-cgminer-error-while-loading-shared-libraries-libudevso1-cannot-open-shared-object-file-no-such-file-or-directory/

Personal tools
Namespaces

Variants
Actions
Navigation
Mediawiki
Confluence
DevOps Tools
Ubuntu
Ubuntu 22
Mac OSX
Oracle Linux
AWS
Windows
OpenVPN
Grafana
InfluxDB2
TrueNas
OwnCloud
Pivotal
osTicket
OTRS
phpBB
WordPress
VmWare ESXI 5.1
Crypto currencies
HTML
CSS
Python
Java Script
PHP
Raspberry Pi
Canvas LMS
Kaltura Media Server
Plex Media Server
MetaSploit
Zoneminder
ShinobiCE
Photoshop CS2
Fortinet
Uploaded
Certifications
General Info
Games
Meal Plans
NC Statutes
2020 Election
Volkswagen
Covid
NCDMV
Toolbox