miércoles, 18 de mayo de 2016

Tutorial Ethminer headless

Como ejecutar Ethminer en Ubuntu 15.10 sin pantalla y sin esfuerzo

El objetivo de esta guía es tener un sistema donde poder ejecutar Ethminer sin pantalla y poder controlarlo remotamente
Requisitos necesarios:
  • Ubuntu 15.10 Desktop instalado
  • GPU ATI + drivers Oficiales instalados
  • Conocimientos basicos de unix shell
Obviamente para poder instalar el sistema necesitamos un display para introducir los comandos necesarios, luego de acabar con el procedimiento podemos quitarlo y usar el sistema en modo Headless
Notas: se puede instalar Ubuntu sin pantalla, pero requiere de un conocimiento avanzado "https://help.ubuntu.com/community/Installation/NetworkConsole"

Paso 1 - instalacion de paquetes necesarios

sudo apt-get install openssh-server
sudo apt-get install tmux
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethminer

Paso 2 - configuracion de permisos Xserver

Lo que vamos a configurar es el acceso de nuestros comandos al display que tiene abierto el servicio LightDM arrancado por defecto en Ubuntu Desktop, ya que dicho servidor X se ejecuta como root, tenemos que obtener permiso para poder conectarlos a el como usuario no privilegiado, asumimos que el nombre del usuario es "minero".
Notas: el usuario es el que hemos creado durante la instalacion

Configuramos el acceso al usuario minero al comando xauth sin password

sudo echo "minero ALL = NOPASSWD: /usr/bin/xauth" > /etc/sudoers.d/xauth
Notas: si no funciona el comando, crear el fichero manualmente e introducir la linea.

Esto nos permite ejecutar xauth como root y poder obtener y manipular las ACL del servidor X, deberemos poder ejecutar sin requerir la password.
sudo xauth list

Añadir las siguientes lineas al fichero .bashrc del usuario minero

vi .bashrc
...
cookie=`sudo xauth -f /var/lib/lightdm/.Xauthority list | cut -d " " -f 5`
xauth add :0 MIT-MAGIC-COOKIE-1 $cookie
...
Con esto autorizamos al usuario "minero" a usar el display :0 del servidor X arrancado por LightDM, podemos lanzar "xclock" para comprobar que no se muestran errores de autorización.
Notas: hay que volver a entrar con el usuario para que se activen los cambios, o ejecutar desde la shell "source .bashrc"

Paso 3 creacion del script para ethminer

crear un fichero bash script con vi, joe, gedit o similar vi minar.sh
#!/bin/bash
DISPLAY=:0
//parametros de aticonfig para Overclock de R9 390
//aticonfig --adapter=0 --od-setclocks=1150,1600

ETH_ADDRESS="0x4e4d31efaec6ad09759578fe9f43455854cfb9b4"
MINER_PATH="ethminer"
MINER_NAME="ethminer1"
MINER_PARAMS="-G -v 9 -F http://eth1.nanopool.org:8888/$ETH_ADDRESS/$MINER_NAME"

tmux new-session -d
tmux rename-session 'mining-session'
tmux split-window
tmux split-window -h
tmux split-window -t 0 -h

tmux send-keys -t 0 "$MINER_PATH $MINER_PARAMS" enter
Este script lanza un proceso de "tmux" en background ejecuta el comando de ethminer con la configuracion de pool y direccion Podemos recuperar la sesion de tmux con
tmux attach
Notas: podemos encontrar infinidad de tutoriales sobre tmux en https://www.google.es/search?q=tmux+tutorial+español&oq=tmux+tutorial

Ruegos y preguntas

... ...