Configuration is the process of installing software, editing files and running commands in order to make your rig perform at the desired state after a reboot.
The configuration process is the hardest part when it comes to mining. Not only do you have to remember all the commands, and options to apply but you also have to perform these steps for each rig which can be time consuming.
For mining distros like ethos this becomes a painful process especially when you have multiple rigs with varying GPUs. Moreover, with mining distros you often make everything look the same because it is too difficult otherwise.
When we first started mining back in last 2017 it was near impossible to purchase all the same GPUs. So we ended up with “frankenstein” rigs with almost all unique hardware. It was for this reason that we made Crossbelt and decided to solve the configuration problem.
The Crossbelt Approach
Crossbelt takes a very different approach to configuration. Instead of forcing you to create a giant config file for all of your rigs. You have the ability to create a super customized configuration for each rig without the headache of managing each individual one. Furthermore, when this applies to overclocking, the overclock profile follows the GPU. So no matter where that GPU goes, Crossbelt will apply the same overclock profile for that GPU even if you move it to another system. This means Crossbelt gives you the ability to move GPUs around to different rigs without the annoyance of manual configuration.
The only command you need to remember is
sudo crossbelt reconfigure or the shortened version
sudo xb recon.
Reconfiguring your rig
Configuring your rig requires just a single command.
$ sudo cb reconfigure -h NAME reconfigure - Reconfigure your rig with Settings From Crossbelt Cloud SYNOPSIS cb [global options] reconfigure [command options] DESCRIPTION The reconfigure command will use local and cloud data to create a unique configuration for your rig. COMMAND OPTIONS --mining_profile, --mp=arg - Applies the specified mining profile (default: etc_nanopool) --prompt, -p - Do not use previously used mining profile and prompt user for profile -r, --remote - Use Remote Data from the Cloud --rig_owner, --ro=arg - Specifies the owner profile to use for wallets and other information (default: default) EXAMPLES # Reconfigure the mining rig using the currently set defaults which you may have used previously cb reconfigure # Reconfigure the mining rig to use the ethermine profile and set the owner to opselite cb reconfigure --mp ethermine --ro opselite # Reconfigure the mining rig to use the remotely stored profile and the remotely stored owner cb reconfigure --mp remote --ro remote # Reconfigure the mining rig to use the remotely stored data, sets the following flags --mp remote --op remote automatically cb reconfigure -r # Reconfigure the mining rig and prompt with a list of profiles. cb reconfigure -p --ro opselite
This command reaches out to a remote repository of configuration data and assembles a custom config just for your rig. Crossbelt allows you to setup profiles for rigs, GPUs, overclocks, owners, and mining sites. The amount of granularity possible for each rig allows you do whatever you want. But you can also share these profiles with other rigs and even other people. The repository can be public or private.
However, some assembly is required to setup this data unless you override from the command line with
Below is the minimum amount of data required to configure your rig:
# rigs/000000.yaml crossbelt::mining_profile: ethermine crossbelt::rig_owner: opselite
What this data tells Crossbelt is the rig with a hostname of
000000 should be configured with the
ethermine profile and belongs to the owner named
You can also specific this data locally too.
sudo cb reconfigure --mp ethermine --ro opselite
The owner is important because inside the owner file is where you set all the various wallet addresses.
# rig_owner/opselite.yaml crossbelt::wallets::btc: 3H95NMM4QgQ1pUQC9cDh8fpgWqTdLZHzWJ
Crossbelt comes with many pre-defined configs for various pools, GPUs, and mining profiles.
This data is meant to be shared and updated frequently by the Crossbelt community. As time goes on we will make it simpler to set up and at a later date have a full blown UI that makes this dead simple. For now we are utilizing a git based system because it is free and allows everyone control of their data.
More info on setting up configuration data can be found at here
You can dynamically switch mining_profiles and owners from the command line which overrides the configuration stored in the cloud. These overrides will then be saved to the local configuration and used automatically the next time reconfigure is run.
sudo cb reconfigure --mp ethermine --ro opselite
Forking the Data
Crossbelt provides some pre defined profiles that may be suitable for your rig. There are also many community members that update and add new settings as well. You have the option of using this data or forking for more customization.
We host the data at Gitlab.com and you will need an account (free) to get started.
Forking the data allows you to provide additional profiles and more customized data.
This data can later be contributed back to the public repository for other to use if desired.
After forking you need to update crossbelt to use the new url. Please not you will have a different url.
sudo cb config set data_repo_url https://gitlab.com/blockops/crossbelt_data.git
Adding new wallets
After forking the crossbelt_data you can add your own wallet information so that you only need to specify in a single place.
Just create a file like
# crossbelt_data/data/rig_owner/opselite.yaml crossbelt::wallets: btc: 3H95NMM4QgQ1pUQC9cDh8fpgWqTdLZHzWJ dcr: DsZamV21EMkJYNVZVyyJeLbArNokzHKC6ga eth: 77562100D913A27ffd24FCFAD4E43095D3E4544D etc: 09fcD6596Ee3532BEC69Cda7824AeD091f708Ebc zec: t1ULRQhkqYv4Rh2snGirNJfLeDssRnHuq9G xmr: 467FTACVpkogxak8aDirSi2NDaL2zbAzohm2pcRpo7DN6iQ4EEFJYoEGQEZ3cvFa3mycF
Once created this is your rig owner profile which you will use during reconfiguration.
cb recofigure --mp ethermine --ro opselite
How the reconfigure command works
When the Crossbelt reconfigure command starts up it performs the following tasks:
- Crossbelt inspects your rig and gathers information about the compute units and operating system installed.
- Downloads the latest configuration modules specifically bundled for Crossbelt.
- Uses git to clone the data repo url either the default or one you specify.
- Uses puppet to create a unique configuration for the rig.
- Applies the configuration to the rig.
Each rig will get a unique configuration in about 15 seconds.
$ sudo cb reconfigure | Reconfigure Completed
Once completed your rig will be configured based on which profiles you set for it.