Bitcoin: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
https://bitcointalk.org/index.php?topic=62842.0 | https://bitcointalk.org/index.php?topic=62842.0 | ||
https://docs.google.com/document/d/1Gw7YPYgMgNNU42skibULbJJUx_suP_CpjSEdSi8_z9U/edit | https://docs.google.com/document/d/1Gw7YPYgMgNNU42skibULbJJUx_suP_CpjSEdSi8_z9U/edit | ||
https://github.com/jgarzik/pushpool | https://github.com/jgarzik/pushpool | ||
== CGMiner == | |||
Download the AMD SDK and ADL SDK from: | Download the AMD SDK and ADL SDK from: | ||
| Line 30: | Line 31: | ||
== P2Pool == | |||
=== Get the source === | |||
git clone git://github.com/forrestv/p2pool.git | |||
=== Install Dependencies === | |||
Either install the packages from <code>yum</code> or from source. The dependencies that are needed are: | |||
# Twisted | |||
## zope | |||
# Argparse | |||
From yum, run: | |||
yum install python-argparse python-twisted python-twisted-web | |||
Since the Twisted library is somewhat old, you might want to build it from source by getting it from: | |||
# https://pypi.python.org/pypi/Twisted#downloads | |||
And also the dependency: | |||
# https://pypi.python.org/pypi/zope.interface/4.0.5#downloads | |||
Extract the archives, and run the setup.py script to build. (You will need python-devel and gcc to build) | |||
=== Running P2Pool === | |||
Run run_p2pool.py | |||
Revision as of 18:26, 24 August 2013
https://bitcointalk.org/index.php?topic=62842.0
https://docs.google.com/document/d/1Gw7YPYgMgNNU42skibULbJJUx_suP_CpjSEdSi8_z9U/edit
https://github.com/jgarzik/pushpool
CGMiner
Download the AMD SDK and ADL SDK from:
- http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/
- http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/
Extract the archives and copy:
- AMD-APP-SDK-v2.8.1.0-RC-lnx64/include -> /build_dir/include
- AMD-APP-SDK-v2.8.1.0-RC-lnx64/lib/x86_64 -> /build_dir/lib
- ADL-SDK/include/*.h -> /build_dir/cgminer-3.3.4/ADL_SDK/
In the cgminer-3.3.4 source directory, run:
CFLAGS="-O2 -Wall -march=native -I/build_dir/include" LDFLAGS="-L/build_dir/lib" ./configure --prefix=/usr/local/miner --enable-scrypt
make
make install
Since I do not want to install the OpenCL libs, I had to copy them over to /usr/local/miner/libs manually, and run cgminer with the LD_LIBRARY_PATH variable defined:
LD_LIBRARY_PATH=/usr/local/miner/lib ./cgminer --help
P2Pool
Get the source
git clone git://github.com/forrestv/p2pool.git
Install Dependencies
Either install the packages from yum or from source. The dependencies that are needed are:
- Twisted
- zope
- Argparse
From yum, run:
yum install python-argparse python-twisted python-twisted-web
Since the Twisted library is somewhat old, you might want to build it from source by getting it from:
And also the dependency:
Extract the archives, and run the setup.py script to build. (You will need python-devel and gcc to build)
Running P2Pool
Run run_p2pool.py
#############################################################
####
#### 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
#############################################################