Raspberry Pi
Tags: linux, j4fan, spanish, raspberrypi
Published: 2020-05-08 14:49:52


Hoy os voy a mostrar cómo me he iniciado en el mundo de este mini ordenador.

![Raspberry](https://dev-to-uploads.s3.amazonaws.com/i/yjkntnkyrtgh5dusqkg1.png)

Primero vamos a ver cómo instalar Raspbian OS en este dispositivo. Este es el SO que he elegido yo, pero hay otros que se pueden usar también.

Primero debemos hacernos con una imagen de este sistema operativo, podemos encontrarla aquí: [Página oficial de descargas](https://www.raspberrypi.org/downloads/raspbian/).

Voy a usar **Raspbian Buster Lite**, se trada de una versión sin escritorio, es decir, solo tendremos la consola en la pantalla. Más adelante os mostraré cómo instalar un escritorio de todos modos.

Nos descargamos el fichero **ZIP** de Raspbian Buster Lite y si queremos comprobar su SHA-256 podemos seguir los pasos que os [mostré en este post](https://dev.to/nervi0s/funciones-hash-ceo).

Una vez tengamos el ZIP vamos a descargarnos este programa: [balenaEtcher](https://www.balena.io/etcher/). Se trata de un programa que nos ayudará a grabar la imagen del ZIP en un dispositivo de memoria.

Llegados a este punto voy a mencionar que voy a correr el sistema operativo en una **unidad USB**, aunque se supone que la raspberry debería correr el SO en una tarjeta de memoria **microSD**. Para conseguir esto voy a hacer un pequeño "truco".

##Vamos a ello!

Primero vamos a abrir **balenaEtcher** y vemos algo así:

![cap1](https://i.ibb.co/TYNdpjr/captu1.png)

**Select image**: Aquí seleccionaremos el ZIP de Raspbian Buster Lite.
**Select target**: Aquí elegiremos la tarjeta microSD.
**Flah!**: Por útimo le daremos a flashear para que empiece la grabación.

Como voy a instalarlo en un dispositivo USB, hago exactamente el mismo proceso de arriba nuevamente solo que esta vez seleccionaré mi unidad USB en la sección **Select target**.

Una vez hecho esto tendremos una imagen de Rasbian tanto en la memoria USB como en la microSD.

Ahora vamos a explicar algo, Raspbian en los dispositivos de almacenamiento utiliza dos particiones:

+ La partición del arranque **boot** con formato de archivos FAT32.
+ La partición del sistema **rootfs** con formato de archivos EXT4.

![cap2](https://i.ibb.co/yqD2Frm/captu2.png)

Esto quiere decir que tanto en mi microSD como en mi unidad USB se han creado ambas particiones.

![cap3](https://i.ibb.co/80YTC2X/captu3.png)

Lo que vamos a hacer ahora es borrar la partición donde está el sistema en la tarjeta microSD, es decir, borramos la partición cuyo formato es ext4, pero solamente de la tarjeta microSD, la de la unidad USB no la tocamos.

![cap4](https://i.ibb.co/vQ64YYr/captu4.png)

Ahora conseguiremos que arranque la Raspberry Pi con la tarjeda microSD pero usando el sistema de la unidad USB. Este "truco" ocurre porque la Raspberry usa siempre el arranque de la unidad microSD y luego busca la partición del sistema, que en este caso se hallará en la memoria USB. Como pega he de mencionar que para arrancar la Raspberry siempre ha de estar conectada la microSD donde se encuentra la partición del boot.

Con esto enchufando a la Raspberry, tanto la tarjeta como la memoria USB podemos arrancarla (Conectándola al monitor, a la corriente y a una cable de Ethernet al router).

Una vez cargue el sistema (recordemos que estamos con la versión de solo terminal y por ahora no hay escritorio) nos pedirá loguearnos, por defecto como usuario y contraseña debemos poner lo siguiente:

+ **User**: pi
+ **Pass**: raspberry

Como es lógico por seguridad debemos modificar esto. ¿Cómo lo hacemos?, de la siguiente forma:

Dejo esta imagen para ver unos comandos que pueden ser útiles:

![cap5](https://i.ibb.co/2h2YQ7j/captu5.png)

+ Primero vamos a habilitar el usuario **root** dándole una contraseña con el siguiente comando:
```bash
sudo passwd root
```
Nos pedirá una contraseña e introducimos una segura. A continuación reiniciamos con <code>reeboot</code>.

+ Ahora nos logueamos con el usuario **root** y la contraseña que hayamos puesto. Nos aseguramos de que no haya ningún proceso ejecutándose con el usuario que vamos cambiar, en este caso **pi** esto lo vemos con el siguiente comando: 
```bash
sudo top -U pi
```
En caso de que tengamos procesos corriendo del usuario "pi" ejecutamos esto: 
```bash
killall --user pi
```
+ Vamos a cambiar el nombre del usuario "pi" por el que nosotros queramos usando el siguiente comando: 
```bash
usermod -l nuevonombre pi
```
Con esto hemos cambiado el nombre de usuario pero también debemos cambiar el nombre del directorio **/home** del usuario pi por el nombre del nuevo usuario, lo hacemos de la siguiente manera:
```bash
usermod -m -d /home/nuevonombre nuevonombre
```
+ Reiniciamos la máquina con reboot y nos logueamos con el nuevo nombre de usuario en lugar del anterior pi.

+ Cambiamos la contraseña por defecto que estábamos usando hasta ahora (raspberry) por una segura que nosotros queramos, esto lo hacemos poniendo lo siguiente: <code>passwd</code>.

+ Por último vamos a desactivar la cuenta **root** bloqueando su contraseña, lo hacemos de la siguiente forma: 
```bash
sudo passwd -l root
```
Hemos acabado con esto, ahora vamos a pasar a solucionar un problema que me surgió:

Si ponemos en la consola <code>df -h</code> vemos que no se está usando todo el espacio del disco disponible (en mi caso la unidad USB es de 128GB):

![cap6](https://i.ibb.co/FwGkBdf/captu6.png)

Para solucionarlo vamos a usar estos comandos:
+ <code>sudo parted</code>.
+ <code>print</code>. Nos mostrará las dos particiones que tenemos
+ <code>resizepart</code>. Nos pedirá la partición que queremos redimensionar, debemos elegir la del sistema de arcivos **ext4**, que en mi caso es la 2. Después nos pide el tamaño, como mi USB es de 128GB puse 127000. Salimos de parted con el comando <code>quit</code>.

Por último ejecutamos el siguiente comando para actualizar las particiones:
```bash
sudo resize2fs /dev/sda2
```
Si volvemos a ejecuar el comando <code>df -h</code>, podemos ver que ahora el sistema sí tiene un tamaño mayor como debería:

![cap7](https://i.ibb.co/FWkJ4x2/captu7.png)
 
Una vez hecho esto actualizamos el sistema con los comandos:
```bash
sudo apt update && sudo apt upgrade
``` 
---
## Instalación de un entorno gráfico de escritorio
---
Ahora vamos a instalar un escritorio. Podemos elegir diversos entornos de escritorio como [se puede ver aquí](https://raspberrytips.com/upgrade-raspbian-lite-to-desktop/), yo voy a elegir el que viene por defecto en Raspbian Desktop, es decir **PIXEL Desktop**.

Para instalarlo debemos loguearnos en nuestra Raspberry y ejecutar los siguientes comandos:

Digamos que Xorg es núcleo de cualquiera entorno de escritorio que usemos en GNU/Linux, para instalarlo ejecutamos esto:
```bash
sudo apt install xserver-xorg
``` 
Y para instalar PIXEL Desktop ejecutamos lo siguiente:
```bash
sudo apt install raspberrypi-ui-mods
``` 
Por último, comprobamos que se ha instalado **LightDM** que aunque debería haberlo hecho solo, no pasa nada por comprobarlo:
```bash
sudo apt install lightdm
``` 
Una vez terminado reiniciamos y ya tendríamos lista la Raspberry Pi con un entorno gráfico para Raspbian y comenzar a trabajar con ella.

Como siempre, cualquier consejo, ayuda o crítica serán de utilidad y no dudéis en comentarlo =).