WARNING WARNING WARNING
THIS TUTORIAL WILL NOT WORK WITH CGMINER BECAUSE KANO AND ckolivas HAVE DECIDED TO ABANDON SUPPORT FOR THEIR PRODUCT INSTEAD ONLY CHOOSING TO SUPPORT ASIC BITCOIN MINERS. THEY HAVE ENDED ALL SUPPORT FOR GPU MINING AND ABANDONED THEIR COMMUNITY. DO NOT USE CGMINER AS THE AUTHORS ARE TRAITORS AND JACKASSES.
WARNING WARNING WARNING NEW PREFERRED MINER IS BFGMINER
DO NOT FOLLOW THIS TUTORIAL.
Current single GPU stable working version combination is SDK 12.7 and Catalyst Driver 12.3.
Current multi GPU stable with 6 GPU's working under Centos 6.0 w/SDK 12.4 & Driver 11.4
--------------------------------------------------------------------------------
[P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
GPU 0: | 310.2M/349.0Mh/s | A:3 R:0 HW:0 U:16.72/m I:12
GPU 1: | 309.0M/374.0Mh/s | A:2 R:0 HW:0 U:11.15/m I:12
GPU 2: | 277.9M/349.0Mh/s | A:0 R:0 HW:0 U: 0.00/m I:12
GPU 3: | 294.6M/374.0Mh/s | A:0 R:0 HW:0 U: 0.00/m I:12
GPU 4: | 271.4M/349.0Mh/s | A:2 R:0 HW:0 U:11.15/m I:12
GPU 5: | 311.8M/374.0Mh/s | A:2 R:0 HW:0 U:11.15/m I:12
--------------------------------------------------------------------------------
Why would you want to build a CEntOS based miner?
CEntOS is the "Community ENTerprise Operating System". What happened about 15 years ago is that many many people using Linux were using RedHat based distributions like Fedora (free desktop version) and the "commercial" version called RedHat Linux. Then, all of a sudden, RedHat decided they wanted to charge $1000 plus per machine for the commercial version and it made people mad. So the mad people went off and created a mirror of the RedHat Linux system and they call it CEntOS.
The beauty of this OS over other choices is that it is designed to operate in a production environment. You can even buy commercial software to run on these servers from suppliers like Oracle and Adobe. Because of the planned cycles the software is stable, unlike most other flavors of linux who are trying to constantly do the "latest" thing people who run enterprise software on their systems are much more interested in reliability. These distributions (Centos, Fedora, Redhat, Scientific Linux) are the best choice for multiple-gpu cards and multiple-gpu systems, especially when there are only windows drivers available for the video card you own.
Here's the instruction sheet. Let me know what can be improved.
#############################################################
####
#### Installing mining Software on CEntOS or Fedora based distributions
####
#### Currently 2 GPU's working under Centos 6.4 w/SDK 12.7 & Driver 12.3
#### Currently 4 GPU's working under Centos 6.0 w/SDK 12.4 & Driver 11.4
####
#### testing to increase GPU's per motherboard
####
#### by: Viceroy who accepts tips at 144RtpxYKbigosiqTyXNwzwtH6Z7s96xUx
####
#############################################################
####
#############################################################
#### Section 0 - Table of Contents
#############################################################
####
#### Section 0 Table of Contents
#### Section 1 Disclaimers
#### Section 2 Setting up CentOS
#### Section 3 Setting up Base Packages
#### Section 4 Installing ATI Development Kit (SDK)
#### Section 5 Installing ATI Catalyst Drivers
#### Section 6 Testing ATI Catalyst Drivers
####
#############################################################
#### Section 1 - Disclaimers
#############################################################
####
#### I am not responsible for you using these instructions.
####
#### If you choose to follow anything you read here that is
#### your problem, not mine. I have written these instructions
#### for my personal use for my particular machine in an effort
#### to help me mine bitcoin. If you follow these instructions
#### you may or may not have success, neither of which are any
#### concern of mine because you are the fool who followed me
#### off the bridge. I did not push you.
####
#### I am proposing here to build a TOTALLY INSECURE HIGH
#### POWERED PASSWORD CRACKING MACHINE which MAY OR MAY NOT
#### BE LEGAL TO POSESS WHERE YOU LIVE. If the policeman
#### puts you in jail because you followed what I wrote here
#### that is your fault, not mine. You need to be aware of
#### local, national and international laws before you decide
#### to build a high powered password cracker. If this gets
#### into the wrong hands and it starts a nuclear war and
#### and some hostile government decides to end the world
#### guess what... that's not my fault either.
####
#### Be responsible, do no let Kim Jong Un get this machine
#### http://en.wikipedia.org/wiki/Kim_Jong-un
####
#############################################################
#### Section 2 - Setting up Centos
#############################################################
####
#### While at your windows desktop machine you need to
#### download the ISO from http://vault.centos.org/6.0/isos/
####
#### (I will be using the 64 bit OS from here on out)
####
#### The ISO can be burned to CD, DVD or USB
####
#### (I will burn the ISO to a 2GB+ USB flash drive)
####
#### Download the ISO from:
#### http://vault.centos.org/6.0/isos/x86_64/CentOS-6.0-x86_64-LiveCD.iso
####
#### Download and install Pendrivelinux Windows Software:
#### http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
####
#### 0. Plug in your flash drive and wait for it to register
####
#### 1. start pendrivelinux universal USB installer
#### 2. selects CentOS from "other distros alphabetically"
#### 3. select the CentOS LIVE iso you downloaded
#### (CentOS-6.0-x86_64-LiveCD.iso)
#### 4. select your drive letter and format the drive
#### 5. safely remove flash drive and plug into new machine
#### 6. boot up and install CentOS with the menus
#### 7. after intallation log in as root (or su) and:
#### 7a. set up network so IP is fixed so you can log in remotely
#### 7b. turn on the SSH daemon so you can log in (service sshd start)
#### 7c. make sshd starts each time you boot (chkconfig sshd on)
#### 8. now I like to go back to my nice desk and chair
#### 8a. dowload and install putty so you can talk to your box
#### http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
#### using a new ssh connection, connect to your machine as the
#### user you set up during installation. (it's a bad idea to log
#### in as root from a remote location).
#### 9. while you are sitting there at your desk download and install
#### xming windows xwindow emulator from here:
#### http://sourceforge.net/project/downloading.php?group_id=156984&filename=Xming-6-9-0-31-setup.exe
#### 10. modify yum
####
#### cut and paste one command at a time
####
#### become root user
su -
#### change directory to yum repo directory
cd /etc/yum.repos.d
#### move original file to backup
mv -f CentOS-Base.repo CentOS-Base.repo.old
# COPY the following into your buffer
## (in windows you use ctrl-c)
##
## start copy ---->>
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the #mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://vault.centos.org/6.0/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://vault.centos.org/6.0/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/6.0/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://vault.centos.org/6.0/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://vault.centos.org/6.0/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
## <<---- end copy
##
## then using the built in world processor in linux type
vi CentOS-Base.repo
# while in Vi hit [insert key]
# then paste the contents of your buffer with the right mouse button
# then hit the escape key
# hit :
# then hit x
# then hit the [enter key]
# this will save the file and exit
# test out your changes
yum check-update
#############################################################
#### Section 3 - Setting up Base Packages
#############################################################
#### become root user
su -
yum -y groupinstall x11
#### if you see an error about yum being locked be patient it will unlock in a minute
yum -y install gcc rpm-build git wget make kernel-devel python python-libs numpy openssl openssl-devel ncurses ncurses-devel ncurses-libs autoconf automake m4 pkgconfig libcurl-devel libtool libudev libusb glx-utils libX11 libstdc++ compat-libstdc++*
#### create new user or place all items in personal home directory
useradd miner
#### become prefered user (no password needed)
su -l miner
#### create a directory to hold all the packages
cd ~
mkdir miningpacks
cd miningpacks
#### download all driver package as user "miner"
####
#### wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
#### wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-3-x86.x86_64.run
####
#### goin old-school - working version is best ...
#### note: modern versions may break other things
####
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-4-x86.x86_64.run
####chmod a+x amd-driver-*
chmod a+x ati-driver-*
exit #go back to being root user
#############################################################
#### Section 4 - Installing ATI Development Kit (SDK)
#############################################################
####
####
#### Install this BEFORE you install the drivers
####
#############################################################
####
####
#### preparing the machine for a new SDK install
####
####
#### First Seek and Destroy ALL Existing ATI Drivers:
#### only needed if you are rebuilding. If fresh
#### install this command will fail, no directory.
####
cd /usr/share/ati
./amd-uninstall.sh --force
#### more cleaning to be sure
####
#rm -Rf /etc/ati
#rm -Rf /usr/lib/fglrx
#rm -Rf /usr/share/ati
#rm -Rf /opt/AMD*
#reboot #HIGHLY RECOMMENDED IF YOU REMOVED FILES
####
#### installing the new SDK install
####
#### become root user
su -
#### become prefered user (no password needed)
su -l miner
#### move to directory to where you are holding the packages
cd ~
cd miningpacks
#### download SDK
####
#### wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx32.tgz
#### wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.6-lnx32.tgz
#### wget http://developer.amd.com/wordpress/media/2012/11/AMD-APP-SDK-v2.8-lnx64.tgz
####
#### again, oldschool because working beats not-working:
##
wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
exit #go back to being root user
#### newer style SDK install
####
#### cd /home/miner/miningpacks/
#### mkdir APP-SDK-2point7-temp
#### cd APP-SDK-2point7-temp
#### cp ../AMD-APP-SDK-v2.7-lnx64.tgz .
#### tar xzf AMD-APP-SDK-v2.7-lnx64.tgz
#### ./Install-AMD-APP.sh
#### cd ..
#### rm -rf APP-SDK-2point7-temp
#### #reboot
### old school style SDK install
cd /opt
tar -xf /home/miner/miningpacks/AMD-APP-SDK*
cd /
tar xf /opt/AMD-APP-SDK-v2.4-lnx64/icd-registration.tgz
ln -sf /opt/AMD-APP-SDK-v2.4-lnx64/include/CL /usr/include
ln -sf /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/* /usr/lib/
ldconfig
reboot
#### echo AMDAPPSDKROOT=/root/AMD-APP-SDK-v2.4-lnx64 >> .bashrc
#### echo AMDAPPSDKSAMPLESROOT=/root/AMD-APP-SDK-v2.4-lnx64 >> .bashrc
#### echo LD_LIBRARY_PATH=/root/AMD-APP-SDK-v2.4-lnx64/lib/x86_64 >> .bashrc
#############################################################
#### Section 5 - Installing ATI Catalyst Drivers for linux
#############################################################
####
####
#### Install this AFTER you install the SDK
####
#############################################################
#### become root user
su -
##
## important note on installing AMD Drivers under linux:
##
## be certain you have the kernel-devel for YOUR kernel
yum list installed | grep kernel-*
##
## output should look like this
#dracut-kernel.noarch 004-32.el6 installed
#kernel.x86_64 2.6.32-71.el6 installed
#kernel-devel.x86_64 2.6.32-71.29.1.el6 @updates
#kernel-firmware.noarch 2.6.32-71.el6 installed
#kernel-headers.x86_64 2.6.32-71.29.1.el6 @updates
#[root@localhost ~]#
#
# notice that I DO NOT have a matched kernel and kernel-devel version.
# they must match EXACTLY or you will not be successful in the
# next steps. I have:
# kernel.x86_64 2.6.32-71.el6 installed
# and
# kernel-devel.x86_64 2.6.32-71.29.1.el6 @updates
#
# the difference is so slight you may have missed it
# my subversion 32-71.29.1.el6 does NOT match 32-71.el6
##
## check your distribution
uname -r
##
## you can have multiple kernel-devel's that is not a problem
## if you are lucky this command works
yum install kernel-devel-$(uname -r)
#### if this was successful move on to the next section
#### proceed to package generation
####******#*#*#*#*#*##*#*####******#*#*#*#*#*##*#*
####
#### optional section if kernels do not match
####
####
#### You will need to find another "kernel" with
### a matching "kernel-devel" package
####
#### yum --showduplicates list kernel-devel
####
#### to download a specific package just add
#### the version to the name, for example if
#### I want kernel-devel 2.6.32-358.el6 I
#### just add a hyphen
####
#### yum install kernel-devel-2.6.32-358.el6
####
####
####******#*#*#*#*#*##*#*####******#*#*#*#*#*##*#*
#############################################################
#### Generate a Distribution Specific Package of fglrx
#############################################################
# as root
#### Move to package directory
#### using menus generate RPM package for your OS
#### (generate centos 64 packages)
####
cd /home/miner/miningpacks/
#### chmod u+x *-driver-installer* #step taken earlier
#### //alternative:// sh amd-driver-installer
sh ati-driver-installer-*
#### (file was downloaded above)
####
####
#### Install generated package
cd /home/miner/miningpacks/
yum -y install fglrx64_p_i_c-* --nogpgcheck
aticonfig --adapter=all --initial --force
reboot
#############################################################
#### Section 6 - Testing ATI Catalyst Drivers
#############################################################
#### check installation by reading output from
more /usr/share/ati/fglrx-install.log
#### further testing SHOULD be done at this time against this page:
####
#### http://wiki.cchtml.com/index.php/Frequently_Asked_Questions#How_do_I_know_fglrx_is_installed_correctly.3F
#### one possible error
####
####[Message] Kernel Module : Precompiled kernel module version mismatched.
####[Error] Kernel Module : Kernel module build environment not found - please consult readme.
####
####
#### This error indicated you do not have the correct kernel-devel libs to match your kernel
#### (I told you it wouldn't work).
####
#### with xming installed on my pc when I use putty I don't even need to
#### export my display. I can just start playing with opencl and opengl
#### libraries and samples. But only if I did everything correctly
#### and there were no hardware issues along the way.
####
#### my machines 'hello world' test passed with flying colors
####
aticonfig --lsa
## output looks like this:
#* 0. 0e:00.0 AMD Radeon HD 6800 Series
# 1. 0f:00.0 AMD Radeon HD 6800 Series
# 2. 07:00.0 AMD Radeon HD 6800 Series
# 3. 06:00.0 AMD Radeon HD 6800 Series
#
#* - Default adapter
#
# which is EXACTLY what I want!!!
#### if you are not seeing all your GPU's at this stage something is wrong.
#### first check lspci
lspci -nn | grep VGA
#### if that does not show all your cards you need to hard-boot your computer.
#### it make take several attempts and some plugging and unpluggging monitor
#### cables. There seems to be little method to the madness but make sure
#### you can see all your GPU's now or you can't mine with them. Even though
#### centos was designed to handle multiple GPU's off the bat I still find the
#### best way to 'light up' a port is to have a monitor plugged in during hard
#### boot. I'm sure the resistor based dongle approach would work as well.
####
glxgears
## Segmentation fault
##
## uh-oh I broke something!
## oh yea, I remember
##
## I forgot to log into the linux box.
## so here's what I need to make this work
## I go to the centos box and log in as my
## regular user in the graphical interface.
## then I pull down the menu and open a
## terminal window which must be 'turning
## x on for my local user'. Once I open
## that terminal (xterm) I can walk away
## and do everything else remotely. So
## here we go, let's have some fun...
##
glxgears
## Segmentation fault
## oh yea... duh
export DISPLAY=:0
glxgears
##40014 frames in 5.0 seconds = 8002.695 FPS
##40291 frames in 5.0 seconds = 8058.047 FPS
##40288 frames in 5.0 seconds = 8057.494 FPS
##40287 frames in 5.0 seconds = 8057.313 FPS
## ^C
##
## don't be hatin on me now...
#############################################################
#### Install ATI Display Library Development Kit (ADL SDK):
#############################################################
###wget http://developer.amd.com/wordpress/media/2012/11/AMD-APP-SDK-v2.8-lnx64.tgz
### cannot find APP without going through website license
### pain in the ass requires a browser download
###
#### become root user
su -
#### become prefered user (no password needed)
su -l miner
#### move to directory to where you are holding the packages
cd ~
cd miningpacks
#### place ADL zip in current directory
wget http://download2-developer.amd.com/amd/GPU/zip/ADL_SDK_3.0.zip
#### unpack it and install it into the correct directory
mkdir ADL-SDK-3point0-temp
cd ADL-SDK-3point0-temp
cp ../ADL_SDK_3.0.zip .
unzip ADL_SDK_3.0.zip
cp /home/miner/miningpacks/ADL-SDK-3point0-temp/include/*.h /home/miner/cgminer/ADL_SDK
rm -rf /home/miner/ADL-SDK-3point0-temp
#############################################################
#### Install CGMiner
#############################################################
#### become root user
su -
#### become prefered user (no password needed)
su -l miner
#### move to home directory
cd ~
#### download CGMiner from author
git clone https://github.com/ckolivas/cgminer
#### copy ADL libraries to correct location
cd /home/miner/cgminer/ADL_SDK
cp /home/miner/miningpacks/ADL-SDK-5point0-temp/include/*.h .
rm -rf /home/miner/miningpacks/ADL-SDK-5point0-temp/
cd ..
./autogen.sh
make
exit #go back to being root user
cd /home/miner/cgminer/
make install
reboot #if you have not after changes to libraries
#if you did everything as I have above you are finished
#and can run cgminer. test with ./cgminer -n
####
#### Now test out your new miner for 24 hours and if you like all the time and effort I
#### put into this guide I encourage you to think about testing your new miner here:
./cgminer -o stratum+tcp://mining.eligius.st:3334 -u 1NQc6tCtRmT8zBeLKNpboFaUBMLcxDwUm6 -p x0 -I 9 --per-device-stats 2>logfile.txt
####
#### After 24hrs of burn in read the logfile. Make sure nothing strange happened.
#### Here's how you read the log:
more logfile.txt
#### If you don't see any errors set your miner to your favorite pool and off you go.
#### Then set that file aside so you can refer to it later.
cp logfile.txt burninlog.txt
#### in the future, unless you are having problems you can remove the --per-device-stats and the logging
#### from the command line, so it looks like this: (don't forget to change the address!!)
./cgminer -o stratum+tcp://mining.eligius.st:3334 -u 1NQc6tCtRmT8zBeLKNpboFaUBMLcxDwUm6 -p x0 -I 9
#### Best of luck, greenhorn!
#############################################################
#### The End
#############################################################
Any comments in this thread should be related to this script and improvements. Spam and
trolls (like kokjo) posts designed to do anything other than help people build and improve on
this script will be reported to admins. Please be civil and contribute related info only. thx.
ps. Here's a cool command, in my case 4:
env DISPLAY=:0.0 aticonfig --pplib-cmd "set fanspeed 0 100"
env DISPLAY=:0.1 aticonfig --pplib-cmd "set fanspeed 0 100"
env DISPLAY=:0.2 aticonfig --pplib-cmd "set fanspeed 0 100"
env DISPLAY=:0.3 aticonfig --pplib-cmd "set fanspeed 0 100"
[/s]