26 julio, 2012

Raspberry Pi para novatos

Buenas a tod@s los que aún estáis en el blog por alguna razón.

Tras un largo periodo vacacional por parte de NeoDaVe voy a tomar su relevo para todos aquellos que tengan una Raspberry Pi y no sepan cómo empezar con ella. Para los que tampoco sepan realmente de lo que hablamos hagamos una pequeña introducción a este maravilloso gadget.

La Raspberry Pi es un pequeño computador del tamaño de una tarjeta de crédito (bueno, en realidad es un pelín más grande, pero se lo perdonamos) capaz de conectarse a tu TV o monitor y actuar como un fantástico reproductor multimedia, un mini servidor o todo lo que se te llegue a ocurrir que puedas hacer con Linux. Sus características son las siguientes:
  • Broadcom BCM2835 (CPU, GPU, DSP, y SDRAM)
  • CPU: 700 MHz ARM1176JZF-S core (família ARM11)
  • GPU: Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC
  • 256 MB SDRAM
  • Salidas vídeo: RCA, HDMI
  • Salidas de audio: jack 3.5 mm, HDMI
  • Almacenamiento: ranura SD, MMC, SDIO
  • Red: RJ45 10/100 Ethernet
Lo mejor de todo es el precio que tiene y es que por unos 40€ podemos tenerla puesta en casa por mensajería privada urgente. Yo personalmente la compré a los chicos Farnell España, que son una gente muy seria y maja que además tienen un servicio de atención al cliente eficiente. Además estaremos colaborando con una buena causa destinando parte de las ganancias a la fundación (puedes leer en su web toda la información al respecto). Su aspecto al llegar es este:


Una "simple" placa con la que, os aseguro, vais a disfrutar como enanos.  ¿Problema que os puede surgir? Que no viene con sistema instalado y si no habéis tocado demasiado Linux podéis encontraros algo perdidos... ¡Pero para eso estamos aquí! Tampoco debe preocuparos en exceso su aspecto, porque venden en muchísimos sitios cajitas para ponerla dentro y muchas de ellas le dan un look chulísimo. En mi caso particular compré una de ModMyPi, que además colabora con la Pi Foundation por cada cajita vendida. El aspecto con una cajita es totalmente diferente y la mía ha quedado así:


Lo primero de todo es descargar todo el software e imágenes que vamos a necesitar para preparar nuestra tarjeta SD con el sistema operativo. Haciendo caso de la web oficial vamos a descargar Raspbian Wheezy de aquí, que es la más estable de todas que he probado (y ya de paso podemos aprovechar la mayoría de tutoriales del blog :P) Al acabar tendremos un comprimido que contiene un fichero con extensión "img" que no es más que la imagen del sistema lista para ponerla en nuestra SD. Pasemos a la acción:

Paso 1, creación de la SD:
Si nos encontramos en un sistema Linux (ya sé que muchos estaréis aquí por eso mismo, pero por si acaso lo haré para Windows también) podemos hacer uso de la herramienta "ImageWriter". Dicha herramienta nos volcará el contenido del fichero "img" a la tarjeta SD con particionado incluído. Para instalarla abriremos una terminal y escribiremos:

$ sudo apt-get install usb-imagewriter

Si estáis en Ubuntu siempre podéis hacer uso del creador de discos de inicio (usb-creator-gtk) En el caso de los que estáis usando Windows usaremos otro programa totalmente distinto: Win32DiskImager. Para ello cargaremos el fichero con extensión "img" en el programa (sea cual sea de los dos, supongo que no es ningún problema cargar dicho fichero en ellos) y escribiremos en la unidad o punto de montaje en el que hayamos cargado nuestra SD. Os pongo una captura de Win32DiskImager, que al ser un tutorial más enfocado a novatos supongo que la mayoría estará tomando contacto con Linux por primera vez.

 Win32 Disk Imager nos permite escribir y leer imágenes desde una SD

Como veis la interfaz es realmente sencilla. Para proceder a la escritura de la imagen de Raspbian Wheezy a nuestra SD (en mi caso la unidad I:\) bastará con pulsar sobre el botón "Write" y esperar a que nos diga que ha finalizado el proceso. Más adelante os enseñaré a hacer copias de seguridad de vuestro sistema con el mismo programa, así que no lo eliminéis de vuestro sistema ;)


Paso 2, puesta en marcha:

Ahora que ya tenemos nuestra imagen en la tarjeta SD la introducimos en la ranura de nuestra Raspberry Pi, conectamos un cable de red, una pantalla/TV al HDMI y un teclado y ratón con cable (es preferible por compatibilidad). Por último conectamos nuestro alimentador microusb, del que nos habremos asegurado que trabaja a 5V y un mínimo de 750mA, y esperamos a tener señal de vídeo. En apenas unos segundos nos encontraremos con la siguiente pantalla de configuración:

Pantalla de configuración inicial (raspi-config)

