martes, 5 de enero de 2021

Los LiveUSB con persistencia (2ª Parte)

Comentaba ayer que hay utilidades que pueden crear ‘LiveUSB con persistencia’ por el modo tradicional de ‘montar’ la ISO (o ISOs) de la distro elegida/s en un pendrive, y programando (o añadiendo) la opción de integrar en esa Live un espacio de hasta 4 GB, que puedes usarlo para crear archivos personales, o instalar cosas en esa distro Live… sin que al cerrar la sesión desaparezcan. Es decir que tendrán ‘persistencia’
Y hoy toca hablar del otro sistema, el basado en la nueva utilidad ‘Ventoy'.


Centrando ideas, lo que hace, en esencia, Ventoy, es ‘preparar’ el pendrive (creando una pequeña partición de arranque) para que, en vez de tener que ‘montar’ las ISOs, baste copiarlas en él… y ya se pueden arrancar en modo LiveUSB (si la distro en concreto está habilitada para ello, claro). Aunque ya lo explicaba hace tiempo, vamos a empezar por recordar cómo se instala la utilidad Ventoy. 
Para ello, lo primero es descargar el archivo ‘ventoy-…..-linux.tar.gz’ de aquí:
https://github.com/ventoy/Ventoy/releases
y descomprimirlo.
Ahora introducimos un pendrive formateado en fat32 y vacío en el PC y...
a) ver ‘como se llama el pendrive’, por ejemplo con ‘sudo fdisk -l’, o con ‘lsblk’. Supongamos que sea /dev/sdb.
b) Y ahora,
abriendo una consola en la carpeta donde quedaron los archivos descomprimidos del ventoy, hacer correr el script ‘Ventoy2Disk.sh’ que aparece ahí, con la instrucción...
sudo sh Ventoy2Disk.sh -i /dev/sdb
...que nos organizará el pendrive, creando una partición de arranque, etc. Y a partir de este momento, bastará copiar en el pendrive las ISO que queramos (de distros Live) para que, al arrancar el PC desde el pendrive, nos arranque la Live elegida.
Y ya solo nos quedaría saber cómo dotar de 'persistencia' a alguna distro, copiada, que lo admita...

Crear persistencia en Ventoy
Vamos a ello: lo primero que hay que hacer es crear, en la carpeta donde hemos extraido el Ventoy, un archivo (que será genérico) llamado ‘persistence.dat’.

Esto lo hacemos haciendo correr el script ‘CreatePersistentImg.sh’, donde debemos indicar dos cosas. Una el tamaño reservado para la persistencia. Y el otro, la etiqueta que precisa, si no es la común (‘casper-rw’), que no haría falta ponerla.
Se puede ver una información más completa en web de Ventoy (en Ventoy persistence plugin) pero, como ideas clave, estas son las órdenes tipo para lanzar el script:
a) Lo más común es crear un archivo ‘persistence.dat’ con etiqueta casper-rw (es la compatible con la familia ubuntu y derivados (todos los ‘buntus’, LinuxMint, ElementaryOS, Zorin… y muchas herramientas basadas en debian/ubuntu), con una de estas ordenes-tipo (aquí no hace falta indicarle la etiqueta, la toma por defecto)...
sudo ./CreatePersistentImg.sh
que crea un ‘persistence.dat’ para una capacidad de 1GB y sistema de archivos ext4
sudo ./CreatePersistentImg.sh -s 2048
que crea un ‘persistence.dat’ para una capacidad de 2GB y sistema de archivos ext4 y...
sudo ./CreatePersistentImg.sh -s 4096 -t xfs
que crea un ‘persistence.dat’ para una capacidad de 4GB y sistema de archivos xfs (el sistema usa ext4 por defecto y admite, indicándoselo, ext2, ext3 y xfs)

b) Y para otras etiquetas, por ejemplo para la distro MX Linux (basada en Debian)
sudo ./CreatePersistentImg.sh -l MX-Persist
que crea un ‘persistence.dat’ con capacidad de 1GB y sistema de archivos ext4 y etiqueta MX-Persist


Bien ya estamos (casi) acabando. Como dije, este (o estos) 'persistence.dat' creados (en nuestro PC) son genéricos. Basta copiarlos en el pendrive con Ventoy (en la misma ruta de las ISOs copiadas) y asignarles un nombre específico, para personalizarlos. Por ejemplo, podemos personalizarlos renombrándolo, tras copiar el genérico, como ‘persistence_Lubuntu18.dat’, o ‘persistence_LinuxMint20.dat’ (o, simplemente, persistence1, persistence2… .dat, aunque es más clarificador lo primero).

