Aunque nunca he usado este blog para hablar de tecnología, siempre ha recogido mis reflexiones sobre política en general y alguna chorrada insustancial más.
Pero la #Covid_19 tiene estas cosas, que tanto tiempo confinados y haciendo una vida social casi nula, tienes que rellenar las horas del día. A unos les dio por la panadería, a otros por los juegos de mesa, a otros por los juegos digitales en distintas plataformas, ya sean consolas, ordenadores, móviles o tablets.
En mi caso les he dedicado tiempo a todas ellas y a alguna actividad más.
Navegando por la red di con un par de artículos que hablaban de la forma de eliminar la mayoría de la publicidad que entra en nuestros dispositivos dentro de nuestra red local. Estoy hablando de Pi-hole, un proyecto de código abierto creado por Jacob Salmela, que bloquea anuncios y rastreadores en Internet a nivel de red privada o local, diseñado para su uso en dispositivos sencillos y baratos como la Raspberry Pi, aunque también se puede usar en otras máquinas ejecutando Linux.
Pi-hole te permite bloquear la mayoría de anuncios publicitarios de aquellos sitios web que visites en los dispositivos (móviles, ordenadores, tablets, smarTV, TvBox…) conectados a tu router doméstico o profesional.

Hay infinidad de páginas web y video tutoriales que enseñan como instalar Pi-hole de forma sencilla y que podéis encontrar fácilmente con una pequeña búsqueda en Google.
Así que compré una de estas maquinitas y aunque todavía se puede comprar modelos más sencillos y baratos (os dejo aquí el link a todos los modelos) me decidí por comprar la Raspberry Pi 4b de 4GB, pensando en que no se quede obsoleta en poco tiempo aún sabiendo que Pi-Hole funciona correctamente en desarrollos más antiguos. No la compré en el sitio oficial más que nada por el ansia de tenerla pronto en casa así es que me incliné por comprar este kit, que consta de la Raspberry Pi4b, una caja con ventilador, disipadores, tarjeta SD 64GB Kingston, fuente de alimentación con interruptor y 2 cables miniHDMI – HDMI , de una conocida web de ventas online.
¡¡¡ATENCIÓN!!!
Aunque seas novato como yo, te recomiendo que no instales Raspbian desde la tarjeta que te envía el vendedor.
No es que exista peligro alguno, al contrario, resulta muy sencillo esta primera puesta en marcha pero puede que luego tengas algún tipo de problema con el tiempo. Como me pasó a mi.
RECOMIENDO, usar Raspberry Pi Imager, la aplicación oficial para “quemar” las ISO,s con el S.O. Rasbian a vuestra tarjeta SD.

El proceso es muy sencillo. Basta arrancar la aplicación Raspberry Pi Imager, seleccionar el S.O. que queráis instalar de las distintas opciones (yo elegí la primera, la que lleva software recomendado), a continuación seleccionar la tarjeta SD destino y darle a Write.

La tarjeta SD que me envió el vendedor viene pre-cargada con lo necesario para arrancar. En mi caso venía con NOOBS pre-instalado y me facilitó mucho la tarea de poner en marcha mi RP4b.
Yo he estado funcionando perfectamente desde el día que la compré hasta que esta misma semana leí un artículo en el que me enteré que desde la última actualización de la EEPROM de la RP4b ya se podía arrancar desde cualquiera de los puertos USB de la Pi, siendo los dos USB 3.0 los preferentemente elegidos ya que su velocidad máxima teórica es de 5Gbps, muy cercana a la velocidad máxima teórica de los discos SSD SATA3 6Gbps, mientras que la de los dos puertos USB 2.0 es de 480 Mbps.
Arrancar la Pi4b desde la tarjeta SD viene a tardar entre el minuto y los dos minutos. En mi caso la SD Kingston me da una velocidad de escritura/lectura en torno al os 30MB/s. Con un pendrive USB3 rondará los 90/100MB/s igual que con un HD mecánico de 5.000RPM conectado a un adaptador USB 3.0. Pero con un disco SSD SATA3 montado en un adaptador USB 3.0 podemos llegar a la velocidad máxima de 480/500 MB/s, algo más de 10 veces más rápido que con la SD y mucho más fiable y duradero en el tiempo.
NOOBS funciona perfectamente, no es que quiera asustar a nadie, pero crea una tabla de particiones distinta a la que se crea con una instalación “normal” con Raspberry Pi Imager y, al menos a mi, me ha estado dando muchos problemas para poder arrancar desde USB. Muchos problemas, no. No he conseguido arrancar desde el USB con ningún dispositivo “clon” de mi SD con todas sus configuraciones actuales (Plex server, Zerotier, OpenVPN, Hyperion, Rclone, DDNS…)

