Pues aquí va un manual para minar con Raspberry Pi y un minero (en principio Butterfly Labs o Avalon) a través de CGminer. Son muchos pasos, pero son todos desde Windows y solo hace falta cortar y pegar.
Primero de todo, decir que este manual es teórico. No tengo ahora mismo ningún minero con el que probar. En cuanto lo tenga, cambiaré lo que te tenga que cambiar para que funcione.
¿Qué intento conseguir?Que tengas tu Raspberry Pi (RbP) conectada a la red de tu casa y con un minero enganchado. Que puedas ver y modificar los parámetros de tu cliente desde tu ordenador con Windows. Que si se desconecta la RbP por corte de luz o porque las desconectes de la corriente, en cuanto se encienda siga minando como si nada. Y todo eso sin tener que tener ni idea de Linux y solo cortando y pegando órdenes.
Materiales con lo que voy a explicar la instalación:- Raspberry Pi modelo B (Puerto Ethernet y dos USB)
- Tarjeta de memoria SD de al menos 4 gigas.
- Cable Ethernet.
Recomiendo adaptador USB WiFi. Son unos pocos euros y da la libertad de colocar la RbP donde se quiera. Daré un par de extrapasos para los que opten por WiFi. Los que no quieran poner WiFi, se los pueden saltar).
- Ordenador con Windows 7.
- Opcionales útiles para tener a mano por si algo fallase: Papel y boli; teclado USB; televisión y cable HDMI.
(Es lo que he usado yo personalmente. Si tienes una tarjeta de 8 gigas, también servirá. Si tu ordenador tiene Windows XP y una Raspberry Pi modelo A, tal vez sirva también. No es nada estricto pero tal vez tengas que modificar algunas cosas o echarle imaginación).
Dos cosas a tener en cuenta en el manual:
- Todos los Corta y Pega (C&P) aparecen en negrita y son para hacerlos en la consola que esté activa en cada momento.
- Todo lo que sea personal y propio de cada usuario, aparecerá en cursiva.
1) Primero es formatear la tarjeta SD de la manera correcta. Tal y como recomiendan desde RbP, descargar el programa SD Formatter 4.0 (
https://www.sdcard.org/downloads/formatter_4/). Instalarlo y formatear la tarjeta.
2) Ahora es copiar la imagen del sistema operativo que usará RbP. Bajar el zip de Raspbian “wheezy” (
http://www.raspberrypi.org/downloads) y mientras está descargándose, vamos a la página de Win32 Disk Imager (
http://sourceforge.net/projects/win32diskimager/) que usaremos para pasar el archivo dentro del zip de wheezy (formato img) a la tarjeta. También aprovechar ahora para descargarse TightVNC (
http://www.tightvnc.com/download.php), que será quien nos permita manejar la RbP desde nuestro Windows con teclado y ratón.
3) Instalar Win32 Disk Imager como cualquier programa Windows. Cuando se haya acabado de descargar wheezy, descomprimir el archivo y saber donde ponemos el archivo img. Con la tarjeta SD vacía en el lector, ejecutar Win32 Disk Imager. Localizar el archivo img e instalarlo en la tarjeta SD pulsando sobre el botón “Write”. Asegurarse que la letra de la unidad es efectivamente la de la tarjeta SD.
4) Cuando se haya instalado correctamente, insertarla en la RbP que debe estar desconectada. Conectar el cable Ethernet. Conectar la corriente. La RbP empezará a funcionar. Aquí viene un punto que puede ser delicado. Es averiguar qué dirección ip les ha asignado la red a la RbP. Hay que entrar al router a través del navegador poniendo en la barra de direcciones la dirección ip del router. En mi caso era 192.168.2.1. Suele tener una estructura muy parecida, variando la última cifra. Si no sabéis la dirección, tal vez esté bajo el router, en el libro de instrucciones o buscar en Google por su marca y modelo. Si tenéis red WiFi en casa, una aplicación útil para Android es Fing (
https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=es_419). Dentro del menú del router (que será distinto en cada caso), buscar algo como LAN setup y luego DHCP client list. Anotar la dirección de la RbP (192.168.2.X).
5) Para empezar la configuración de la RbP desde el ordenador, usar un cliente SSH. Recomiendo PuTTY (
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html?), que aunque tiene el nombre que tiene, será muy útil. Descargarlo y ejecutarlo. Introducir la ip de la RbP que habremos anotado antes.
6) Nos pedirá usuario y contraseña. Como usuario, pi. Como contraseña, raspberry.
7) Actualizamos el sistema en dos pasos. Corta (Ctrl+C) y pega (botón derecho) en la línea de comandos, primero
sudo aptitude update8 ) Y luego, Corta y pega (C&P) y pulsamos Y cuando nos pregunte,
sudo aptitude upgrade9) Ahora se resetea la RbP. Perderemos conexión con PuTTY. Al minuto o así, lo volvemos a ejecutar y volvemos a introducir la ip. C&P:
sudo reboot10) Ahora añadiremos un nuevo usuario a la RbP con todos los privilegios. Para este ejemplo, el nuevo usuario será Sigmaalt (tener en cuenta que las mayúsculas se tienen en cuenta en Linux, así que Sigmaalt no es igual a sigmaalt). Corta y pega editando el nombre de usuario:
sudo adduser Sigmaalt --force-badname11) Nos preguntará un par de veces por la nueva contraseña. Ponemos la que queramos y la recordamos o anotamos. También preguntará por datos personales, pero dando unas pocas veces al intro es suficiente.
12) Para darle todos los requisitos al nuevo usuario creado, C&P:
sudo visudo13) Nos aparecerá para editar un archivo. Vamos justo debajo de la línea donde pone “root ALL=(ALL:ALL) ALL” y añadimos esta (C&P editando el nombre de usuario):
Sigmaalt ALL=(ALL:ALL) ALL14) En la última línea del archive aparece “pi ALL=(ALL) NOPASSWD”, cambiamos “pi” por el nombre de nuestro usuario.
15) Pulsamos Ctrl+X, pulsamos Y para salvar cambios e intro para hacerlo en el mismo archivo.
16) Comprobamos que el usuario se ha creado correctamente escribiendo (con el nombre de usuario que hayamos creado):
su Sigmaalt17) Nos pedirá la contraseña y la ponemos. Si todo sale bien saldrá algo como “
Sigmaalt@raspberrypi /home/pi $”
18) Reseteamos con (C&P):
sudo reboot19) Volvemos a perder conexión pero volvemos a ejecutar PuTTy y ponemos otra vez la ip. Esta vez, cuando nos pida el usuario, ponemos el usuario nuevo y su contraseña.
20) Para temas de seguridad, borramos el usuario que venía por defecto en la RbP, C&P:
sudo deluser pi21) Ahora vamos a la configuración básica de la RbP. (C&P)
sudo raspi-config22) Aparecerá una pantalla con varias opciones donde podremos elegir el idioma del teclado, la zona horaria y la contraseña. Yo recomiendo expandir la memoria para que el sistema ocupe toda la tarjeta (expand_rootfs).
23) Cuando acabemos, ir a la opción de
y pulsar intro. Nos preguntará si queremos resetear y le damos a que sí.
24) Ahora hacer que la ip que tiene ahora la RbP sea fija y no la cambie el router cada vez que se desconecte-conecte. C&P:
sudo nano /etc/network/interfaces
25) Moviendo el cursor se cambia el archivo para que quede tal que así:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.2.44
netmask 255.255.255.0
gateway 192.168.2.1
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Donde 192.168.2.44 será la dirección fija de la RbP y la dirección del router (la que metemos en PuTTY) sería en este caso la 192.168.2.1.
26) Pulsamos Ctrl+X y guardamos los cambios con el mismo nombre de archivo (pulsar Y y luego un par de veces intro).
27) Si tenemos el adaptador WiFi contectado, pasar al siguiente punto. Si no se quiere o no se tiene, pasar al punto 34.
28) Comprobar que la RbP ha reconocido el USB, (C&P):
sudo lsusb
29) A mí me aparecía algo como “Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter”, pero debe cambiar con cada modelo.
30) Para configurar la red WiFi usaremos el programa wicd-curses, (C&P) y pulsando Y cuando nos pregunte e intro cuando nos salga una pantalla azul con nuestro usuario:
sudo aptitude install wicd-curses
31) Lo ejecutamos con (C&P):
sudo wicd-curses
32) Nos movemos con el cursor hasta nuestra red y pulsamos Ctrl+P para entrar en su configuración.
33) Aquí podemos asignar una ip fija. Se puede poner la misma dirección que pusimos antes, pero cambiando los últimos dos números, por ejemplo, 192.168.2.57. Los demás datos, tal y como en el punto 26. Marcar que se conecte automáticamente a la red y añadir la contraseña y el tipo de encriptación que tenga. Pulsar F10 y luego Shitf+C. Aquí PuTTY volverá a perder conexión. Salir del wicd-curses pulsando Shift+Q.
34) Apagar la RbP con (C&P):
sudo halt
35) Quitar el cable Ethernet y el de corriente. Volver a conectar el de corriente, iniciando la RbP. A partir de ahora todo será via WiFi.
36) Habíamos instalado TightVNC en Windows, pero ahora toca instalarlo en la RbP. C&P y pulsamos Y cuando nos pregunte si queremos continuar:
sudo aptitude install tightvncserver
37) Lo ejecutamos con (C&P):
tightvncserver
38) Preguntará por una contraseña con la que conectar, recomiendo usar una distinta a la de usuario, pero allá cada uno. Preguntará si queremos otra contraseña para conectarse en forma de sólo espectador, le damos a que no.
39) Para que inicie tightvncserver cada vez que se conecte la RbP, (C&P):
sudo nano /etc/rc.local
40) Vamos con el cursor hasta la línea anterior a “exit 0” y C&P:
sudo -u Sigmaalt /usr/bin/vncserver :0 -geometry 1280x800 -depth 16 -dpi 100
“Sigmaalt” es el usuario que se haya creado nuevo. Si no se viese bien después en Windows, editar la resolución en esta línea.
41) Ctrl+X para salir, Y para guardar los cambios e intro.
42) Ya queda poco. Antes de instalar cgminer, instalamos las dependencia que le hacen falta, C&P
sudo aptitude install git autoconf libtool libcurl4-openssl-dev libncurses5-dev pkg-config yasm make libusb-1.0-0-dev
43) Ahora sí a instalar cgminer, cortar y pegar cada comando. Si se tiene minero BFL, saltarse el paso 45. Si se tiene minero Avalon, saltarse el paso 44:
git clone git://github.com/ckolivas/cgminer.git cgminer
cd cgminer
./autogen.sh
export LIBCURL_CFLAGS='-I/usr/include/curl'
export LIBCURL_LIBS='-L/usr/lib -lcurl'
44) Si se tiene un minero BFL, C&P:
./configure --enable-bflsc
45) Si se tiene minero Avalon, C&P:
./configure --enable-avalon
46) Continuar con, C&P:
make
sudo make install
47) Para que si se desconecta la RbP el cgminer siga funcionando una vez recobrada la conexión, C&P:
sudo nano /etc/xdg/lxsession/LXDE/autostart
48) Y como última línea añadimos C&P:
@/usr/bin/lxterminal --geometry=90x35 -e cgminer
49) Ctrl+X, Y e intro.
50) Reiniciamos la RbP, C&P:
sudo reboot
51) En Windows, ejecutamos TightVNC (Viewer) e introducimos la ip de nuestra RbP y la contraseña que le pusimos. Y si todo está bien, ahí está nuestro cgminer como ventanita en el escritorio de wheezy.
52) Aquí hace falta tener los datos de nuestra pool y así metemos la url, nombre del minero y su contraseña. Y a minar!
53) Cuando veamos que todo funciona como queremos, guardar la configuración, pulsando S para ir a settings, W para crear un archivo de configuración, pulsamos intro y salvamos el archivo con el nombre que queramos (si se quiere modificar, estará en la carpeta
“Pi”, “CGminer” y ahí está escondido, para verlo y editarlo, vamos al menú , , .
Lo único que queda es que de vez en cuando se actualice el sistema y se ejecuten los pasos 7-9.
Y creo que hasta aquí llegó. Si hay algún fallo, decídmelo y lo modifico lo antes posible.
Para los primeros puntos que trabajan con cable Ethernet me he basado sólo en tutoriales externos. Cuando lo instalé no tenía acceso a cable y tuve que configurarla sólo con WiFi y con teclado USB y televisión HDMI. Si alguien lo intenta instalar y no funciona, que me avise lo antes posible. Si alguien está en la misma situación que yo (con WiFi sin Ethernet, que lo diga y le digo como son los primeros pasos).
He seguido un tutorial que he “condensado” aquí, publicado en este mismo foro por el usuario jafc76, (https://bitcointalksearch.org/topic/super-tutorial-raspberry-piraspbiancgminertightvncwifi-at-boot-233392), si le queréis agradecer el aporte, invitadle a una cervecita 1HFuxCE6WLL4Ct2DDiiX8C9eNnwBhARueh
Si al final tenéis vuestra Raspberry y vuestro minero funcionando y pensáis que qué bien os ha venido que alguien se entretuviese en hacer el tutorial, sólo si os han sobrado unos Satoshis, os acepto una cerveza también 1Dh4Lem1zZZP1pybyDbQ63mP4fSTuLKHUn