Après 4 années de sommeil, le blog est de retour. Aujourd’hui je vous propose un tuto de MisterLL pour optimiser votre minage avec ccminer.

Merci à lui pour sa contribution

 

Etape 1 : Installer Ubuntu

Tout d’abord installer Ubuntu 16.04 (on a besoin de stabilité, pas d’un truc a la dernière version de la mort qui tue, le but est d’avoir un rig stable)

Ainsi, on installe Ubuntu 16.04 Desktop (Server possible mais on ne peut pas faire tourner de wallet graphique dessus)

Une fois l’installation terminée, il faut s’attaquer à  Ubuntu nvidia/cuda

la procédure est relativement aisée :

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update 
ubuntu-drivers devices  
sudo apt-get install ssh screen git nvidia-common build-essential automake libtool libcurl4-openssl-dev libssl-dev libjansson-dev automake autotools-dev
sudo apt-get upgrade
sudo apt autoremove
sudo reboot *

En gros on fait

  • l’ajout du repository qui contient les drivers propriétaires,
  • la mise a jour du système pour prise en compte du repository
  • une vérification des drivers via l’outil ubuntu-drivers
  • l’installation proprement dite d’outils utilisés plus tard, de librairies, et des composants nvidia / cuda
  • une fois le tout installé, on lance une derniere mise a niveau de l’OS afin de s’assurer que le dernier kernel a jour soit installé (utile en ces temps de Spectre / Meltdown).
  • Une fois l’upgrade terminée, la commande autoremove fait du nettoyage de paquets (vieux kernel par exemple), puis on reboot.

après le premier reboot, les choses sérieuses commencent.

il va falloir installer les headers du noyau linux qui tourne sur la machine avec la commande :

            sudo apt-get install linux-headers-$(uname -r)

Installer Cuda9.1

la version 9.1 est un choix délibéré par l’auteur de ce tutoriel (MisterLL), choix motivé par un mix de performance, de stabilité, et de non prise de tête.

on pourrait idéalement installer Cuda via les repository Ubuntu mais on va plutot utiliser ceux de Nvidia en les téléchargeant

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb

Enfin, on récupère la clé de Nvidia pour signer le repository :

  sudo apt-key adv –fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

On update APT :

            sudo apt-get update

et là, a moins d’avoir la fibre, c’est assez long. Donc si vous êtes connectés sur votre Ubuntu via une autre machine en SSH, il est temps de lancer screen avec la commande :

screen

(si ça ne fonctionne pas, vous avez merdé au debut de la procédure)

depuis cet écran, vous pouvez lancer :

            sudo apt-get install cuda libtool nvidia-cuda-toolkit

ce qui téléchargera Cuda et tous ses composants.

pour sortir, sans quitter, screen la combinaison de touches est

CTRL+A +D

une fois Cuda installé; on reboot

sudo reboote

la machine a bien redémarrée, tout est installé, il n’y a plus qu’a :

Créer un répertoire dédié aux outils de minage

 mkdir Miners
cd Miners/

l’outil de minage sur GPU Nvidia est ccminer actuellement maintenu par Tanguy Pruvot.

on clone donc le code via git

            git clone https://github.com/tpruvot/ccminer.git

une fois fini, entrez dans le répertoire obtenu.

tapez la commande nvidia-smi et vérifiez que vo(tre)s GPU(s) sont (est) reconnu(s)

si tout est bon

on peut lancer la compilation

./autogen.sh
./configure.sh
 ./build.sh

on patience de 5 a 20 minutes le temps que ca compile

et quand c’est fini on peut taper

            ./ccminer –version

ce qui lancera votre ccminer fraichement compilé.

il est ainsi impératif de roder ccminer et de lancer la commande :

/usr/local/bin/ccminer -a x17 -o stratum+tcp://yiimp.eu:3777 -u DE9AmJoG5WQWpmrUQnLzBniT3263iob7Rm -p c=XVG

et la laisser tourner environ 4h (histoire de s’assurer que tout fonctionne bien !).

une fois confirmé que cela fonctionne bien, l’auteur de ses lignes vous remerciant grandement, on peut attaquer le script qui lancera le minage au travers d’un service.

nano mining.sh 

une fois dans l’éditeur, on copie colle :

#!/bin/bash
    nvidia-smi -pm 1
    nvidia-smi -pl 150

#XVG
/usr/local/bin/ccminer -a x17 -o stratum+tcp://yiimp.eu:3777 -u DE9AmJoG5WQWpmrUQnLzBniT3263iob7Rm -p c=XVG

