Instalar Raspbian Jessie Lite en Raspberry Pi 3 Compute Module 3
Los incansables talentos de la Raspberry Pi Foundation han estado trabajando duro para desarrollar la próxima generación de Raspberry Pi Compute Module, bautizado con el nombre de Compute Module 3, o CM3 para los amigos. "¿Y qué nos depara este Compute Module de nueva generación?", os estaréis preguntando. Vaya, me alegra que saquéis el tema...
Existen dos variantes de CM3: estándar y Lite.
El módulo estándar incorpora una CPU Broadcom BCM2837 de 1,2 GHz (ARM Cortex A53 de 4 núcleos de 64 bits con GPU VideoCore IV), la misma que se encuentra en la Raspberry Pi 3 Model B, y cuenta con 1 GB de RAM LPDDR2 y 4 GB de memoria Flash eMMC. Es compatible contacto por contacto con el Compute Module preexistente.
El módulo Lite prescinde de la memoria eMMC. En su lugar, la interfaz SD/eMMC se redirecciona a las patillas del conector edge que no se utilizaban anteriormente, haciendo que la interfaz esté disponible para que el usuario pueda conectar sus propios dispositivos de tarjeta SD o eMMC.
También hay una nueva versión de la placa de E/S del Compute Module, la CMIO V3. Esta versión de la placa de desconexión tiene un zócalo de tarjeta SD para compatibilidad con la variante "Lite" del módulo, pero por lo demás es idéntica a la placa CMIO original.
Con el fin de aprovechar como se merece toda la potencia de procesamiento del módulo estándar Pi, necesitamos flashear un sistema operativo en la memoria eMMC. Si bien es perfectamente posible lograr este objetivo con una Raspberry Pi adicional, me pareció que resultaría interesante instalar Linux en una máquina virtual (o VM por sus siglas inglesas) alojada en un PC estándar con Windows 10 y, seguidamente, utilizar esta máquina virtual para flashear el módulo de computación. Sin embargo, a fin de elegir un Linux lo suficientemente familiar para los usuarios de Raspbian (y porque es una de mis distribuciones favoritas), decidí usar Debian (el hermano mayor de Raspbian) para este pequeño proyecto. Si queréis descargar la ‘Small Installation Image’ para vuestra máquina (la imagen amd64 para la mayoría de usuarios de PC de 64 bits), mientras sigues leyendo, esta es la que vamos a usar.
Inicio
Antes que nada, para evitar pérdidas de tiempo innecesarias, nunca está de más cerciorarnos de que el módulo ha sobrevivido al transporte. La forma más rápida de comprobarlo es mediante la herramienta de Windows "RPi Boot", que nos dirá si nuestra Pi funciona correctamente. Encontrarás el instalador para "RPi Boot" aquí. Una vez descargado el archivo CM-Boot-Installer.exe, haz doble clic sobre él y utiliza la configuración predeterminada que ofrece el asistente de configuración. Terminada la instalación, encontrarás RPi Boot en tu lista de programas añadidos recientemente, que aparece al hacer clic en el botón de Inicio de Windows.
Antes de hacer clic en "RPi Boot", asegúrate de que has configurado el módulo para arrancar desde USB esclavo [J4 debe estar en posición EN, como se resalta en rojo en Fig01] y que has conectado el cableado correctamente, como se muestra en la Fig02. Conecta un puerto USB disponible en el PC al conector USB esclavo mediante un cable micro USB a USB. Ten en cuenta que, como solo hay un conector USB en la placa CMIO V3, definitivamente necesitarás un concentrador USB para conectar tu teclado y ratón USB y cualquier otro periférico USB al Compute Module. También puede ser necesario, dependiendo de la antigüedad de tu monitor, un cable adaptador HDMI a DVI-D.
Así pues, enciende el concentrador USB, enciende la placa CMIO y ejecuta "RPi Boot" en tu PC. Si todo va bien, tanto el LED PWR rojo como el LED ACT verde deben estar encendidos y se abrirá un cuadro de símbolo del sistema mostrando información sobre la progresión del handshaking (el establecimiento de la comunicación entre ambos dispositivos). Debería parecerse a lo que se muestra en la Fig03; transcurridos unos momentos, esta ventana desaparecerá y Windows te dirá que se ha detectado un nuevo dispositivo de almacenamiento masivo, y que necesitarás formatearlo antes de poder utilizarlo. No lo formatees. Limítate a exclamar para tus adentros "¡Yuju! ¡Mi módulo funciona!", y apágalo por el momento.
Figura 2
Configuración UEFI del host
Si queremos ejecutar máquinas virtuales de 64 bits en nuestro PC de 64 bits, necesitaremos cerciorarnos de que los ajustes de virtualización están habilitados en el firmware de BIOS/UEFI del ordenador. Truco de experto: Si haces clic en "New" (Nuevo) en la parte superior izquierda de la barra de herramientas de VirtualBox, se abrirá una nueva ventana emergente llamada "Create Virtual Machine" (Crear máquina virtual). Haz clic en el menú desplegable con el nombre "Version:"; si te ofrece tanto la opción de 32 bits como la de 64 bits, no necesitas modificar el arranque UEFI y puedes pasar a la siguiente sección. Si solo te ofrecen versiones de 32 bits, sigue las instrucciones indicadas a continuación. Desde Windows 10:
Pulsa [tecla de Windows] + [i] para que aparezca la ventana de configuración.
Haz clic en "Update & Security" (Actualizaciones y seguridad) que, seguidamente, mostrará:
Haga clic en "Recovery" y luego sobre el botón "Reiniciar ahora" debajo del inicio avanzado. Entonces verás algo parecido a esto:
Selecciona "Troubleshoot" (Resolver problemas) y debería aparecer algo similar a esto:
Desde aquí, selecciona "Advanced Options" (Opciones avanzadas):
A continuación, selecciona la opción "UEFI Firmware Settings" (Ajustes del firmware UEFI):
Pulsa el botón de reinicio e interrumpe la secuencia de arranque con la tecla que tu PC te indique.
Ahora estamos en los ajustes de UEFI/BIOS. Busca "Virtualization" (Virtualización) y selecciónalo.
Asegúrate de que las características de virtualización se establecen en "Enabled" (Activado). Pulsa F10 para guardar y salir. Ahora estamos listos para crear máquinas virtuales de 64 bits.
Instalar una máquina virtual Linux Debian
Lo que necesitamos en este momento es un software de máquina virtual (VM). Siguiendo con la dinámica de utilizar exclusivamente a soluciones de código abierto, utilizaremos VirtualBox de Oracle. Descargue la versión del instalador para hosts (o anfitriones) Windows (en el momento de escribir esto, es la versión 5.1.10) y el manual de usuario. Aunque no es estrictamente necesario para lo que estamos haciendo ahora, ya que estamos, merece la pena descargar el VirtualBox Extension Pack. Asegúrate de que el número de versión del Extension Pack es el mismo que el del software VirtualBox.
Ejecuta el instalador (el VirtualBox-5.1.10-112026-Win.exe que ha descargado) y acepta las opciones por defecto que te ofrece el asistente de instalación, que debería incluir USB y soporte de red. Puedes comprobar que estos están configurados correctamente en este momento del proceso:
Cuando llegues al final de la instalación y arranque VirtualBox, deberías ver una interfaz como esta:
Ahora estamos listos para configurar el entorno virtual donde se instalará nuestra distribución de Linux. Así pues, haz clic otra vez en el botón "New" (Nuevo), y pongámonos manos a la obra.
La primera cosa que necesitamos hacer es el nombre de la máquina virtual. Es recomendable darle un nombre que refleje adecuadamente lo que tiene instalado (en lugar de cosas como "MiMáquinaVirtual") de modo que sepas lo que es seis meses después, especialmente si tienes la intención de crear máquinas virtuales para otros sistemas operativos.
A continuación, establecemos la porción de memoria RAM de la máquina host que vamos a asignar a la máquina virtual. Esto dependerá necesariamente de la memoria de que disponga tu equipo. Cuanta más RAM podamos asignar a la VM, mejor, pero hay que asegurarse de no dejar desprovisto de RAM al sistema operativo anfitrión, ya que la memoria asignada a la VM no estará disponible para el sistema operativo anfitrión, cuando la máquina virtual se esté ejecutando.
Al igual que tu anfitrión, la VM necesitará un disco duro para albergar su sistema de ficheros. Por lo tanto, vamos a crear un disco duro virtual para este propósito.
La asignación dinámica suele ser la mejor opción, ya que esto significa que el archivo creado para mantener el sistema de archivos del disco duro es inicialmente lo más pequeño posible y crece (como un globo al llenarse con aire) a medida que añades datos al disco virtual.
En esta ventana se establece el tamaño máximo del disco virtual. Aunque para ir tirando te llega con
8-10 gigabytes, yo configuraré el mío más grande ya que tengo espacio disponible y quiero utilizar esta máquina virtual para futuros proyectos.
Con esto ya tenemos configurado nuestro entorno virtual. Ahora solo tenemos que instalar Debian en él. Haz doble clic en el icono de nuestra flamante máquina virtual.
Al iniciar este nuevo entorno virtual, aparecerá un asistente de primer arranque para que puedas seleccionar lo que deseas instalar. En el caso que nos ocupa, puedes seleccionar el archivo ISO de Debian que descargaste antes (porque lo descargaste antes, ¿no?)
Sigue adelante y pulsa Intro para instalar Debian. La mayor parte de las instrucciones de instalación son bastante sencillas y bastará con dejar los parámetros predeterminados. Hay un par de cosas que podrían ser menos obvias, y las he resaltado a continuación:
Secuencia de particionamiento de disco:
Secuencia de cargador de arranque:
Ajuste de nuestra instalación de Debian
Una vez que hemos terminado la instalación y reiniciado la máquina virtual, deberíamos ver una ventana similar a esta:
¡Enhorabuena! Ya eres el orgulloso propietario de una máquina virtual de Linux Debian. Puedes cambiar el fondo de pantalla y personalizar la apariencia a tu gusto. No obstante, hay unos pocos retoques imprescindibles que debemos hacer para que la instalación nos quede realmente niquelada.
Guest Additions
Lo primero que debemos instalar nada más crear la máquina virtual es el VirtualBox Guest Additions. Este paquete complementario proporciona una interacción mucho más fluida entre el equipo anfitrión y el sistema operativo invitado (incluyendo prestaciones muy prácticas, como reescalado automático de memoria virtual, para redimensionar el tamaño de la ventana actual; portapapeles y carpetas compartidos entre el anfitrión y el cliente; funcionamiento transparente del ratón, que permite entre otras muchas cosas arrastrar y soltar elementos entre el anfitrión y el invitado). En el capítulo 4 del manual del usuario se detallan todas las ventajas de la instalación de las Guest Additions, pero por el momento solo necesitas saber que harán que tu experiencia sea mucho mejor y más útil.
Para empezar, hacemos clic en "Activities" (Actividades" en la parte superior izquierda, que es equivalente al icono Inicio de Windows. Con esto se abrirá un menú lateral de iconos. Nos vamos a la matriz de 3 x 3 puntos que lleva a "Show Applications" (Mostrar aplicaciones):
A partir de ahí, nos vamos a la última página de aplicaciones seleccionando el punto más bajo de la derecha:
Desde aquí, abra una ventana de terminal (de nuevo, puedes personalizar su apariencia):
En este punto necesitaremos derechos de administrador para hacer lo que tenemos que hacer, así que en la ventana de línea de comandos (que muestra el nombre de usuario y el nombre de host que introduzcas en la instalación), escribe:
treadstone@blackbriar:$ su
Contraseña:
El comando "su" te otorga privilegios de root, así que tendrás que introducir la contraseña de root que estableciste durante la instalación. Si no tienes experiencia previa con Linux, ten mucho cuidado a partir de este punto. El 'Root' te proporciona poder ilimitado en un entorno Linux, y el sistema operativo trata al usuario 'root' como un adulto que sabe lo que está haciendo. No te preguntará "¿Estás seguro?" ni siquiera cuando vayas a hacer algo tan catastrófico como eliminar recursivamente todo el sistema de ficheros. Linux se limitará aseguir tus comandos a pies juntillas… Avisado estás.
El nombre de la línea de comandos cambiará al de root, que debería parecerse un poco a este:
root@blackbriar:/home/treadstone#
En esta línea de comandos, escribe lo siguiente:
apt-get install dkms build-essential
Con esto se instalarán algunos elementos esenciales del compilador y paquetes del núcleo para que podamos compilar módulos del kernel para soportar las Guest Additions.
Ahora que ya hemos sentado las bases, podemos montar el CD (virtual) de Guest Additions. Lo hacemos haciendo clic en "Insert Guest Additions CD Image…" (Insertar imagen de CD Guest Additions), utilizando el menú desplegable "Devices" (Dispositivos) en la parte superior de VirtualBox.
Si todo sale bien, se mostrará una ventana emergente con el mensaje "VBOXADDITIONS_tu_versión contains software intended to be automatically started. Would you like to run it? (VBOXADDITIONS_tu_versión contiene software diseñado para iniciarse automáticamente. ¿Te gustaría ejecutarlo?). En este punto, puedes pulsar el botón Ejecutar para instalar Guest Additions.
Pero si es uno de esos días en que nada te sale a derechas, esto no te va a funcionar. Por lo tanto, debemos recurrir al plan "B".
De vuelta en tu terminal (tras haber iniciado sesión como root), cambia el directorio:
root@blackbriar:/home/treadstone# cd /media/cdrom
Seguido de:
root@blackbriar:/home/treadstone# ls
Deberías obtener un listado de tu directorio con este aspecto:
Ahora podemos ejecutar el script de instalación con:
root@blackbriar:/home/treadstone# sh ./VBoxLinuxAdditions.run
Al final deberías ver una salida similar a esta:
Para sacar partido de estas Guest Additions, necesitaremos apagar nuestra VM. Haz clic en la pequeña flecha hacia abajo en la esquina superior derecha y pulsa el botón de encendido/apagado:
Antes de encender de nuevo tu máquina virtual, hay un par de ajustes que podemos hacer para manera más cómodamente nuestra nueva máquina virtual Linux. En VirtualBox, haz clic con el botón derecho del ratón en la máquina virtual:
Selecciona "Settings..." (Configuración…) y en General -> Advanced (General -> Avanzado) podemos configurar elementos que nos permitirán compartir datos fácilmente entre el anfitrión y el invitado. Establece el "Shared Clipboard" (Portapapeles compartido) y "Drag'n'Drop" (Arrastrar y soltar) en "Bidireccional" (Bidirectional).
También podemos ajustar el sistema y la configuración de la pantalla:
Cuando hayas terminado con los ajustes, arranca la máquina virtual. ¡Bravo! Ya tienes una máquina virtual Linux funcionando a la perfección.
Ahora abre de nuevo el terminal, ya que hay otro par de paquetes que tenemos que instalar antes de ponernos a la obra con nuestro Raspberry Pi.
El primer paquete es "sudo", que nos permite ejecutar comandos individuales como root. Por lo tanto, para cambiar el usuario a root con el comando "su", a continuación, escribe:
root@blackbriar:/home/treadstone# apt-get install sudo
El resultado será similar a este:
Ahora tendrás que añadirte al grupo de usuarios que pueden utilizar el comando 'sudo':
root@blackbriar:/home/treadstone# adduser treadstone sudo
Sustituye "treadstone" con tu nombre de usuario. También debemos añadirnos al archivo "sudoers" (usuarios de sudo):
root@blackbriar:/home/treadstone# nano /etc/sudoers
Abre el archivo en el editor nano y desplázate hacia abajo hasta encontrar una línea con el texto: "%sudo ALL=(ALL:ALL) ALL"; por debajo de esa línea, inserta lo siguiente:
treadstone ALL=(ALL:ALL)ALL
Nuevamente, sustituye tu nombre de usuario por "treadstone". A continuación, pulsa las teclas [Ctrl] + [x] y, a continuación, pulsa [y] seguida de [Intro] para salir y guardar el archivo.
Cierra la ventana de terminal y abre una nueva. Vamos a probar nuestros nuevos superpoderes. En el símbolo del sistema, escribe:
treadstone@blackbriar:$ sudo ls
Introduce tu contraseña, y... tachán:
Solo nos queda instalar Git a fin de obtener asistencia de Github para nuestra Raspberry Pi:
treadstone@blackbriar:$ sudo apt-get install git-core
Git implementa control de versiones mediante dos ajustes principales:
- Un nombre de usuario
- Un correo electrónico de usuario
Así que vamos a configurarlos ahora escribiendo:
$ git config --global user.name "treadstone"
A continuación:
$ git config --global user.email treadstone@blackbriar.com
Por supuesto, acuérdate de reemplazar "treadstone" y "treadstone@blackbriar.com" con tu nombre de usuario y dirección de correo electrónico. Podemos comprobar que esto se ha introducido correctamente con:
$ git config --list
Que debería mostrarnos un resultado como este:
Ahora ya estamos listos para llevar a cabo la misión principal.
Flasheo de la Raspberry Pi Compute Module 3
Lo primero que tenemos que hacer es conseguir nuestras herramientas de arranque USB para Raspberry Pi. Las obtenemos clonando las herramientas desde GitHub:
$ sudo git clone --depth=1 https://github.com/raspberrypi/usbboot
Con todo en su lugar, podemos utilizar el práctico comando makefile para compilar la herramienta USB que necesitamos:
$ cd usbboot
$ sudo apt-get install libusb-1.0-0-dev
With everything in place, we can use the helpful makefile to build the USB tool we need:
$ sudo make
Acto seguido, si aún no has descargado la imagen del sistema operativo Raspbian en tu máquina virtual, hazlo ahora desde https://www.raspberrypi.org/downloads/raspbian/ utilizando el navegador Firefox incluido con tu distribución Debian. Como solo tenemos un total de 4 GB, tendremos que descargar la versión "lite".
En el terminal, podemos copiar la descarga a nuestro directorio actual:
$ sudo cp ../Downloads/2016-11-25-raspbian-jessie-lite.zip .
Obviamente, tendrás que cambiar el nombre del archivo .zip por el de la versión de Raspbian que hayas descargado. Fíjate en el punto al final del comando; representa tu directorio actual en el comando, así que ten cuidado de no omitirlo.
A continuación descomprimimos la imagen:
$ sudo unzip 2016-11-25-raspbian-jessie-lite.zip
Ahora deberías tener un archivo de imagen (terminado en .img) para cargar en tu CM3. Hay un paso final de preparación que te hará la vida mucho más fácil: ve al menú "Activities" (Actividades) y abre la herramienta "archivos" (6º elemento hacia abajo), y navega hasta el directorio /dev [en el lado izquierdo, haz clic en "Computer" (Equipo) y, a continuación, en la carpeta 'dev']. Lista los archivos por la fecha en la que se modificaron, y mueve la ventana al lado de tu ventana de terminal. Ahora ya estamos listos para cargar nuestra imagen. ¡Enciende la placa de E/S Quattro Compute Module!
Cuando enciendas la alimentación de la placa, es probable que tu PC reconozca que hay algo nuevo conectado por USB. Para que tu máquina virtual también lo detecte, tendrás que localizarlo en el menú "Devices" (Dispositivos):
Tendrás que hacer esto un par de veces más durante el proceso. Ahora que el chip USB está visible, podemos ejecutar rpiboot:
$ sudo ./rpiboot
Esto inyectará nuestro código de arranque (usbbootcode.bin), después de lo cual tendremos que buscar la siguiente enumeración de la conexión USB en el menú "Devices" (Dispositivos):
A continuación el programa envía un archivo .elf, que, nuevamente, nos obligará a localizar la nueva enumeración de USB en el menú "Devices" (Dispositivos):
Aquí es donde el navegador de archivos nos demostrará su utilidad, ya que necesitamos ver con qué nombre se ha montado el disco USB. Esto lo hacemos simplemente examinando los dispositivos recién instalados que se acaban de enumerar. Es posible que necesites desplazarte manualmente hacia arriba para ver los dispositivos recién llegados:
Normalmente aparecerá como sd(algo). En nuestro caso es sdb (solo necesitamos el primer dispositivo enumerado). Seguidamente, podemos cargar nuestra imagen en este disco con el comando:
$ sudo dd if=2016-11-25-raspbian-jessie-lite.img of=/dev/sdb bs=4MiB
Ahora nos toca esperar de 5 a 10 minutos a que se cargue la imagen del sistema de archivos. Cuando el proceso toque a su fin, se nos presentará un informe parecido a este:
Y con esto, llegamos al momento de la verdad.
Apaga el Raspberry Pi. Desactiva el USB esclavo en el cabezal J4 (cambia la posición del interruptor de puente como se indica a continuación) y retira el conector esclavo micro-USB:
Enciende.
Cuando aparezca la pantalla de arranque que conduce a la ventana de inicio de sesión, tendrás derecho a sentirte así
El inicio de sesión de usuario predeterminado es "pi" (sin las comillas) y la contraseña predeterminada es "raspberry" (también sin comillas)
Adición de Wi-Fi
La última cosa que vamos a hacer hoy es dar nuestra Pi CM3 la oportunidad de comunicarse con el mundo exterior mediante la adición de un adaptador Wi-Fi USB a nuestro hub USB. Usaré el adaptador de Raspberry Pi, pero hay otros que funcionan igual de bien.
Por suerte, este es un procedimiento bastante fácil ya que el software que necesitamos ya se encuentra en el sistema de archivos. Lo único que tenemos que hacer es modificar un par de archivos de configuración.
En primer lugar, vamos a encontrar la red a la que nos queremos conectar. En la línea de comandos, escribe:
$ sudo iwlist wlan0 scan
Se te presentará una lista de todas las redes Wi-Fi en tu zona. Si hay muchas, puede que necesites utilizar la herramienta de paginación "more" (más):
$ sudo iwlist wlan0 scan ¦ more
Utiliza la barra espaciadora para pasar de página. Lo que buscas es el ESSID de tu red inalámbrica. Estoy usando el punto de acceso personal de mi iPhone para este ejemplo, así que mi ESSID aparecerá como "iPhone".
Ahora, empleando el editor nano, tenemos que añadir esta información y la contraseña Wi-Fi al archivo wpa-supplicant:
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Desplázate al final del archivo y añade lo siguiente:
network={
ssid="Your_ESSID_from_earlier"
psk="Your_wifi_password"
}
Al terminar, mi archivo queda así:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
network={ ssid="iPhone” psk="password" }
Ahora podemos guardar esto con [Ctrl]-X seguido por "Y" y a continuación [Enter].
También tenemos que lograr que la Raspberry Pi se una a la red mediante DHCP de manera que su dirección IP se asigne automáticamente. Lo hacemos en el archivo "interfaces":
$ sudo nano /etc/network/interfaces
Tu archivo debe quedar más o menos así:
# Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1 iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Tenemos que cambiar la línea:
iface wlan0 inet manual
a
iface wlan0 inet dhcp
A continuación, pulsa [Ctrl]-X seguido de "Y" y a continuación [Enter] de nuevo para guardar.
Ahora ya está todo configurado; lo único que tenemos que hacer es volver a cargar las interfaces de red:
$ sudo service networking reload
Podemos comprobar que la interfaz de red está activa mediante:
$ ifconfig
Que para wlan0 debería mostrar algo parecido a esto:
wlan0 Link encap:Ethernet HWaddr 80:1f:02:aa:12:58
inet addr:172.20.10.3 Bcast:172.20.10.15 Mask:255.255.255.240
inet6 addr: fe80: :416b:a810:b9b2:be34/64 Scope:link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:154 errors:0 dropped:173 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:32399 (31.6 KiB) TX bytes:13036 (12.7 KiB)
Si el parámetro inet addr tiene buena pinta, estamos en el buen camino. Podemos probar esto más en profundidad haciendo ping a los servidores de Google:
$ ping –c10 8.8.8.8
Esto transmitirá y recibirá 10 paquetes, lo que debería darnos una idea de hasta qué punto nuestra red reúne condiciones.
Inicio de sesión remoto
Una última cosa que podemos hacer para que nos resulte más fácil trabajar con nuestro módulo Compute es configurarlo de modo que podamos iniciar sesión remotamente. Esto significa que lo único que necesitamos para conectarlo a la placa CMIO será alimentación y el adaptador Wi-Fi, lo que nos permitirá recuperar nuestro teclado y monitor para otros proyectos.
En la línea de comandos, escribe:
$ sudo raspi-config
Se abrirá la utilidad de configuración. Utiliza las teclas de flecha para desplazarte a "Advanced Options" (Opciones avanzadas) y pulsa [Intro]. A continuación, desplázate hacia abajo hasta "A4 SSH" y pulsa [Intro]. Cuando aparezca la pregunta "Would you like the SSH server to be enabled?" (¿Deseas activar el servidor SSH?) selecciona <Yes> (Sí).
Con esto, ya estás activado. Podrás conectarte a tu CM3 desde otros equipos de la red. Una forma sencilla de comprobar esto es usar Putty en tu PC con Windows. Solo tienes que poner la dirección IP de tu Pi en el campo "Host Name (or IP address)" nada más abrir Putty. Esto te permitirá iniciar sesión en tu Pi desde una ventana de tu PC.
Cuando desees conectarte desde tu máquina virtual Linux, puedes utilizar la herramienta nmap para encontrar tu Raspberry Pi y seguidamente conectarte a ella.
En primer lugar, instala nmap en tu máquina virtual en una ventana de terminal abierta:
$ sudo apt install nmap
Queremos saber a ciencia cierta en qué subred estamos operando, así que escribiremos:
$ hostname –I
Esto nos dará nuestra dirección IP, que en mi caso resultó ser 172.20.10.15
Armados con esta información, podemos comprobar todos los demás dispositivos conectados a esta subred:
$ nmap -sn 172.20.10.0/24
Esto hará que se ejecute una exploración mediante ping, en la que se hace ping a todas las direcciones IP para ver si responden. La salida mostrará el nombre de host y la dirección IP de cada dispositivo que responda al ping.
En algún lugar de la lista, deberíamos ver:
Informe de exploración de Nmap para raspberrypi (172.20.10.3)
El host está activo (latencia de 0,0020 s).
Utilizamos dicha dirección para iniciar sesión:
$ ssh pi@172.20.10.3
Si obtienes un mensaje de tiempo de espera agotado, vuelve a comprobar la dirección IP; de lo contrario, puedes iniciar sesión en tu Pi de forma remota en cualquier momento. Y hasta aquí hemos llegado. Ahora eres todo un Jedi de la CM3 de Raspberry Pi y ante ti se extiende una galaxia repleta de aventuras. Que la Fuerza te acompañe...
Apéndice A: Máquinas virtuales
Los ordenadores modernos, incluso los de gama baja, ofrecen una potencia de cálculo más que suficiente para ejecutar varios sistemas operativos simultáneamente. El software de virtualización aprovecha esta potencia para crear un entorno dentro del cual se puede instalar un sistema operativo. A todos los efectos, este sistema operativo instalado se ejecuta tal como lo haría directamente en el hardware de PC. Pero en realidad, este sistema operativo "invitado" está interactuando con software que imita las respuestas de hardware, es decir, con un hardware virtual, o lo que es lo mismo: una máquina virtual.
Utilizando software de máquina virtual, un ordenador que arranca en Windows 10 también puede ejecutar dentro de dicho sistema operativo otros como Linux, Solaris o Mac OSX. Incluso podrías ejecutar sistemas operativos sumamente antiguos, como DOS u OS/2, imposibles de ejecutar directamente en hardware moderno. Esto es debido a que puedes "alojar" el sistema operativo en cualquier hardware virtual que desees; incluso hardware cuyo uso ha pasado a la historia hace tiempo, como unidades de disquete.
Aparte de permitirte jugar a clásicos como la primera versión de Populous para DOS, las máquinas virtuales tienen muchos cometidos útiles, especialmente porque son entornos aislados de tipo "contenedor". Esto significa que puedes probar software (por ejemplo, un posible troyano) en un entorno totalmente independiente de tu ordenador host. Un entorno aislado que puedes congelar y reiniciar a voluntad, revertir a estados anteriores y, a continuación, copiar, compartir, respaldar y reiniciar a partir de cero. Algo que te vendrá de perlas si ese archivo sospechoso resultara ser, por ejemplo, un descargador de ransomware que cifrase tu sistema de ficheros para "secuestrar" tu equipo: solo tendrías que borrar esa máquina virtual, y utilizar otra que hubieras guardado previamente.