Comment miner sur Linux (Ubuntu 20.04) en partant de zéro?
Par Paul-Emile Chantrel
Précédemment, nous avions vu comment fabriquer un rig de minage (vidéo disponible ici et article disponible ici) et aujourd’hui, nous allons montrer comment miner de l’Ethereum sur Linux avec ce rig.
Comme d’habitude, cet article est accompagné d’une vidéo :
Dans cet article, nous allons montrer comment installer Linux sur notre rig puis comment miner en seulement deux étapes : installation des pilotes puis du logiciel de minage. En bonus (qui n’est pas dans la vidéo), nous montrerons comment programmer le rig pour que le logiciel de minage se lancent automatiquement au démarrage.
Installer Linux
Pour installer Linux, il vous faut une clé USB et un logiciel nommé Rufus (https://rufus.ie/fr/) pour graver le fichier d’installation sur la clé.
Dans notre cas, nous allons utiliser un système en dual boot, c’est-à-dire que notre rig aura à la fois Linux et Windows. Cela facilitera l’optimisation du BIOS des cartes graphiques par la suite car cette étape se fera sur Windows. Pour avoir un système en dual boot, il faut installer Windows en premier puis Linux en second. Vous pouvez trouver notre tutoriel qui explique comment installer Windows ici ou la vidéo qui va avec là.
Dans un premiers temps, nous téléchargeons le fichier d’installation de Linux Ubuntu, version 20.04.3 LTS sur le site d’ubuntu : https://ubuntu.com/download/desktop.
Une fois le fichier téléchargé, nous allons le graver sur la clé USB à l’aide de Rufus. Attention, cette étape risque d’effacer toutes les données déjà présente sur la clé USB.
Pour graver le fichier, dans Rufus, il faut sélectionner a clé USB dans périphérique (ici, elle s’appelle Ubuntu 20.04.3 etc, car nous avions déjà installé Ubuntu dessus). Ensuite, pour "type de démarrage", choisissez le fichier en .iso que vous avez téléchargé précédent.
Nous pouvons ensuite laisser le reste des paramètres tel quelle avec un schéma de partition MBR, et les autres options comme sur l’image ci-jointe.
Enfin, nous pouvons commencer le processus de gravure en cliquant sur démarrer.
Une fois le fichier d’installation gravé sur la clé, vous pouvez la brancher et votre ordinateur démarrera avec la fenêtre d’installation de Ubuntu. Si ce n’est pas le cas, vous pouvez aller dans le BIOS (en pressant F12 au démarrage dans notre cas) puis sélectionnez votre clé USB pour le démarrage.
Il suffit ensuite de suivre les étapes. Si vous souhaitez également avoir un système en dual boot, il vous sera demander si vous voulez installer Ubuntu à côté de Windows comme sur l’image ci-dessous.
Par la suite, lorsque vous choisissez votre nom d’utilisateur, vous pourrez sélectionner l’option "Log in automatically" pour ne pas avoir à mettre de mot de passe au démarrage. Cela sera très pratique si vous souhaitez miner directement dès que votre ordinateur s’allume.
Après cela, vous pouvez commencer le processus d’installation. Une fois celle-ci terminée, nous pouvez passer à la prochaine étape !
Miner en deux étapes
Nous allons désormais montrer comment miner sur linux en seulement 2 étapes. Dans un premier temps, nous allons installer les pilotes des cartes graphiques puis dans un second temps, nous allons installer le logiciel de minage PheonixMiner.
Installation des pilotes
Pour les pilotes de nos cartes graphiques AMD, nous téléchargeons la version 20.30 (https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-30). Nous prenons la version pour Ubuntu 20.04.1 et cliquons sur sauvegarder le fichier.
Nous ouvrons ensuite le terminal (en cliquant sur ctrl + t) et nous allons dans le fichier téléchargement avec la commande " cd Dowloads/ " si Ubuntu est en anglais ou "cd Téléchargements/ " s’il est en français.
Nous allons ensuite dézipper le fichier avec la commande :
$ tar -Jxvf [Nom du fichier à dézipper]
Soit dans notre cas :
$ tar -Jxvf amdgpu-pro-20.30-1109583-ubuntu-20.04.tar.xz
Ensuite, nous allons dans le fichier avec la commande :
$ cd amdgpu-pro-20.30-1109583-ubuntu-20.04/
Et nous tapons la commande :
$ ./amdgpu-install --opencl=legacy
L’installation des pilotes va ensuite commencer. Il vous sera demandé d’appuyer sur "y" pour continuer. Une fois terminé, vous pouvez redémarrer l’ordinateur.
Phoenix Miner
Nous allons maintenant installer le logiciel de minage PhoenixMiner. Pour cela, vous pouvez aller sur la page Bitcoin Talk du logiciel (https://bitcointalk.org/index.php?topic=2647654.0) ou directement sur la page de téléchargement (https://phoenixminer.info/downloads/).
Dans notre cas, nous prenons la dernière version pour Linux (5.9d) avec le fichier en .tar.gz. Comme pour les pilotes, nous cliquons sur l’option pour sauvegarder le fichier.
Ensuite dans le terminal (ctrl+t), nous retournons dans le fichier téléchargement (cd Downloads/ ou cd Téléchargements/) puis nous dézippons le fichier avec la commande :
$ tar -xvf PhoenixMiner_5.9d_Linux.tar.gz
Nous allons ensuite dans le fichier dézipper avec la commande :
$ cd PhoenixMiner_5.9d_Linux/
Nous pouvons maintenant faire un test pour voir si le minage fonctionne en lançant le programme "start_miner.sh". Pour cela, nous utilisons la commande :
$ sudo ./start_miner.sh
Si vous voyez quelque chose semblable à l’image ci-dessus, c’est que les pilotes fonctionnent. Nous allons donc couper le processus de minage (ctrl +c) et modifier les paramètres du fichier start_miner.sh.
Pour ouvrir ce fichier, nous utilisons la commande :
$ sudo nano start_miner.sh
Nous supprimons ce qui est déjà présent puis nous remplaçons par :
./PhoenixMiner -pool [adresse de la pool] -wal [wallet]/[Nom du Rig]/[adresse mail] -pass x -fanmin 50 -log 0 -tt 70
Avec :
[adresse de la pool] -> eth-us-west1.nanopool.org:9999 si vous êtes au Canada ou [adresse de la pool] -> eth-eu1.nanopool.org:9999 si vous êtes en Europe.
[wallet] -> votre adresse Ethereum où les ethers seront envoyées.
[Nom du Rig] -> le nom que vous souhaitez donner à votre rig, comme Rig01 par exemple.
[adresse mail] -> vous recevrez un mail sur cette adresse si votre rig se coupe.
Nous avons également mis des paramètres pour la régulation thermique du rig.
Une fois le fichier modifié, vous pouvez le sauvegarder en appuyant sur ctrl + x puis "y".
Vous pouvez ensuite lancer le minage avec les nouveaux paramètres en utilisant encore la commande :
$ sudo ./start_miner.sh
Vous pouvez ensuite aller sur le site de https://eth.nanopool.org/ et taper votre adresse Ethereum dans le coin en haut à droite pour voir les données de votre rigde minage. (Cela peut prendre entre 15 et 30min la première fois, le temps qu’une share soit trouvée). Pour plus de détails sur le fonctionnement de Nanopool, je vous invite a voir la vidéo faites avec cet article.
Par la suite, il est possible d’augmenter la puissance de Hash de vos cartes graphiques et de diminuer leur consommation d’énergie en modifiant leur BIOS.
Désormais, nous allons voir comment configurer le rig pour qu’il commence à miner automatiquement à son allumage.
Miner automatiquement à l’allumage
Pour démarrer le minage automatiquement à l’allumage, nous allons créer un programme appelé check_miner.sh qui va regarder si le minage fonctionne et le démarrer si ce n’est pas le cas. Ensuite, nous allons automatiser le lancement de ce programme toutes les minutes. Ainsi, nous pourrons commencer le minage au démarrage de l’ordinateur (ou si le programme se coupe).
Dans un premier temps nous allons faire le lancement automatisé toutes les minutes à l’aide de cron.
Pour cela, allez dans le fichier etc avec la commande:
$ cd /etc
Puis ouvrez cron avec la commande :
$ sudo nano crontab
Ajouter la ligne :
* * * * * root sudo sh ./check_miner.sh
Vous pouvez ensuite quitter et sauvegarder avec ctrl+x.
Le programme start_miner.sh doit être lancé avec les accès super-utilisateurs (sudo) ainsi nous devons créer les programmes depuis le compte du super-utilisateur. Pour cela, nous utilisons la commande :
$ sudo -i
Nous pouvons ensuite créer le programme check_miner.sh :
$ sudo nano check_miner.sh
Puis copier/coller les lignes suivantes dans le fichier :
#!/bin/bash
PID=$(pgrep screen)
if [ ${#PID} -eq 4 ]
then
sudo sh ./start_miner.sh
fi
Comme expliqué précédemment, ce programme va regarder si le minage fonctionne et lancer star_miner.sh (lancer le minage) dans le cas contraire.
Cependant, nous n’avons pas le programme start_miner.sh dans le compte du super-utilisateur, il faut donc le copier coller depuis notre fichier téléchargement.
Pour cela, nous pouvons ouvrir une nouvelle tab (ctrl+t) qui sera avec un compte utilisateur normal et effectuer la commande :
$ sudo cp Downloads/PhoenixMiner_5.9d_Linux /usr/local -r
Puis avec le compte super-utilisateur (sudo -i ou premier terminal) :
$ cp /usr/local/PhoenixMiner_5.9d_Linux/PhoenixMiner ~/ -r
$ cp /usr/local/PhoenixMiner_5.9d_Linux/start_miner.sh ~/ -r
Etant donné que le programme start_miner.sh appelle ensuite le programme PhoenixMiner, il faut importer les deux.
Nous devons ensuite modifier légèrement le programme start_miner.sh. Pour cela, nous ouvrons le fichier avec la commande :
$ nano start_miner.sh
Puis nous changeons l’ancien programme par :
root -c "screen -dmS ethm ./PhoenixMiner -pool eth-us-west1.nanopool.org:9999 -wal 0x0AaD547Ffb4117b2eb5867363bAF514A096039D5/Rig001/email@gmail.com -pass x -fanmin 50 -log 0 -tt 70"
Récapitulons : toutes les minutes, cron va lancer le programme check_miner.sh qui va regarder si le minage fonctionne. Si ce n’est pas le cas, ce dernier va lancer le programme start_miner.sh qui va à son tour lancer PhoenixMiner avec les paramètres souhaités (pool, wallet, régulation thermique, etc).
Cependant, tout cela ce fait dans en arrière plan et ne sera, a priori, pas visible dans le terminal. En d’autres termes, nous ne pourrons pas voir l’interface de minage.
Pour remédier à ce problème, nous utilisons screen :
$ sudo apt install screen
Ainsi, au lancement de start_miner.sh, nous allons créer une interface screen que nous pourrons ensuite ouvrir via le terminal. (Dans le programme start_miner.sh modifié, vous pouvez voir le code "screen -dmS ethm" qui lance le programme dans screen.)
Nous allons maintenant créer un raccourci pour screen. Pour cela :
$ sudo nano .bashr
Puis sous la ligne “# enable programmable completion…” ajoutez :
alias miner='screen -x ethm'
Ensuite, sauvegardez avec ctrl+x puis mettez le fichier à jour avec la commande :
$ . ~/.bashrc
Ainsi, lorsque le programme PhoenixMiner est lancé, vous pourrez l’ouvrir en tapant miner dans le terminal (en super-utilisateur, avec sudo -i) et voir l’interface du minage.
À noter que check_miner.sh sera lancé à chaque changement de minute sur l’horloge de votre ordinateur. Il faudra donc attendre une minute ou moins pour que le minage commence après l’allumage.
Voilà, nous avons montré comment démarrer le minage automatiquement à l’allumage du rig.
Dans cet article, nous avons donc vu comment installer Linux puis comment installer le logiciel pour miner. Vous pouvez également retrouver ces explications dans notre vidéo si ce n’est pas déjà fait. En plus de cela, nous avons montré comment démarrer le minage automatiquement à l’allumage du rig.
Cet article s’inscrit dans notre lignée de tutoriels où nous fabriquons un rig de minage. Vous pouvez retrouver l’article précédant où nous montrons comment fabriquer un rig de minage (ou sa vidéo) ou encore celui où nous montrons comment miner sur Windows avec Nicehash (ou sa vidéo). Prochainement, nous verrons comment modifier le BIOS des cartes graphiques pour augmenter le rendement du rig de minage.