Y ya solo queda un último paso: dar las ordenes oportunas para asignar los ‘persistences.dat’ creados a las correspondientes distros. Esto lo hará un sencillo archivo, de texto, de nombre 'ventoy.json', que tendremos que configurar. No es nada difícil, hay que hacer lo siguiente:
a) crear una carpeta (vacía) en el pendrive, de nombre ‘ventoy’
b) Y crear el archivo ‘ventoy.json’, que guardaremos en esa carpeta. Este archivo, que se hace con cualquier editor de textos, tiene que indicar lo siguiente (voy a poner mi ejemplo, que se verá más claro)
Si fuese para una sola distro, por ejemplo la llamada ‘linuxmint-18-xfce-64bit.iso’, con el archivo (para crear la persistencia) ‘persistence_LinuxMint18.dat’ en archivo deberá contener esto:
{
"persistence": [
{
"image": "/linuxmint-18-xfce-64bit.iso",
"backend": "/persistence_LinuxMint18.dat"
}
]
}

(y se guardaría, como ‘ventoy.json’ en la indicada carpeta).
Pero si queremos tener varias distros Live en el pendrive, y un par de ellas con persistencia, tendríamos que crear un archivo ventoy.json ‘multiboot’, por ejemplo como este…
{
"persistence": [
{
"image": "/linuxmint-18-xfce-64bit.iso",
"backend": "/persistence_LinuxMint18.dat"
},
{
"image": "/lubuntu-16.04.6-desktop-i386.iso",
"backend": "/persistence_Lubuntu16.dat"
}
]
}

es interesante fijarse
muy bien en los pequeños detalles del posicionamiento de las ‘comas’ y los cierres de matriz ( } y ] ), por si queremos crear uno con distinto número de distros con persistencia.

Y este archivo de texto se guardaría, como dije antes, con el nombre de ventoy.json, en la carpeta ‘ventoy’ creada.

Y ya está, solo queda arrancar el PC desde el pendrive, así preparado, y tras arrancar veremos (si hemos creado persistencia a la distro elegida) estas dos pantallas...


Bien, pues esto es todo. Lo he probado… y funciona perfectamente.
Parece complicado, pero captando la idea, es muy sencillo. 

Y además, una vez que tengamos preparado ‘un pendrive ventoy’, creado el archivo genérico ‘persistence.dat’ en el PC, y creado también, en el pendrive, el archivo ‘ventoy.json’, añadir otra distro al pendrive, y crear y programar su persistencia, es facilísimo, y muy rápido, basta copiar la nueva ISO en el pendrive, copiar y renombrar convenientemente el persistence.dat genérico, y editar y modificar, con los nuevos datos, el ‘ventoy.json’.

(pero, como remate, no puedo menos que hacer un comentario final… y ya termino: esto de las distros en LiveUSB, con o sin persistencia, es algo marginal… salvo que seas un ‘distrohopper’ compulsivo o estés toda la vida en ordenadores ajenos y quieras usar ‘tu propia distro’, aunque sea en modo ‘Live’. En todo caso, la idea de estas dos entradas es, primero, para tratar de aclararme un poco yo mismo y segundo, para dejar aquí algunos ‘apuntes’ con las ideas-clave del tema).

3 comentarios:

  1. Hola, muy buen post, estuve trasteando con esto el día de ayer y me tope con un problema al que quizá le tengas una idea o quizá hasta una solución .
    Resulta que estaba de lo más bien probando ubuntu en un archivo de persistencia de 4 gbs, pero a la más mínima update y ugrate ya no me queda espacio en el archivo de persistencia de 4gbs, tengo un ubs de 64 y tengo suficiente espacio para hacer un archivo de persistente de más de 10 gbs para instalar y probar algunas cosas pero no me es posible si no logro agrandar el archivo persistente. Sabrás alguna manera de solucionar esto?

    ResponderEliminar
  2. pues no, no tengo la solución para eso. De hecho, siempre se dice que el límite de persistencia es de 4 GB. Supongo que tiene algo que ver con el formato Fat32 con el que (presumiblemente) funcionan los paquetes y libterías que se necesitan para montar las distros-live en los pendrives.
    De todas formas, 4 GB dan para bastante... si se usan para instalar nuevasaaplicaciones (que no sean snap o flatpak, claro). Porque, si lo ocupas con archivos personales... siempre existe la posibilidad de sacarlos a otro pendrive o, si se puede, a alguna otra partición del mismo.
    Y ojo también, con el espacio (prescindible) de la partición root (archivos en /var/cache/apt, papelera root, etc)

    ResponderEliminar
  3. me alegra el que te haya servido. En cuanto a lo de la velocidad, hombre, en 'live' siempre es más lento, pero desde luego usar USB 3.0 es muy recomendable. Lo del tamaño... solo depende de lo que quieras meter en ese pendrive.

    ResponderEliminar