Distribuciones de Linux para el RPi
En esencia, las abundantes distribuciones Linux para sistemas empotrados utilizan todas el mismo núcleo estándar de Linux. Sin embargo, cada una incluye un conjunto de herramientas y configuraciones que resultan en experiencias de usuario muy diferentes. Las principales distribuciones de Linux de código abierto empleadas por la comunidad de usuarios de RPi son Raspbian, Ubuntu, OpenELEC y Arch Linux.
Raspbian es una versión de Debian concebida específicamente para el RPi. Debian (una abreviación de Debbie e Ian) es una distribución Linux dirigida por su comunidad de usuarios, que pone mucho énfasis en el desarrollo de código abierto. Ninguna organización comercial participa en el desarrollo de Debian. Raspbian amplía Debian con herramientas y paquetes de software, por ejemplo Java, Mathematica o Scratch, específicos para el RPi. En la actualidad tenemos disponibles tres versiones de Raspbian para descargar desde la web de Raspberry Pi:
❏Raspbian Jessie: es una imagen basada en Debian Jessie (Debian versión 8.x) con soporte completo de escritorio. (Tamaño de imagen: sobre 1,3 GB comprimida y unos 4 GB descomprimida).
❏Raspbian Jessie Lite: una imagen con tamaño mínimo basada también en Debian Jessie. Cuenta con un soporte de escritorio limitado, pero que se le puede ampliar fácilmente más adelante. (Tamaño de imagen: sobre 375 MB comprimida y unos 1,4 GB descomprimida).
❏Raspbian Wheezy: una imagen antigua basada en Debian Wheezy (Debian versión 7.x) que está disponible por motivos de compatibilidad con ciertos paquetes de software. Siempre que nos sea posible elegiremos la imagen Jessie, en particular si pretendemos realizar compilación cruzada de aplicaciones.
NOTA Raspbian (Jessie) se utiliza en los ejemplos paso a paso de este libro y, por tanto, es la distribución que recomendamos con insistencia. Asimismo, Debian es la distribución Linux de escritorio que utilizamos en el libro porque ofrece un excelente soporte para el desarrollo multiplataforma gracias a sus toolchain para compilación cruzada (www.debian.org).
Ubuntu es una distribución íntimamente relacionada con Debian. De hecho, la siguiente descripción es la de la propia web de Ubuntu (www.ubuntu.com): "Debian es la piedra sobre la que se edifica Ubuntu." Ubuntu es una de las distribuciones Linux más populares para el escritorio, sobre todo por su empeño en hacer Linux más accesible a los nuevos usuarios. Resulta fácil de instalar, tiene un soporte de controladores para escritorio excelente y también ofrece distribuciones binarias para el RPi. La baza principal de Ubuntu es la experiencia de usuario de su escritorio. Si se va a usar el RPi como dispositivo de computación de propósito general (véase el capítulo 14) Ubuntu puede ser la distribución que mejor se adapte a esa tarea.
OpenELEC (www.openelec.tv) se centra particularmente en las aplicaciones multimedia y sobre todo en Kodi (www.kodi.tv). Si desea utilizar el RPi como dispositivo multimedia para el hogar (home media center), esta distribución ofrece seguramente el mejor rendimiento. Las distribuciones OpenELEC utilizan generalmente un sistema de archivos de solo lectura, como squashfs (squash file system o squashFS), para un mayor rendimiento y fiabilidad. Sin embargo, tales optimizaciones dificultan el trabajo de prototipado y desarrollo.
Arch Linux (www.archlinuxarm.org) es una distribución de Linux ligera y flexible que persigue la simplicidad como objetivo principal. Su público son los usuarios de Linux de nivel medio o avanzado a los que ofrece control total, con la responsabilidad que conlleva, de la configuración del sistema. Hay disponibles versiones de Arch Linux ya compiladas y listas para el RPi. Sin embargo, comparada con otras distribuciones, en la actualidad ofrece menos soporte a los usuarios nuevos de Linux en la plataforma RPi.
La RPi Foundation desarrolló un instalador de Linux para usuarios nuevos llamado NOOBS, que contiene Raspbian pero ofrece la facilidad de descarga e instalación de otras distribuciones Linux. Numerosos kits incluyen una tarjeta SD con NOOBS junto con el hardware RPi. Sin embargo, si optamos por descargar e instalar una imagen Raspbian, deberíamos descargar directamente la imagen siguiendo las instrucciones de la sección siguiente.
Asimismo, han comenzado a aparecer otras soluciones no Linux, como Windows 10 IoT Core y RISC OS, para el RPi. Se trata de desarrollos muy interesantes y sin duda bienvenidos. Sin embargo, en la actualidad tienen un soporte limitado para dispositivos y requisitos de programación muy específicos si se los compara con Linux. Para seguir el libro, que se centra como sabemos en soluciones Linux, es mejor obviar dichas distribuciones.
Cómo crear una imagen Linux en una tarjeta SD para el RPi
La manera más fácil de configurar una tarjeta SD para iniciar con ella el RPi consiste en descargar el archivo de imagen de una distribución Linux (archivo con extensión .IMG , generalmente comprimido a su vez en formato .zip) desde el sitio web
www.raspberrypi.org/downloads y grabarlo en una tarjeta SD mediante una utilidad de grabación de imágenes. Las siguientes utilidades para grabación de imágenes convierten este proceso en algo sencillo y directo.
ADVERTENCIA Cuando grabamos el archivo de imagen de una distribución Linux en una tarjeta SD, se pierde todo el contenido anterior de la misma. Asegúrese de grabar la imagen descargada en el dispositivo correcto cuando utilice las herramientas aquí descritas.
❏Windows: Use Win32DiskImager (disponible en tiny.cc/erpi202). Introduzca la tarjeta SD antes de iniciar la aplicación y asegúrese bien de seleccionar la tarjeta SD correcta.
❏Mac OS y Linux: Utilice, con sumo cuidado, la herramienta para clonar discos dd. En primer lugar, identifique el dispositivo. Debería mostrarse como /dev/mmcblkXp1 o /dev/sddX en Linux, o bien /dev/rdiskX en Mac OS, donde la X es un número. Asegúrese de que X haga referencia a la tarjeta SD en la que desea escribir el archivo de imagen. Para ello puede comprobar, por ejemplo, que el espacio disponible en el dispositivo (escriba cat /proc/partitions) se corresponde con el tamaño de la tarjeta SD. Luego, desde una ventana de terminal, escriba el comando dd con privilegios de root (groso modo, equivalente a una cuenta de administrador de Windows, solo que en el mundo Linux es más apropiado aquel término), donde if será el nombre del archivo de entrada (input file) y of será el nombre del dispositivo de salida (un tamaño de bloque bs de 1M debería ser suficiente):
molloyd@desktop:~$ sudo dd bs=1M if=RPi_image_file.img of=/dev/XXX
NOTA Tanto el programa Win32DiskImager como el comando dd crearán una partición en la tarjeta SD del tamaño justo para grabar la imagen del sistema operativo, con independencia del espacio nominal de la misma. Este tema se tratará más adelante en este mismo capítulo.
Introduzca la tarjeta SD en el RPi, conecte el cable de red y enchufe el cable de alimentación micro-USB de 5 V. También podemos conectar un teclado y un ratón USB y un monitor con su cable HDMI al RPi para usarlo como dispositivo de computación de propósito general (véase el capítulo 14). No obstante, para proyectos de electrónica, el RPi se emplea como dispositivo empotrado independiente que se comunica a través de la interfaz de red. Por lo tanto, los pasos siguientes indican cómo conectar el RPi a una red para establecer comunicación con él.
Cómo conectarse a una red
Hay dos maneras principales de conectarnos y comunicar con el RPi mediante una red: con un cable Ethernet estándar o con un cable Ethernet cruzado. Conectar el RPi a una red puede resultar engorroso para los principiantes. Generalmente es algo sencillo de hacer en casa, donde uno tiene el control total de su propia red. Sin embargo, en redes locales complejas, como las de las universidades, podemos enfrentarnos a múltiples subredes para comunicaciones tanto por cable como inalámbricas. En redes tan complejas, las restricciones de enrutamiento pueden dificultar, si no hacer imposible, conectarse a un RPi mediante un cable Ethernet estándar. Ambos métodos resultan aptos para conectar nuestro RPi a Windows, a un Mac o a una máquina con Linux.
Читать дальше