1. Live-build
Live-build funciona como un run-parts que ejecuta distintas fases. En cada una de ellas se ejecutan distintos scripts que finalmente crearan la iso.
Las fases son :
- configuración: Esta fase se encarga de crear una configuración que utilizaran las siguientes fases. Aquí se puede indicar desde el método de construcción, compresión, etc.
- debootstrap : En esta fase básicamente creará el debootstrap en el cual se instalarán todos los paquetes que se le indiquen.
- chroot : En esta fase básicamente se realiza todo lo necesario para tener el sistema que finalmente se tendrá instalado. Aquí se instalan paquetes, crean ficheros, ejecutan postinstalls, etc.
- binary: Este es el ultimo paso en el cual se coge el chroot y se comprime. A partir de ese momento se generara todo lo necesario para el live.
2. Lliurex-Maker
Lliurex maker hace uso de las recomendaciones que se dan en la documentación de live-build de hacer uso de los scripts auto. Estos scripts de auto sirven para ejecutar los pasos de live-buid de forma personalizada. Así pues, en el directorio /usr/share/lliurex-maker/auto están todos los scripts de auto que se usarán en las distintas fases. En el de auto se ejecuta el comando lb config con indicando cual es la suite que tiene que utilizar para crear el chroot, el tema de syslinux, los repositorios que tiene que utilizar para crear el debootstrap, instalar los paquetes del chroot y del modo live.
Uno de los últimos pasos que se realizan es copiar toda la configuración que tiene dependiendo del sabor que se haya seleccionado y una configuración común para todos. Esta configuración se encuentra en /usr/share/lliurex-maker/configuration. Aqui están indicados los paquetes que tiene que instalar en cada fase, fijar el pinning, preseeds.
Otro de los scripts de auto es el de build, que se encarga de ir llamando a las fases de construcción. También se crean unos hooks que se llamaran en distintas fases. Estos hooks sirven para deshabilitar el comando update-initramfs; otro es para arreglar un problema con el vmlinuz en el modo live. También se genera un pool que estara disponible en la iso para aquellas isos que esten basadas en 64 bits y se quieran instalar en modo EFI.
En el lliurex-maker se indica cual es el paquete de keyring que se tiene que instalar si el pool esta firmado, ya que de otra forma apt no confiara en el repositorio que se indica.
Enlaces de interés
- https://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html
- http://manpages.ubuntu.com/manpages/precise/man7/live-build.7.html