wiki:Version2/Desarrollo/OGLive

Version 9 (modified by adelcastillo, 13 years ago) (diff)

--

NOTA

Esta nueva versión de OGLive sólo ha sido probada con Kubuntu 10.10 para generar un cliente Ubuntu 10.04 mínimo. Si se encuentran errores comprobar tickets y enviar la incidencia.

Instalar live-build

Este proceso debe realizarse en el repositorio

Ubuntu/Debian

Con Ubuntu 10.10 es suficiente:

$ apt-get install live-build

Otros linux

Si no se tiene una distribución con live-build se puede probar a instalar directamente desde los repositorios oficiales de debian.

Con esa versión funcionan correctamente el proceso. Si tu Ubuntu o Debian no tiene está versión o superior, o usas otra distribución, siempre podemos instalarla manualmente:

$ git clone git://live.debian.net/git/live-boot.git
$ cd live-boot
$ sudo make install
$ cd ..
$ git clone git://live.debian.net/git/live-build.git
$ cd live-build
$ sudo make install
$ cd ..
$ git clone git://live.debian.net/git/live-config.git
$ cd live-config
$ sudo make install

Con esto ya debería suficiente para poder generarla. Siempre se puede desinstalar con un:

# sudo make uninstall

En cada directorio.

Uso

Para generar un cliente hay que irse al directorio source:branches/version2/live. En ese directorio ejecutar:

lb config && lb build

Esto generará un binary-net.tar.gz. En su interior podremos encontrar un dos directorios, el tftpboot y el ubuntu-live. El tfptpboot trae todo lo necesario para por red el live generado. En la carpeta ubuntu-live se encuentra el sistema de ficheros que arrancará por red. La carpeta hay que compartirla por red como veremos más adelante.

Si por algún casual diera algún error, o simplemente quieres cambiar la configuración del cliente y generarlo de nuevo, lo mejor es:

lb clean && lb config && lb build

Con el lb clean se borrarán todo excepto la cache de los paquetes descargados. Si tienes dudas de que no realiza exactamente lo que se pide aconsejamos borrar todo y volver a probar; a veces soluciona los problemas.

Tecnologías

Se hace uso principalmente del programa live build de Debian. El conocimiento de esta herramienta podría ser importante para mejorar el proceso de generación de OGLive.

Código

El código se encuentra en source:branches/version2/live. En éste hallamos los scripts que generan una distribución Ubuntu live mínima incluyendo el software necesario para ejecutar el cliente de OpenGnSys:

  • auto: directorio usado por live-build, en la que comprueba si existen los ficheros build, clean y config antes de ejecutarse. Se usa para configurar el cliente tal como lo necesitamos nosotros y automatizar tareas repetitivas como pasar los hooks, includes, packages_lists y pressed al directorio que crea lb config.
  • hooks: contiene scripts que se ejecutarán dentro del live antes de ser generado definitivamente. Puedes añadir nuevos para añadir, configurar o eliminar cosas de manera sencilla.
    • install_job_executer: instala todo lo necesario para opengnsys: ogr, engine, job_executer, load_environ. Se puede ejecutar en un cliente ya generado para actualizar el engine, ogr, load_environ etc. Nota: Este script actualiza sólo los ficheros de /opt/opengnsys, el client_init copia ficheros a /etc que no se actualizarán en ese caso.
    • install_browser: instala el browser con todo lo necesario y el load_environ lo añade también. Se puede ejecutar en un cliente ya generado para actualizar el browser. Nota: Este script actualiza sólo los ficheros de /opt/opengnsys, el client_init copia ficheros a /etc que no se actualizarán en ese caso.
    • client_init: para modificar el proceso init y arrancar opengnsys al arranque.
    • remove_unused_casper_init: para eliminar procesos de arranque del initrd.
    • remove_unused_init: para eliminar procesos innecesarios del init.
  • load_environ: tiene un script que configura los ficheros de configuración para el job_executer y el browser, además de montar el repositorio de imágenes, a través de los parámetros pasados por el kernel.
  • packages_lists: contiene ficheros que tienen dentro una lista de paquetes que serán instalados en el live automáticamente. Sería bueno que hubiera distintas listas según la necesidad de instalar esos paquetes, por ejemplo para el que funcione el engine, el browser, etc.
  • preseed: ficheros para configurar los paquetes deb que se instalan en el cliente.
  • options: fichero de configuración. Se puede editar para crear otras arquitecturas u otras versiones.
  • server: encontraremos ficheros de configuración que pueden ser útiles para configurar los servicios necesarios para arrancar el cliente que son por ahora: NFS, DHCP, SAMBA y TFTP. Se da la alternativa de usar dnsmasq solamente o dhcpd3 con tftpd.
  • tests: comprueba los hooks y el load_environ.

Uso

Si queremos usar el cliente podemos matar el browser presionando: CTRL+ALT+BACKSPACE. Luego podemos cambiar de terminal con CTRL+ALT+F2. El usuario root tiene contraseña oguser. También existe el usuario oguser con contraseña oguser. El path y las variables para usar OGR hay que setearlas a mano.

Modificar el cliente

Hay dos maneras principales de hacerlo. En auto/config encontramos un script que además de configurar añade herramientas de OpenGnSys al sistema. Otra manera es añadiendo hooks para que añada usuarios o elimine scripts de arranque.

VirtualBox

Para hacer las pruebas se puede configurar VirtualBox para el arranque en red de las máquinas virtuales y probar más rápidamente las distros generadas. Para ello sólo hay que seguir los siguientes pasos: http://www.tolaris.com/2009/03/05/using-host-networking-and-nat-with-virtualbox/

Información adicional

Muy útil para cuando vayamos a hacer que OGLive permita arrancar de la cache, que es el manual de casper que tiene funciones incorporadas para hacer eso:

http://www.linuxcertif.com/man/7/casper/

En el manual de lb_config vienen todos los parámetros que son configurables desde live-build:

$ man lb_config