Aquí vamos a poder configurar, de manera muy sencilla, varios parámetros esenciales para que nuestra Raspberry Pi se adapte a nuestras necesidades. En nuestro caso vamos a realizar una configuración para tenerla como servidor SSH, SFTP, DLNA y torrent por lo que vamos a priorizar el funcionamiento sin interfaz gráfica (nos vamos a olvidar de LXDE, que es lo que ahora mismo lleva instalado). Tal vez todos los servicios que te he dicho te han sonado a Chino, pero si te digo que podremos acceder de forma remota, transferir ficheros por conexión segura, hacer streaming de nuestro contenido multimedia (música, fotos, películas, series, etc.) o que la vamos a poder dejar descargando nuestras distribuciones de Linux favoritas sin tener que preocuparnos por el consumo... ¿verdad que te suena mejor? Pues eso es básicamente lo que vamos a hacer en los próximos tutoriales.

Empezaremos cambiando la contraseña por defecto por una que sea más segura, para ello iremos a "change_pass" y confirmaremos por dos veces la nueva contraseña. A partir de ahora nuestro usuario pasa a ser "pi" y nuestra contraseña la que acabamos de introducir. Como siguiente punto vamos a hacer que no inicie el entorno gráfico por defecto, ya que en nuestro servidor vamos a trabajar en el 99% de los casos mediante una conexión remota por SSH, por lo tanto nos desplazamos hasta la opción "boot_behaviour" y responderemos que "No" evitando así el arranque automático de XFCE. Seguimos con las opciones, ahora activaremos SSH, así que nos dirigimos a "ssh" y responderemos "Enable".

El paso que voy a realizar ahora sirve para restarle unos Megas de la GPU y cedérselos al sistema, consiguiendo así un mejor rendimiento en programas que puedan consumir un poco más de RAM como podrían ser los clientes torrent, que manejan gran cantidad de conexiones. Para ello nos vamos a "memory_split" y marcaremos la opción de 224 MiB para ARM y 32 MiB para VideoCore. Aceptamos y tras reiniciar -que no lo haremos ahora- ya tendremos activos los nuevos valores. Dicho procedimiento lo repetiremos más adelante, ya que veremos cómo actualizarle el firmware a nuestra máquina y deberemos volver a repartir la memoria de igual manera. 

Como último paso, y únicamente para aquellos con una SD de tamaño superior a 2 GB, iremos a la opción "expand_rootfs". Dicha opción redimensionará la partición del sistema (en la que tenemos la raíz, vamos) hasta llenar la totalidad del espacio libre en nuestra SD, por lo que si tenemos una de mayor tamaño aprovecharemos todo el espacio "muerto" que nos había quedado al meterle la imagen de 2GB. Opcionalmente podéis cambiar la distribución de teclado, zona horaria, etc en las opciones "configure_keyboard", "change_locale" y "change_timezone", pero eso lo dejo a vuestra elección.

Si en cualquier momento queréis volver a iniciar la configuración podréis hacerlo escribiendo:

sudo raspi-config 

Ha llegado el momento de reiniciar ahora nuestra pequeña para que tome la nueva configuración que hemos hecho, para ello saldremos de la configuración y escribiremos:

sudo reboot

Tras el reinicio, que no tardará más de un minuto, nos pedirá nuestros credenciales. Recuerda que el nombre de usuario es pi y la contraseña la cambiamos en primera instancia (por defecto es raspberry). Ahora ya puedes empezar a probar cosas en tu sistema, incluso experimentar un poco con la interfaz gráfica si quieres. Si lo que deseas es iniciar el entorno gráfico bastará con que escribas:

startx

 Entorno gráfico LXDE en Raspbian

Y con esto hasta el próximo tutorial, en el que actualizaremos el firmware de la Raspberry Pi para solucionar algunos problemas, agilizar el arranque e incluso dar soporte a algunas tarjetas SD que no funcionan con el que actualmente tenemos. También veremos cómo acceder a ella desde máquinas remotas para controlarla o transferirle ficheros, personalizar algunos ficheros de sistema -como por ejemplo asignarle una IP estática- y alguna cosita más.

Espero que os haya servido de ayuda. ¡Un saludo y hasta entonces!

7 comentarios:

  1. soy nuevo en todo esto, me encanta Raspberry Pi, pero soy de Mexico, cres que aca vendan o que me la puedan mandar?

    ResponderEliminar
  2. entek3 venden para todo el mundo, así que ya sabes :)

    ResponderEliminar
  3. Gracias por la entrada tan amena y en castellano de a pie... que a veces a los entendidos se emocionan tanto explicando que solo hablan con tecnicismos.

    Gracias por los tutoriales ^^

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Por cierto el "memory_split" afectaría solo a Raspbian? o la configuración de ése menú afecta a todos los OS qe tengas puestos en el Raspberry?

    Lo digo porque tengo tambien Openlec puesto...

    ResponderEliminar
  6. Kolox, afecta a todos (y perdón por no ver antes el comentario)

    ResponderEliminar
  7. Hola acabo de recibir mi Raspberry nueva de 512MB y me estoy empapando un poco antes de ponerme trastear.
    tengo unas dudillas:


    el Memory_split seria necesario usarlo con la de 512MB?


    merece la pena usar una tarjeta de mas tamaño??
    La idea era conectar un disco ssd USB externo para que funcione de servidor web y para descargas de archivos desde Internet


    el overscan es para subir la velocidad del micro??
    para funciones de servidor web incrementaría el rendimiento o bien me la puedo cargar por un incremento de rendimiento ínfimo.


    seria recomendable poner el disco externo en un hub USB con sobrealimentación?

    ResponderEliminar