Instalar Ubuntu 20.04 LTS Server en una Raspberry Pi 2/3/4

  1. Introducción

En este apunte realizaremos paso a paso la instalación del sistema operativo Ubuntu 20.04 en una placa Raspberri Pi, en este caso concreto hemos utilizado una Raspberry Pi modelo 2. Trabajaremos de forma “headless”, es decir sin monitor ni teclado, ya que la utilizaremos como un servidor. Una conexión SSH nos permitirá ejecutar los comandos de forma remota sobre nuestra Raspberry.

En primer lugar debemos definir la imagen de Ubuntu a descargar. Dependiendo de nuestro modelo de Raspberry Pi usaremos una imagen de 32 ó 64 bits.

2. Grabar la Imagen de Ubuntu 20.04 en la memoria microSD

Para grabar la imagen del sistema operativo deberemos disponer de una memoria microSD de por lo menos 4GB, siendo recomendable al menos 8GB y descargar el administrador y creador de imágenes RaspberryPi Imager.

Una vez instalado el software programa RaspberryPi Imager lo iniciamos y dseleccionamos CHOOSE OS

Mediante el menú desplegable seleccionamos “Ubuntu”

Aparecera una lista de posibles opciones dentro de Ubuntu, para este tutorial, dado que utilizamos una RaspberryPi2 seleccionaré Ubuntu 20.04LTS (Pi2/3/4), siendo este un SO de 32Bits. Si seleccionan Ubuntu 20.04LTS(Pi3/4) se descargará la version de 64 bits.

Seleccionamos la imagen a descargar y una vez insertada la memoria microSD procedemos a hacer click en la opción CHOOSE SD CARD y seleccionar la ubicación de dicha memoria. Cuando se habilita la opción WRITE la clickeamos, con lo que comenzaremos a grabar nuestra SD. Esto puede llevar varios minutos.

3. Configuramos la conexión a la red

En primer lugar debemos elegir aquí si vamos a conectar nuestra Raspberry al router medante un cable Ethernet o de forma inalámbrica mediande WiFi.

Si usamos una conexión Ethernet, se puede directamente saltar este punto del tutorial e ir al siguiente, ya que la imagen de Ubuntu descargada viene preconfigurada para conectarse mediante una interfaz ethernet y obtener parámetros de red mediante DHCP.

Si utilizaremos una conexió WiFi, una vez finalizada la grabación de la memoria microSD, sin quitarla de nuestra computadora, ubicaremos en ella, mediante el explorador de archivos que usemos, en la partición system-boot el archivo network-config para editarlo y configurar nuestra conexión WiFi (SSID y clave de acceso)

Editamos el archivo network-config, el cual tiene un ejemplo incluído (está como comentario, para activarlo debemos quitar los caracteres ‘#’). Nos quedará algo así

wifis:
  wlan0:
  dhcp4: true
  optional: true
  access-points:
    <wifi network name>:
      password: "<wifi password>"

Por ejemplo, si mi WiFi tiene por nombre “MiWiFi” y la password es “123456”, quedará:

wifis:
  wlan0:
  dhcp4: true
  optional: true
  access-points:
    "MiWiFi":
      password: "123456"

No olvidar que tanto el SSID como la password deben escribirse entre comillas dobles.

Guardar los cambios y extraer la SD. Durante el primer arranque, la Raspberry intentará conectarse a esta red. Es probable que falle la primera vez. Simplemente reinicie sudo reboot y funcionará bien.

4. Iniciando Ubuntu Server

Como nuestra Raspberry está funcionando como servidor, sin monitor ni teclado, deberemos conectarnos a ella mediante una conexión de red. Para ello usaremos el protocolo SSH, que nos permite ejecutar comandos de forma remota.

Para conectarnos necesitamos dos cosas:
– Conocer la dirección IP de nuestra Raspberry Pi.
– Disponer de un cliente SSH.

Para obtener la dirección IP que el servidor DHCP de nuestra red asignó a la Raspberry, podemos correr el siguiente comando en un terminal de comandos (ejecutar cmd en Windows)

En Ubuntu o macOS

$ arp -na | grep -i "b8:27:eb"

Que en mi caso devolvió:

? (10.2.0.210) at b8:27:eb:cb:4b:24 [ether] on wlp3s0

Lo cual indica que la dirección IP de mi Rasberry en mi red local es 10.2.0.210.

Si no funcionó, y estan usando una Raspberry Pi 4, deberán probar con

$ arp -na | grep -i "dc:a6:32"

NOTA: Dependiendo de la versión de Ubuntu, es posible que sean necesario instalar las net-tools, para ello ejecutamos:

$ sudo apt install net-tools

En entornos WIndos usamos

$ arp -a | findstr b8-27-eb

O si usamos RPI4, puede ser necesario

$ arp -a | findstr dc-a6-32

Esto devolvió

? (10.2.0.201) at b8:27:eb:cb:4b:24 [ether] on wlp3s0

Que como dijimos muestra la IP de la Raspberry.

Una vez que conocemos la IP de nuestra Raspberry, vamos a comunicarnos por SSH, en Ubuntu o macOS ya disponemos de un cliente SSH, en algunas versiones de WIndows 10 también, si es necesario instalar un cliente SSH, uno de los maś usados es Putty, y pueden descargarlo de Putty.org

Abrimos un terminal y ejecutamos:

$ ssh ubuntu@XX.XX.XX.XX  

Donde XX.XX.XX.XX es la IP de vuestra Raspberry Pi (10.2.0.201 en mi caso). La conexión nos preguntará

Are you sure you want to continue connecting (yes/no/[fingerprint])?

A lo que respondemos que si, y al requerirnos un password usaremos el valor por defecto “ubuntu”. En laprimer conexión se nos va arequerir modificar esa password por una de nuestra elección, y luego de ello deberemos volver a conectarnos con la nueva password que hemos seteado.

Listo! A partir de aqui ya podemos conectarnos a nuestra Raspberry Pi de forma remota e instalar y configurar alli, por ejemplo nuestro servidor web Nginx

(P) 2020 cantone.com.ar