Complete Guide To Mine Bitcoin on Xubuntu 12.04
-- by Leonard Huang (lueotw@gmail.com)
-- Latest version could be found on http://goo.gl/vP3G9
-- If you think this article is useful to you, please make a donation to:
1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR
Firstly, I’d like to thank Kanoi, who wrote an excellent howto guide on “How to setup a cgminer using xubuntu 11.04 live on a USB”. However, I don’t need to mine on a USB (it’s slow compared to a HDD). Also, his guide didn’t update with the latest version of Xubuntu (12.04), which in my opinion is the easiest version of Xubuntu ever to mine bitcoin with. Although it’s relatively easy, there are still some pitfalls I want to you to avoid, so I wrote this guide.
I had been mining Bitcoin since July, 2011. I had used Windows 7 for mining until May, 2012. The reason I use Windows 7 is as the following:
AMD driver got better support on Windows.
Much more overclock tools on Windows (MSI AfterBurner rocks!).
Less time wasting on trouble shooting.
With (3), I can focus on tweaking the best CPU/MEM clock combination for maximizing profit.
I had tried to switch to a headless Linux solution but failed, due to the following problems:
My machine constantly crashed after operating 3 hours.
The lan port on my motherboard didn’t get support well on Linux at that time(r8169 on a Gigabyte motherboard - buggy driver on Ubuntu 11.04 and 11.10).
I wasted 5 days struggling on troubleshooting linux problems. Not worth it.
I decided to give Xubuntu 12.04 a try, since I’ve heard that 12.04 is not only getting Long-Term-Support, but also fixing various bugs since 11.04 and 11.10.
The result is amazingly great! My machines never crash anymore!
Enough for my experience. Let’s move on.
Table of Content
Pre-stage - Installation Media
Install Xubuntu 12.04
Install AMD Driver on Xubuntu
Config AMD Driver
Install SSH for remote login
Install CGMiner
Further reading
Install Bitcoin 0.6.2 on Xubuntu (optional)
Pre-stage - Installation Media
The first thing you need is a USB to load Xubuntu in (Yap, a USB is still essential to get rid of CD-ROMs).
Then, download Unetbootin to load your Xubuntu CD image on the USB.
Now you’re ready to roll!
Install Xubuntu 12.04
Try follow this article: “The Perfect Desktop - Xubuntu 12.04” until you get a working desktop.
Remember to check “Log in automatically” when you create a superuser.
We’ll need a logged user to mine headlessly.
Oh! You forget to check the option?
That’s all right, you can edit the /etc/lightdm/lightdm.conf like this after installation.
[SeatDefaults]
autologin-guest=false
autologin-user=<your username>
autologin-user-timeout=0
autologin-session=lightdm-autologin
greeter-session=lightdm-gtk-greeter
user-session=xubuntu
Install AMD Driver on Xubuntu
Caution: Choose your driver wisely, or you’ll lose 10% ~ 20% hash power!
[ For AMD Raedon 7xxx Series ]
If any of your cards on board is AMD Raedon 7xxx Series cards, you’ll need AMD APP SDK 2.6+, which is included in Catalyst 11.12+ and beyond
(I recommend Catalyst 12.3 - which include SDK 2.6).
Reason: 7xxx Series use some kind of new architecture called GCN, which can only be recognized with SDK 2.6+.
Now follow the steps (in commandline):
(Don’t use the GUI (Settings -> Additional drivers) to install the post-release driver. It will fail and I don’t know why.)
sudo apt-get install fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev
Done!
[ For AMD Raedon 6xxx, 5xxx Series ]
If you don’t have any AMD Raedon 7xxx Series cards (like 6xxx, 5xxx), you should use SDK 2.5, which is included in Catalyst 11.7 ~ 11.11.
(Recommend Catalyst 11.11)
Reason: Non-7xxx Series with SDK 2.6 will lose about 10% performance.
Now follow the steps.
Install the prerequisite packages:
sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4
If you are using the x86_64 architecture (64 bit):
sudo apt-get install ia32-libs-multiarch:i386 lib32gcc1 libc6-i386
sudo apt-get install ia32-libs
Compile and install the driver:
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-11-x86.x86_64.run
sudo sh ./ati-driver-installer-11-11-x86.x86_64.run --buildpkg Ubuntu/precise
sudo dpkg -i fglrx*.deb
Done!
Config AMD Driver
Check if all your cards can be detected and then write configuration to /etc/X11/xorg.conf.
aticonfig --lsa
sudo aticonfig --adapter=all --initial
If everything went fine, reboot the computer by “sudo reboot”.
After that, check if everything works:
sudo aticonfig --adapter=all --odgt
Install SSH for remote login
Install openssh-server and byobu to perform remote login.
sudo apt-get install openssh-server byobu
Now you can pull out the cables of your monitor, mouse and keyboard and enjoy a headless Xubuntu!
Install CGMiner
Go to CGMINER on bitcointalk page and download the latest version of cgminer.
Or on the command line:
wget http://ck.kolivas.org/apps/cgminer/cgminer-2.9.5-x86_64-built.tar.bz2
Then unzip it to a directory.
tar jxvf cgminer-2.9.5-x86_64-built.tar.bz2
Note: If you got libcurl4 error, install the lib:
sudo apt-get install curl
Go to the directory and check if cgminer detects all your cards.
cd cgminer-2.9.5-x86_64-built
export DISPLAY=:0
export GPU_USE_SYNC_OBJECTS=1
./cgminer -n
The correct result should show like the left diagram..
Note that both the OpenCL and the ADL detects 4 devices.
Note that the ADL can’t be initialized.
(you forgot to set
export GPU_USE_SYNC_OBJECTS=1)
*
*
Write a script for your favorite mining pool:
Ordinary pool
(like deepbit, BTC Guild, OzCoin, … etc.)
#!/bin/sh
export DISPLAY=:0
export GPU_USE_SYNC_OBJECTS=1
cd /home/<yourhome>/cgminer-2.9.5-x86_64-built
./cgminer -o http://<mining_pool>:<port> -u <username> -p <password> --api-listen --api-network -I 9 --gpu-reorder --auto-fan --gpu-powertune 20 --gpu-engine 920,920,920,1125 --gpu-memclock 795,795,795,975
P2Pool
You can mine at my pool for testing: http://btcm.dyndns.org:9332/
Or try any of the public available p2pool instances.
Remember to replace <username> with your BTC address where the payments are to be sent
#!/bin/sh
export DISPLAY=:0
export GPU_USE_SYNC_OBJECTS=1
cd /home/<yourhome>/cgminer-2.9.5-x86_64-built
./cgminer -o http://<mining_pool>:<port> -u <username> -p <password> --api-listen --api-network -I 8 -g 2 --gpu-reorder --auto-fan --gpu-powertune 20 --gpu-engine 920,920,920,1125 --gpu-memclock 795,795,795,975
Save it as a file and change the permission to execute it.
nano cg.sh
chmod +x cg.sh
./cg.sh
You now have a headess bitcoin mining machine! Just SSH to your machine with byobu and execute you script.
byobu
./cg.sh
You can safely press “F6” and exit since your mining session will be kept in byobu.
-- If you think this article is useful to you, please make a donation to:
1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR
Further reading
P2Pool
If you want to setup a private p2pool:
https://bitcointalk.org/index.php?topic=62842.0
If you don’t waste your time on setting up p2pool, you can test on my p2pool node:
http://btcm.dyndns.org:9332/
username: <Bitcoin Address you want to receive payment>
password: <any letter would be ok>
Exchange
If you want to buy or exchange Bitcoin with the following currency company, you can use my affiliate link of AurumXchange. It is the official partner of Mt. Gox to transfer Bitcoin to LibertyReserve.
Liberty Reserve
MTGox
Perfect Money
CryptoXchange
PecUnix
Vouchx
HDMoney
Cosmicpay
C-Gold
SolidTrustPay
http://goo.gl/gJqZS
Install Latest Bitcoind on Xubuntu (optional)
If you want to run bitcoin daemon on your Xubuntu system, open your terminal and install packages by typing the following commands:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get install bitcoind
Now you have the latest version of bitcoind installed. Pretty easy, right?
-- If you think this article is useful to you, please make a donation to:
14qweWDSvLhHuV13YinmNEoGSjtDZbJbgP