Línea 10: | Línea 10: | ||
==Instalar dependencias incumplidas de ''debian-installer''== | ==Instalar dependencias incumplidas de ''debian-installer''== | ||
Antes que nada, para poder usar ''debian-installer'' sin conflictos, debemos correrlo desde un sistema que use repositorios inestables, como lo es ''sid''. | Antes que nada, para poder usar ''debian-installer'' sin conflictos, debemos correrlo desde un sistema que use repositorios inestables, como lo es ''sid''. | ||
− | + | Debemos utilizar el comando ''dpkg-checkbuilddeps'' en el directorio raíz de ''debian-installer''. Esto comprobará los paquetes instalados en el sistema con una lista de las dependencias de nuestro paquete. Luego mostrará en pantalla las dependencias incumplidas. | |
− | Debemos utilizar el comando ''dpkg-checkbuilddeps'' en el directorio raíz de ''debian-installer''. Esto comprobará los paquetes instalados en el sistema con una lista de dependencias de nuestro paquete. Luego mostrará en pantalla las dependencias incumplidas. | + | |
La lista de dependencias de ''debian-installer'' se encuentra por defecto en ''debian/control'', pero también es posible especificar otra lista mediante su path. Para más información, usar ''man dpkg-checkbuilddeps''. | La lista de dependencias de ''debian-installer'' se encuentra por defecto en ''debian/control'', pero también es posible especificar otra lista mediante su path. Para más información, usar ''man dpkg-checkbuilddeps''. | ||
Una vez obtenida la lista, se debe proceder a instalar los paquetes. Para hacerlo basta con correr el comando ''apt-get install <paquete1> <paquete2> <paquete3>'', siendo ''paqueteX'' alguno de los paquetes mostrados en la lista que imprimió ''dpkg-checkbuilddeps''. | Una vez obtenida la lista, se debe proceder a instalar los paquetes. Para hacerlo basta con correr el comando ''apt-get install <paquete1> <paquete2> <paquete3>'', siendo ''paqueteX'' alguno de los paquetes mostrados en la lista que imprimió ''dpkg-checkbuilddeps''. | ||
− | |||
Lo que resta ahora es completar el paquete ''debian-installer'' con los udebs requeridos para cada imagen. Simplemente hay que correr el comando ''dpkg-buildpackage'' en el directorio raiz del instalador. Este proceso puede tardar varios minutos, dependiendo de la conexión a Internet. | Lo que resta ahora es completar el paquete ''debian-installer'' con los udebs requeridos para cada imagen. Simplemente hay que correr el comando ''dpkg-buildpackage'' en el directorio raiz del instalador. Este proceso puede tardar varios minutos, dependiendo de la conexión a Internet. | ||
Línea 26: | Línea 24: | ||
Una vez finalizado el proceso, la imagen será generada en el directorio ''build/dest''. | Una vez finalizado el proceso, la imagen será generada en el directorio ''build/dest''. | ||
La mayoría de las imágenes creadas por ''debian-installer'' están listas para ser usadas. Las excepiones son las imágenes CD/DVD, que solo contendran la base (initrd y kernel). El paquete usado para completar las imágenes CD/DVD es ''debian-cd''. Aunque por otro lado, si lo que se desea es que la imagen solo tenga el instalador, se puede crear una imagen mini-ISO con solo el netboot initrd en ella. Por ejemplo, el comando ''make build_netboot'' creará una imagen en ''build/dest/netboot/mini.iso'', usando isolinux. | La mayoría de las imágenes creadas por ''debian-installer'' están listas para ser usadas. Las excepiones son las imágenes CD/DVD, que solo contendran la base (initrd y kernel). El paquete usado para completar las imágenes CD/DVD es ''debian-cd''. Aunque por otro lado, si lo que se desea es que la imagen solo tenga el instalador, se puede crear una imagen mini-ISO con solo el netboot initrd en ella. Por ejemplo, el comando ''make build_netboot'' creará una imagen en ''build/dest/netboot/mini.iso'', usando isolinux. | ||
+ | |||
+ | ==Automatización de ''debian-installer''== | ||
+ | |||
+ | Una excelente forma de automatizar ''debian-installer'' es usar la preconfiguración. La preconfiguración ofrece un mecanismo para responder a preguntas realizadas durante la instalación sin tener que introducir manualmente las respuestas mientras ésta se ejecuta. Esto hace posible que se automaticen la mayoría de las instalaciones e incluso ofrece funcionalidades que no están disponibles durante una instalación normal. Para ello se crea un archivo ''preseed.cfg'', en el cual se incluirán todas las opciones a automatizar. | ||
+ | |||
+ | Se pueden utilizar tres métodos de preconfiguración: modificando el ''initrd'' para que incluya el archivo ''preseed.cfg'', llamando al archivo ''preseed.cfg'' especificando una ruta, o solicitando el archivo ''preseed.cfg'' vía red. | ||
+ | |||
+ | El método que explicaremos a continuación se basa en modificar el ''initrd''. |
Como su nombre lo indica, debian-installer es el instalador de Debian. Usualmente se pueden presentar situaciones en las que sea necesario modificar el paquete, como es el caso de Lihuen, para adaptarlo a diferentes usos y necesidades. En cualquier caso, debemos seguir los siguientes pasos para lograr que la creación de la imagen ocurra con éxito:
- Instalar dependencias incumplidas de debian-installer.
- Configurar repositorios personalizados.
- Generar la imagen
Antes que nada, para poder usar debian-installer sin conflictos, debemos correrlo desde un sistema que use repositorios inestables, como lo es sid. Debemos utilizar el comando dpkg-checkbuilddeps en el directorio raíz de debian-installer. Esto comprobará los paquetes instalados en el sistema con una lista de las dependencias de nuestro paquete. Luego mostrará en pantalla las dependencias incumplidas. La lista de dependencias de debian-installer se encuentra por defecto en debian/control, pero también es posible especificar otra lista mediante su path. Para más información, usar man dpkg-checkbuilddeps. Una vez obtenida la lista, se debe proceder a instalar los paquetes. Para hacerlo basta con correr el comando apt-get install <paquete1> <paquete2> <paquete3>, siendo paqueteX alguno de los paquetes mostrados en la lista que imprimió dpkg-checkbuilddeps. Lo que resta ahora es completar el paquete debian-installer con los udebs requeridos para cada imagen. Simplemente hay que correr el comando dpkg-buildpackage en el directorio raiz del instalador. Este proceso puede tardar varios minutos, dependiendo de la conexión a Internet.
Cuando compilemos nuestra imagen, por defecto debian-installer generará un archivo sources.list.udeb, el cual estará basado en el sources.list de nuestro sistema. Si nuestra intención es generar una imagen con una versión diferente a la instalada, es posible especificar los repositorios de donde se desea descargar los paquetes. Para ello tendremos que crear un archivo sources.list.udeb.local en el directorio build/. Vale aclarar que, aunque hayamos creado el sources.list.udeb.local, cuando generemos la imagen el archivo sources.list.udeb igualmente será creado, pero no utilizado.
Una vez instaladas las dependencias y elegidos los repositorios deseados, lo que queda es generar la imagen. Para ello se debe tener en cuenta la arquitectura (i386, amd64,etc.) y el tipo (cdrom, netboot, floopy, etc.). Para obtener una lista de todas las posibles combinaciones de arquitecturas y tipos, basta con utilizar el comando make en el directorio build/. Una vez elegidas las opciones, hay que generar la imagen usando uno de los build_targets (build-netboot, all_build, etc.). Una vez finalizado el proceso, la imagen será generada en el directorio build/dest. La mayoría de las imágenes creadas por debian-installer están listas para ser usadas. Las excepiones son las imágenes CD/DVD, que solo contendran la base (initrd y kernel). El paquete usado para completar las imágenes CD/DVD es debian-cd. Aunque por otro lado, si lo que se desea es que la imagen solo tenga el instalador, se puede crear una imagen mini-ISO con solo el netboot initrd en ella. Por ejemplo, el comando make build_netboot creará una imagen en build/dest/netboot/mini.iso, usando isolinux.
Una excelente forma de automatizar debian-installer es usar la preconfiguración. La preconfiguración ofrece un mecanismo para responder a preguntas realizadas durante la instalación sin tener que introducir manualmente las respuestas mientras ésta se ejecuta. Esto hace posible que se automaticen la mayoría de las instalaciones e incluso ofrece funcionalidades que no están disponibles durante una instalación normal. Para ello se crea un archivo preseed.cfg, en el cual se incluirán todas las opciones a automatizar.
Se pueden utilizar tres métodos de preconfiguración: modificando el initrd para que incluya el archivo preseed.cfg, llamando al archivo preseed.cfg especificando una ruta, o solicitando el archivo preseed.cfg vía red.
El método que explicaremos a continuación se basa en modificar el initrd.