les commandes nvidia-smi permettent d’activer la fonction de gestion de la puissance électrique, histoire de limiter la consommation des GPUs

le reste lance ccminer

un fois terminé, CTRL+X on valide avec O

On rends le fichier executable avec la commande :

chmod +x mining.sh

et voila votre fichier créé dans votre répertoire utilisateur

/home/lenomquej’aichoisialinstallation

On le teste avec la commande :

./mining.sh

On laisse tourner 2 bonnes heures pour s’assurer que ça marche bien (!)

maintenant, ça serait pas mal d’avoir sa bécane qui démarre toute seule le minage. En cas de coupure de courant, le PC redémarre et zou… ça relancerait tout ça sagement…

on va s’appuyer sur systemd

et créer un service qu’on appelera ccmining

/etc/systemd/system/ccmining.service 

on crée le fichier via nano :

nano /etc/systemd/system/ccmining.service 

le contenu a copier coller :

[Unit]
    Description=Mining with ccminer
    After=network.target

    [Service]
    Environment=GPU_FORCE_64BIT_PTR=0
    Environment=GPU_MAX_HEAP_SIZE=100
    Environment=GPU_USE_SYNC_OBJECTS=1
    Environment=GPU_MAX_ALLOC_PERCENT=100
    Environment=GPU_SINGLE_ALLOC_PERCENT=100
    ExecStart=/home/BLAHBLAH/mining.sh

    [Install]
    WantedBy=multi-user.target

On sort avec ctrl+x on valide avec O

Le fichier de service est créé. Il ne reste plus qu’a le tester avec la commande :

Systemctl start

Si tout se déroule bien, on peut activer le service avec la commande
Systemctl enable

Votre service est créé.

On peut aussi créer un script qui forcera le redémarrage du service en cas de vérifications toutes les 5 minutes; si le(s) GPU(s) tournent a moins de 75% de temps processeur, on peut estimer qu’il y a un souci, et rebooter :

On peut créer le script check-gpu.sh suivant qui en plus, peut vous envoyer des SMS sur votre GSM FreeMobile :

#!/bin/bash

for GPU in {0..1}
do  UTIL=`nvidia-smi -i $GPU –query-gpu=utilization.gpu –format=csv,noheader | cut -f1 -d » « `
 if (($UTIL < 75)); then
   GPUINFO=`nvidia-smi -i $GPU –query-gpu=index,name,utilization.gpu,temperature.gpu –format=csv,noheader`

   systemctl restart ccmining
   curl -d user=UTILISATEURFREE -d pass=MOTDEPASSEFREE -d msg=« CCMINER REDEMARRE! -G https://smsapi.free-mobile.fr/sendmsg
   exit 1
 else

   echo « a l’aise, Blaise »
   curl -d user=UTILISATEURFREE -d pass=MOTDEPASSEFREE -d msg= »GPU $GPU OK sur l’ordinateur $HOSTNAME » -G https://smsapi.free-mobile.fr/sendmsg

 fi
done

On sort avec ctrl+x puis o
On rend exécutable avec chmod +x et on teste !

Quand c’est ok, il suffit de copier le script dans le repertoire /root :

sudo cp check-gpu.sh /root/

Et on édite la crontab :

sudo crontab -e

Afin de rajouter la ligne suivante :

*/5 * * * * /bin/bash /root/check-gpu.sh >/dev/null 2>&1

Votre RIG est prêt

Merci qui ??

 

Suite : on a un CPU autant s’en servir !


git clone https://github.com/tpruvot/cpuminer-multi.git
sudo apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++
sudo apt autoremove

./autogen.sh
./build.sh
sudo make install

sudo nano /etc/systemd/system/XVG.service

[Unit]
Description=Mining with ccminer
After=network.target

[Service]
Environment=GPU_FORCE_64BIT_PTR=0
Environment=GPU_MAX_HEAP_SIZE=100
Environment=GPU_USE_SYNC_OBJECTS=1
Environment=GPU_MAX_ALLOC_PERCENT=100
Environment=GPU_SINGLE_ALLOC_PERCENT=100
ExecStart=/usr/local/bin/cpuminer -a x17 -o stratum+tcp://yiimp.eu:3777 -u DE9AmJoG5WQWpmrUQnLzBniT3263iob7Rm -p c:XVG

[Install]
WantedBy=multi-user.target

systemctl start XVG
systemctl status XVG

systemctl enable XVG