Saltar al contenido principal

Creando el sistema operativo perfecto para la Raspberry Pi con Alpine Linux (II)

Jose CerrejonAlrededor de 2 minRaspberry PIRaspberry PI

Creando el sistema operativo perfecto para la Raspberry Pi con Alpine Linux (II)

alpinOS
alpinOS

Hoy continuaré con el desarrollo de mi sistema operativo AlpinOS. Veremos las primeras tareas iniciales para tener una SD que arranque en la Raspberry Pi y conoceremos más a fondo como funciona Alpine Linux.


[ Preparando la tarjeta SD ]

download_alpine
download_alpine

Lo primero va a ser irnos a la zona de decargas de alpinelinux.orgopen in new window y descargar el fichero que necesitamos, en este caso nos lo ponen fácil, ya que al final de la página, hay una sección específica para todas las versiones de la Raspberry Pi. ¡Genial!. Si tenéis la Pi 4, usa la versión aarch64. Para las anteriores, tienes armhf. Ojo, la versión armhf no funcionará en la Raspberry Pi 4.

commands_alpine
commands_alpine

No hace falta quemar nada, tan sólo copiar el fichero descargado en una SD formateada con FAT32 y descomprimir, en mi caso desde la carpeta donde tengo el fichero: tar xf alpine-rpi-3.11.3-armhf.tar.gz -C /Volumes/ALPINOS.

AlpinOS_folder_structure
AlpinOS_folder_structure

Ahora necesitamos añadir los drivers que no están incluídos con la distribución. Básicamente lo que debemos hacer es copiar en la SD la carpeta /firmware/brmc situada en la siguiente dirección del repositorio firmware-nonfreeopen in new window.

Podéis personalizar el fichero config.txt, ya que cada monitor y sobretodo la Raspberry Pi 4, tiene sus ajustes y cada uno tendrá el suyo ya preparado. Para ello, crearéis un fichero /usercfg.txt, ya que dicho config.txt no se puede tocar. Tenéis todos los comandos que podéis pasar en la web oficial de raspberrypi.orgopen in new window.

Primer inicio
Primer inicio

Metemos la SD en nuestra Pi, la encendemos y en menos de 10 segundos tendrás el sistema, operativo.

[ Primer inicio ]

setup-alpine
setup-alpine

¡Ya estamos dentro!. Con el usuario root sin contraseña, nos dice que ejecute setup-alpine para configurar:

  • Disposición del teclado (keyboard layout).

  • Nombre del host (hostname name).

  • Configuración de la red (Wired/WiFi network config).

  • Cambiar el password de root.

  • Zona horaria.

  • HTTP Proxy.

  • Cliente NTP: busybox, openntpd, chrony o ninguno.

  • Mirrors: La tecla (f) Detecta y añade el servidor mas rápido, pero puedes elegir uno aleatorio o editar el fichero /etc/apk/repositories.

  • SSL Server: openssh, dropbear o ninguno.

  • Dónde almacenar el fichero de configuración: floppy (¿?), mmcblk0p1, usb o ninguno.

  • Apk cache dir. Yo lo he puesto en /media/mmcblk0p1/cache.

[ Guardando la configuración del sistema ]

Debido a que Alpine se ejecuta en memoria, todos los cambios se pierden en cada reinicio, pero podemos "guardar la partida" como si de un videojuego se tratase con una utilidad llamada lbu (Local Backup Utility). Su uso es muy sencillo y lo veremos en profundidad mas adelante. Por ahora basta con que ejecuteremos lbu commit para guardar los cambios y que estén disponibles en cada reinicio.

[ Copia de seguridad ]

backup_es
backup_es

Ha llegado el momento en el que tenemos un sistema operativo y para nuestras locas ideas, vamos a querer tener una copia del mismo, así que podéis usar aplicaciones de terceros, dd o seguir el tutorial que os dejé hace tiempo sobre el comando fsarchiver en el artículo Backup de una partición con fsarchive (Linux).

Por hoy ya hemos hecho muchos avances. Nos vemos la semana que viene donde actualizaremos la distribución y comenzaremos a añadir los primeros paquetes.

¡Adéu!