Mining OS Builder
Recently I got into altcoin mining (ZenCash, Dash, and Ethereum). When it came to building my own GPU mining rig, I found that maintaining it was almost a full-time job. Sure, I could just let it sit there and mine away, but I found that much of the time faults were occurring that I wasn't aware of. I began to look for mining operating systems assuming that miners had taken it upon themselves to improve software and offer something Open Source that would be of use.
I found mixed results. Yes, there were operating systems out there, but many of them were barely functional or lacked in actual features. The best case for any of these was that I was still logging into my machine everyday and checking logs or status. That was just way too much attention. My ROI was crashing hard. My best option was to build my own OS.
I do not want to build my own OS each time I want to mine coin though. I decided instead I want a turnkey solution where I can enter my altcoin criteria and some information about my mining operation that would generate an operating system on-the-fly for me. This way I could just take the image, burn it to flash drive, and be on my way. I could then churn out rig after rig and know that my monitoring and support was all ready to go regardless of what I was mining, with what, or how.
That's what this project is. I have begun developing a product that uses OpenStack disk-image-builder in a docker container to generate a disk image on-the-fly.
Requirements
- Docker really encapsulates everything, so all the requirements are fetched as needed.
Usage
I use the following to build a ROCm Ubuntu Xenial build:
docker run --privileged -v $PWD:/work r351574nc3/amdgpu-diskimage-builder:latest ubuntu-minimal devuser driver-rocm miners bootloader
Video
Some footage of realtime execution
Supported Operating Systems
Thus far, I am able to build
- Fedora
- CentOS
- Ubuntu
- Debian
Supported Mining Software
I hope to add many many many more of these as docker images. Right now there is just:
- Claymore
- cgminer
- sgminer
- ethminer
Note I also want to support node creation/management.
Roadmap
The following is the path I plan on taking.
- Build images based on configurable variables.
- Image configurator lambda function
- Logging events sent to cloudwatch
- Logging events sent to kafka
- Datamining logging event data into elasticsearch
- Machine learning on elasticsearch data
- Other mining software (by altcoin)
- Support CPU mining
- Node server support
- useful for zencash securenodes
- useful for steem nodes
Contributing
We're open to contributions