Beaglebone Black as a Bitcoin Mining Controller

Part 1:
I ordered a Beaglebone Black board. It’s like a Raspberry Pi except it’s completely open source and it has better specs. These can be used to setup home cloud servers to media centers. Apparently they can play 1080p videos with decent frame rates as well. Pretty cool for a $45 computer that is powered over USB.

I never got around to any of that. I have a new addiction called Bitcoins. I started GPU mining back in Feb of this year when they were about $30 for 1 BTC. Now it’s around $100 for 1 BTC. I’ve mined enough to actually get in on a group buy at www.bitcointalk.org. That site is the best resource on the net about bitcoins. This is the group buy with Steamboat. I got in on Batch 5. I think Batch 6 is in progress. A 16 chip Klondike board will give you a 4.5gh/s mining rate. I also have a 7gh/s Jalepeno from Butterfly Labs back in March. Both are arriving at the same time and to run these devices, you need a computer to control them.

The plan is to get as much as a return on investment from the get go, especially when the difficulty keeps going up 20-22% every 10 days. Right now I’ve got 2 x 6870′s running at 580mh/s running 100% and they are sucking down electricity and pumping out heat. I’m not getting btc like I was either. ASIC is much more efficient because they are specifically made to mine btc. Combine the miners with a lower power computer, you are maximizing profit as much as possible.

So I came across CoinNinja.com where you can buy Beaglebone Blacks pre-configured. The beauty of open source is that they released the image that they install on their boards. With a little configuration, it’ll run exactly the same as what they are selling. So if you have one of these boards laying around and you’re into mining, you might as well make it do something useful.  I did the following steps from a debian based distro on my netbook.

  1. Go here and get the latest version of their image.  If you’re familiar with github, you can check it out or download the zip file.
  2. Extract the file in your home directory.  I used “unzip MineNinja-master.zip” in terminal.  Then change directories to that directory you just created from unzipping process.
  3. Plug in your MicroSD into your card reader.  Mine mounted to /dev/sdb.
  4. Then I ran this command within the unzipped directory.  ”  xz -cd mineninjaBBB.img.xz > /dev/sdb ” which formats and installs the image to your MicroSD.
  5. After the process completes, the terminal was show a new line to type into.  Eject your card and put it in your BBB.
  6. I plan to power my board by plugging it into the USB on my router.  Connect your Ethernet cord to your port on your BBB.  Plug the USB into your router while holding the boot button to make it boot from the MicroSD card.  The blue lights should flicker indicating it’s booting off the card.
  7. You’ll have to detect the IP.  You can either scan the network or look at your DHCP client list in your router config.  It’ll probably have the newest IP lease on it.  Mine ended up ending with .117.  Port 80 will be open.  I just found out that you can get to it by http://mineninja.local/ as well.
  8. Point your browser to that IP and you should see the interface appear.

Their WIKI is here for configuration.

Part 2:

  1. Once you find the IP, SSH to it.  My main computer is Windows 7 since I’m a IT consultant and 99% of my clients use Windows.  I use Putty.exe.  Accept the key and login as “root” with a blank password.
  2. Once connected, type “passwd” and type your root password in and confirm it.  That will be your new root password.
  3. You might as well create a second user for security purposes.  You do this by typing “useradd username”.  Username is what you want it to be.
  4. Set the password for the new user name by typing “passwd username” and enter/confirm the password for the new user name.  In the future, you’ll probably want to log in as that user and use “sudo” for root commands.  IE, configuring files and such.  Since you are already logged in as root, you might as well configure the device.
  5. Type “nano /www/pages/auth.inc.php”.  Edit the username and password to the one you just setup.  This will be what you use to log into the web interface with.  When done, press Control + X and it’ll ask you to confirm your changes.  Press Y and Enter.  Changes have been entered.  Test it by logging into the web interface.
  6. Once logged into your web interface, configure your mining host file (solo or pooled mining info).
  7. Start mining!  You can watch it mine through the web interface or SSH into it and type “screen -r” and watch it that way.  It only works when a host is configured.

Keep in mind at the time of writing this, I don’t actually have any miners yet!   If something doesn’t work, I’ll update it in about a month or email me at dsyncd@gmail.com .

mn1

Showing my computer stats.

As you can see there's a database error.  Not sure what I'm missing.

As you can see there’s a database error. Not sure what I’m missing.

mn3

More settings.

Edits/Additions

Setting up your host.

  1. If it isn’t there yet, add a host for MineNinja (I think I possibly deleted mine originally).  IP: 127.0.0.1 with default port and your desired mh/s.
  2. Under the host you just created, edit it.  I’m assuming this is where you can add your pool information.  This is also where you can control CGminer from without issuing commands over ssh.

mn4

I wanted to monitor my computer’s gpu mining with it while I waited on my ASICS to get here.  You can see in the very first screenshot of this post that I was just missing MineNinja host and just had the computer showing up.  If you want to do this, you have to set up mining software like CGMiner on your PC.  Once done, if you are running it from a Windows machine like myself, you have to create a .bat file to launch it.  When doing so, be sure to include –api-listen –api-network to it.  This tells it to listen to queries through the network.  Mine looked like this (change username and password of course):   c:\cgminer\cgminer.exe -o stratum.bitcoin.cz:3333 -u workername -p workerpassword –api-listen –api-network .

Once launched, add a host and point it to your PC.  It should look something like this now.

mn5

 Fixing the accounts page:

This just allows you to link your BTC addresses to the accounts page if you received a database error like this:

As you can see there's a database error.  Not sure what I'm missing.

As you can see there’s a database error. Not sure what I’m missing.

  1. SSH to your MineNinja and login as root.
  2. Type “mysql”.
  3. If you do “show databases;” you’ll see anubis listed in there.
  4. Select the database by using “use anubis;”
  5. If you want to take a look at the tables “show tables;”.  You’ll notice the accgroups is listed there.
  6. Do a “drop table accgroups;”.  This fixes the accgroups format error but then you’ll see an ‘accounts’ error upon page refresh.  We’ll do another drop table.
  7. Type “drop table accounts;”.
  8. Refresh the accounts page and now you should be able to add groups and your wallets.

mn6

 

If you’ve found this helpful and have some mBTC to spare, please donate to: 19vySMxb7jZ4qP5aRCjAtXovRx41ypMPJx

If you’ve found this helpful and don’t have mBTC to spare, don’t worry about it.  :)  Enjoy.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>