* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Entorno de trabajo de Draklive

Muy bien, ya sabemos de qué va este manual y en qué se basa Draklive para crear sistemas live. Pero calma, aún queda algo antes de ver cómo se usa Draklive: preparar el entorno de trabajo.

Cómo obtener Draklive

Lo primero de todo es obtener Draklive, ya que poco podremos hacer si no disponemos del programa ;) Para ello hay dos formas, cada una con sus ventajas e inconvenientes y que como veremos están íntimamente relacionadas: descargarlo desde los repositorios mediante urpmi, o desde el propio SVN de Mandriva.

Habrá quien se pregunte qué es eso de SVN. Bien, SVN son las siglas de Subversion. Seguimos igual, ¿no? Bueno, a grandes rasgos puede decirse que es un servidor en el que se van almacenando los distintos cambios realizados en los archivos que forman un proyecto. Los sistemas de control de versiones son un elemento fundamental en cualquier proyecto de software libre. Para el común de los mortales, y lo que nos interesa a nosotros aquí, ofrece la posibilidad de obtener la ultimísima versión del código fuente de un software.

Pero un momento, entonces, si podemos tener la ultimísima versión... ¿para qué íbamos a querer instalarlo desde los repositorios? Pues por lo mismo que cualquier otro software: es fácil, es cómodo y nos asegura (hasta cierto punto, como con todo) que funcionará correctamente.

Así pues, hay que escoger entre tener Draklive a la última, lo que posiblemente incluirá correcciones de bugs y puede que nuevas funcionalidades pero que puede darnos quebraderos de cabeza (y gordos) si sufrió muchos cambios respecto a nuestra versión de Mandriva, o el Draklive propio de nuestra distribución, que sabremos que funcionará bien con el resto de paquetes pero que puede carecer de ciertas cosas.

En general, con instalar el Draklive propio de la distribución desde los repositorios es suficiente. No obstante, como me gusta el riesgo yo suelo seguir un enfoque híbrido. Primero instalo Draklive desde los repositorios. De este modo, se instalan automáticamente los paquetes dependientes necesarios. Y una vez hecho eso, bajo del SVN la última versión de Draklive (lo que, como ya comenté, a veces me da ciertos problemas).

¿Y cómo bajarlo del SVN? Pues creando un directorio draklive (por ejemplo), y ejecutando dentro de ese directorio:

svn checkout http://svn.mandriva.com/svn/soft/draklive/trunk .

El "." final hace que se copie en el directorio actual, en lugar de crear un subdirectorio trunk dentro del directorio actual. Como es lógico, debemos tener el cliente SVN instalado para que la orden funcione.

Si queremos actualizar nuestra copia del SVN de Draklive a la última versión (por ejemplo, porque la descargamos hace tiempo y ahora vamos a volver a usarla), vamos al directorio draklive y ejecutamos svn update (aunque no me cansaré de repetir que lo mejor es usar el Draklive propio de la distribución. Sí, lo sé, soy cansino a más no poder :P ).

Para terminar, únicamente comentar que no es necesario compilar Draklive una vez bajado del SVN. Esto se debe a que, como gran parte de las herramientas de Mandriva, está escrito en Perl, que es un lenguaje de programación interpretado (es decir, que no hace falta traducir al ordenador el código fuente escrito por humanos para que lo entienda, sino que es capaz de entenderlo directamente).

Ajustes al código

No estoy del todo seguro si es debido a estar utilizando una versión de Draklive demasiado moderna con mi vetusta Mandriva 2007.1, o por el hecho de haber generado una Mandriva 2008.1 en esas condiciones (al ser el Draklive de 2009.0, puede que en 2008.1 falten ciertas cosas que necesite), pero lo cierto es que tuve que realizar un pequeño ajuste al código de Draklive.

El problema surge del uso de LZMA como sistema de compresión para SquashFS, en lugar del gzip estándar. Por algún motivo que ignoro, incluso habiendo instalado los módulos apropiados, el sistema live no arranca y falla con un hermoso y saludable kernel panic.

