You are on page 1of 12

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, Id 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 dont need to mine on a USB (its slow compared to a HDD). Also, his guide didnt 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 its 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: 1 2 3 4 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: 1 2 3 My machine constantly crashed after operating 3 hours. The lan port on my motherboard didnt 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 Ive heard that 12.04 is not only getting Long-TermSupport, 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. Lets 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)

I Pre-stage - Installation Media

The first thing you need is a USB essential to get rid of CD-ROMs).

to load Xubuntu in (Yap, a USB is still

Then, download Unetbootin to load your Xubuntu CD image on the USB.

Now youre ready to roll!

II 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. Well need a logged user to mine headlessly.

Oh! You forget to check the option? Thats 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

III Install AMD Driver on Xubuntu


Caution: Choose your driver wisely, or youll lose 10% ~ 20% hash power!

[ For AMD Raedon 7xxx Series ]


If any of your cards on board is AMD Raedon 7xxx Series cards, youll need AMD APP SDK 2.6+, which is included in Catalyst 11.12+ and beyond1 (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): (Dont use the GUI (Settings -> Additional drivers) to install the post-release driver. It will fail and I dont know why.) Done!
sudo apt-get install fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev

[ For AMD Raedon 6xxx, 5xxx Series ]


If you dont 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 steps2.


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
1

Complete Table of the relationship between Catalyst and APP SDK could be found on AMD website 2 Thanks for the instruction on Unofficial Wiki for the AMD Linux Driver

sudo apt-get install ia32-libs

Compile and install the driver:


Done!
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-11x86.x86_64.run sudo sh ./ati-driver-installer-11-11-x86.x86_64.run --buildpkg Ubuntu/precise sudo dpkg -i fglrx*.deb

IV 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

V 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!

VI 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 cant 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> --apilisten --api-network -I

--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> --apilisten --api-network -I

-g

--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

VII

Further reading
P2Pool
If you want to setup a private p2pool: https://bitcointalk.org/index.php?topic=62842.0 If you dont 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

VIII

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 commands3: 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:
1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR

Follow the instruction of an excellent answer on AskUbuntu

You might also like