Instalación de distros en Raspberry Pi

Desde que tengo mi Raspberry Pi no he dejado de probar distintas aplicaciones, con mayor o menor éxito dependiendo del grado de madurez del proyecto, demostrando lo útil que es el dispositivo gracias a su diseño y bajo coste. Hasta ahora, la distribución para RPi que más me ha gustado y que más utilizo es XBian, gracias a la cual mi RPi se ha convertido en un potente y completo centro multimedia. De hecho, me estoy planteando comprarme otro RPi para seguir probando cosas e inventando nuevos proyectos. Tras esta experiencia, quiero comentar en este artículo como instalar cualquier distribución para RPi sin problemas.

Lo primero que tenemos que hacer es descargarnos la imagen de la distro a instalar, la cual tendrá la extensión .img y estará comprimida para facilitar su descarga. A continuación descomprimimos la imagen y procedemos a volcarla a la tarjeta SD que introduciremos en el RPi. Para ello vamos a utilizar el comando dd, que sirve para copiar información desde una fuente a un destino byte a byte. Dado que en Linux todo es un fichero, la potencia de dd es tremenda, ya que nos va a permitir volcar el contenido de la imagen de una distro a un dispositivo extraíble como es la tarjeta SD.

Sin embargo, parafraseando el conocido anuncio, esta potencia sin control es muy peligrosa y podemos convertir a dd en una herramienta destructiva si no elegimos bien el destino del comando. Así que antes de volcar vamos a ver cómo elegir adecuadamente el dispositivo que representa a nuestra tarjeta SD.

Antes de seguir, debo comentar que cada proyecto RPi tiene unos requerimientos mínimos de espacio, por lo que la tarjeta SD que elijamos debe cubrir dicha cantidad. No todos las distros tienen las mismas necesidades, e incluso nos las podemos encontrar que les basta con 1GB, pero lo habitual es irnos a 8GB o más. Asimismo, es importante elegir una clase elevada de tarjeta, preferiblemente clase 10, ya que eso nos asegura una transferencia de datos mínima y un rendimiento adecuado en el RPi. Hay más información a este respecto en la Wikipedia.

Con la tarjeta sin insertar, ejecutamos el siguiente comando:

# cat /proc/partitions

lo que nos dará un resultado similar a éste:

major minor #blocks name

8 0 156289847 sda
8 1 1951744 sda1
8 2 97655808 sda2
8 3 56680448 sda3
11 0 1048575 sr0

Lo que hemos hecho es preguntarle directamente al núcleo de Linux por los dispositivos de almacenamiento y sus particiones que el sistema operativo haya detectado. Aunque existen otros métodos (por ejemplo, usando el comando fdisk -l), éste es sin duda el más fiable. En el ejemplo, tenemos un disco duro (sda) con tres particiones y una unidad óptica (sr0).

Ahora insertamos la tarjeta SD en nuestro ordenador y consultamos de nuevo al núcleo por los dispositivos y sus particiones, con lo que obtendremos algo tal que así:

major minor #blocks name

8 0 156289847 sda
8 1 1951744 sda1
8 2 97655808 sda2
8 3 56680448 sda3
11 0 1048575 sr0
8 64 975360 sde
8 65 975295 sde1

Como vemos, existe una diferencia clara: ahora existe un dispositivo nuevo (sde) con una partición. Pues bien, ése es el que representa a nuestra tarjeta SD y el que debemos usar en el comando dd. Por cierto, en vez de sde el sistema podrá elegir sdb, sdc, etc, según la disponibilidad de identificadores de dispositivos. En mi caso, al usar un lector multitarjeta, es lógico que el sistema me haya asignado sde.

En el caso de que nuestro Linux haya montado automáticamente la tarjeta SD debemos proceder previamente a desmontarla desde el propio entorno gráfico. Una vez lista la tarjeta, ejecutamos el siguiente comando:

# dd if=distro.img of=/dev/sde

A partir de este momento, el sistema se pondrá a volcar el contenido de la imagen de la distro para RPi en nuestra tarjeta SD. En el parámetro if indicamos el fichero de la imagen y en el parámetro of el dispositivo de la tarjeta SD. Aquí se puede apreciar el peligro de dd si indicamos incorrectamente el dispositivo de salida. ¿Qué ocurriría si pongo sda en vez de sde? Pues que más que probablemente destruya mi sistema operativo. Por eso, hay que revisar concienzudamente el comando dd antes de ejecutarlo para estar seguros de que no cometemos un grave error.

Una vez terminado dd, forzamos el vaciado de los buffers intermedios con este comando:

# sync

y ya podemos extraer la tarjeta SD de nuestro ordenador, insertarla en el RPi y probar la distro.

Con estas instrucciones sólo queda elegir la distro que queremos probar, ya sea de propósito general como Raspbian o especializada como XBian (centro multimedia), PiMame (emulador arcade) o IPFire (cortafuegos). Espero vuestras experiencias con Raspberry Pi y algunos de estos proyectos.