Insisto en que, teóricamente, utilizando el Draklive propio de la distribución y generando una sistema live de la misma versión no debería haber problema. De todos modos, según la web de SquashFS LZMA, pese a comprimir mejor (y más lento) es también algo más lento que gzip en la descompresión. En este caso, personalmente prefiero velocidad (aunque la diferencia seguramente sea inapreciable, es simplemente para buscar una excusa y no sentirme mal por no hacer caso de mis palabras y hacer mezclas de versiones :P ). Así que para devolver el uso de gzip con SquashFS (en versiones posteriores al 11/07/2008) se modifican las líneas en Draklive que hacen referencia al uso de LZMA:

#         modules => [ qw(loop sqlzma squashfs_lzma) ],
#         extension => '-lzma.sqfs',
        modules => [ qw(loop squashfs) ],
        extension => '.sqfs',
   ...
#         'mksquashfs', $src, $dest, '-noappend', '-no-progress', '-info', '-lzma',
        'mksquashfs', $src, $dest, '-noappend', '-no-progress', '-info',

(Sí, soy un cutre, debería usar un diff, pero en este caso creo que es más claro así).

El uso de LZMA fue introducido en el commit 243445 de Draklive, y en él se indica que debería ser configurable, por lo que es de suponer que más adelante no sea necesario realizar las modificaciones mencionadas, sino simplemente activar o desactivar una opción en la configuración. Intenté hacer yo mismo el parche, pero al final acabó siendo superior a mis nulísimos conocimientos perlísticos :(

Insisto en que realizar este cambio en el código no debería ser necesario, salvo en circunstancias especiales de mezcla de versiones, o para conseguir algo más de velocidad.

Configuración inicial

Ya tenemos Draklive, ya tenemos las bibliotecas que utiliza (instaladas automáticamente por urpmi por dependencias, ¡vivan los gestores de paquetes!), y ya vimos qué cambios podemos hacer en el código de Draklive. ¿Ya acabamos? ¿Por fin está listo nuestro entorno de trabajo? ¿Podemos empezar ya? Porfa, ¿sí? O:)

Calma pequeño. Aún nos queda algo. En próximos apartados nos extenderemos más sobre este tema, pero por ahora baste decir que Draklive necesita algunos archivos de configuración para saber qué tiene que hacer, así como ciertos archivos auxiliares que le permitan afinar el sistema live, pero que no tienen cabida en los paquetes del sistema y por tanto no fueron instalados por urpmi.

¿Y de dónde sacamos todo eso? Pues muy sencillo: del SVN de Mandriva o de los mismos repositorios. No sólo ponen a nuestra disposición como software libre todo el software que desarrollan, ¡sino que además nos obsequian también hasta con la configuración y los archivos auxiliares que utilizan para generar Mandriva One y Mandriva Flash! Así da gusto :)

A partir de Mandriva 2008.1, el paquete draklive por dependencias instala el paquete draklive-config-One que lleva todos los archivos en cuestión, y los instala en /etc/draklive-config-One.

Para versiones anteriores, el paquete no existe, y necesitamos descargarlo desde el SVN. Igualmente, si queremos la ultimísima configuración para el Draklive descargado del SVN. Así pues, creamos un directorio llamado, por ejemplo, mandriva-config, y ejecutamos en él:

svn checkout http://svn.mandriva.com/svn/config/One/trunk/ .

o bien

svn checkout http://svn.mandriva.com/svn/config/One/branches/numeroVersion .

según estemos usando la ultimísima versión de Draklive, o la versión de Draklive propia de nuestra distribución (donde numeroVersion será 2007.1, 2008.0, 2008.1...).

Una vez obtenida la configuración, independientemente de cómo se hiciese, se copia a otro directorio (por ejemplo, config), que será el que verdaderamente usaremos. El otro se deja intacto simplemente a modo de copia de seguridad para consulta (tras hacer muchos cambios suele agradecerse tener el original intacto ;) ), y para evitar editar los archivos como root en el caso de los instalados mediante el paquete.

Y ahora sí, ya podemos pasar al uso de Draklive.