A la izquierda la tabla de particiones creada por NOOBS y a la derecha la tabla de particiones con una instalación normal con Raspberry Pi Imager. Como se puede ver, NOOBS crea una partición RECOVERY en Fat16, una partición Extendida y dentro de esta crea otras 3 particiones: SYSTEM, /boot, y / (o root), mientras que la instalación normal sólo crea las dos últimas y como particiones primarias.

En esta imagen se puede ver la diferencia con el comando “df –h” desde una consola.
VAMOS AL TAJO.
Después de muchas pruebas intentando clonar particiones tanto desde raspbian (Gparted, KDE partition manager) como desde windows (Easeuso Partition Manager, Minitool Partition…) al final opté por hacerlo de forma manual y como soy un completo novato me costó lo que no está escrito. Aunque con Windows me defiendo bien, en Linux soy un pardillo total. Pero bueno, leyendo por aquí y por allí al final lo conseguí. Lo compartí en el grupo de Telegram de la Raspberry en castellano pues muchas dudas me las crearon allí y esas dudas me hicieron buscar el remedio en la red.
Como ya he dicho más arriba, Noobs crea hasta 5 particiones en la SD.
mmcblk0p1 fat16 RECOVERY 2.40 GiB
mmcblk0p2 extended 57.08 GiB
Dentro de extended crea:
sin asignar 2.38 MiB
mmcblk0p5 ext4 SETTINGS 32.00 MiB
mmcblk0p6 fat32 boot 256.00 MiB
mmcblk0p7 ext4 root 56.79 GiB
En la misma Pi4 he arrancado con mi tarjeta quemada con NOOBS, en un adaptador USB he metido la tarjeta que quiero clonar.
Con Gparted borro la tarjeta destino y la reparticiono con dos particiones:
La primera exactamente con el mismo sistema de archivos y tamaño que /boot "mmcblk0p6", o sea fat32 y 256.00 MiB.
La segunda, que usará el resto de la tarjeta, como ext4.
Abro una sesión ssh y tras loguearme con user: pi y mi password:
Hago copia del contenido de /boot de la SD origen (mmcblk0p) al nuevo /boot en la SD destino (sda1)
sudo dd if=/dev/mmcblk0p6 of=/dev/sda1 bs=1M status=progress
Creo la nueva partición Linux (sda2) para /root
sudo mkfs -t ext4 /dev/sda2
Monto la partición sda2 en /mnt
sudo mount -t ext4 /dev/sda2 /mnt
El siguiente paso es para matar el servicio "rclone" si lo estáis usando y evitar que rsync pudiera copiarlo.
sudo pkill rclone
Copio el sistema a /mnt
sudo rsync -ax –progress / /mnt
Edito /mnt/etc/fstab
sudo nano /mnt/etc/fstab
Cambio donde dice "/boot" (mmcblk0p6) a mmcblk0p1 y donde "/" (mmcblk0p7) a mmcblk0p2
Ctrl+X – Sí – Sí
Desmonto /mnt
sudo umount /mnt
Monto /boot recien creado en /mnt
sudo mount -t vfat /dev/sda1 /mnt
Edito /mnt/cmdline.txt
sudo nano /mnt/cmdline.txt
Cambio root=/dev/mmcblk0p7 por root=/dev/mmcblk0p2
Desmonto /mnt y apago.
sudo umount /mnt
sudo shutdown now
Quito ambas tarjetas. Meto la clonada y a rular.
Espero que os sirva.