Installing Mining Software On CEntOS or Fedora Based Distributions
Installing Mining Software On CEntOS or Fedora Based Distributions
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=Xmi ng-6-9-0-31-setup.exe #### 10. modify yum #### #### cut and paste one command at a time #### #### su become root user
#### 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=o s 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=u pdates 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=e xtras 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=c entosplus 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=c ontrib 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
############################################################# #### Section 3 - Setting up Base Packages ############################################################# #### su become root user
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++ compatlibstdc++* #### 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.4lnx64.tgz #### wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-3x86.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-*
############################################################# #### 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 #### #### #### #### 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.4lnx32.tgz #### wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.6lnx32.tgz #### wget http://developer.amd.com/wordpress/media/2012/11/AMD-APP-SDK-v2.8lnx64.tgz #### #### again, oldschool because working beats not-working: ## wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
#### #### #### #### #### #### #### #### #### #### ####
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 #### ############################################################# #### su become root user
## ## 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 #kernel.x86_64 2.6.32-71.el6 #kernel-devel.x86_64 2.6.32-71.29.1.el6 #kernel-firmware.noarch 2.6.32-71.el6 #kernel-headers.x86_64 2.6.32-71.29.1.el6 #[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.3271.el6 installed
# and # kernel-devel.x86_64 2.6.3271.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
#### 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 ##40291 frames in ##40288 frames in ##40287 frames in ## ^C ## ## don't be hatin 5.0 5.0 5.0 5.0 seconds seconds seconds seconds = = = = 8002.695 8058.047 8057.494 8057.313 FPS FPS FPS FPS
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 ### #### su become root user
#### become prefered user (no password needed) su -l miner #### move to directory to where you are holding the packages cd ~ cd miningpacks
####
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
#### become prefered user (no password needed) su -l miner #### cd ~ move to home directory
#### 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. 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-devicestats 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