Version 27 (modified by 13 years ago) (diff) | ,
---|
Cliente OpenGnsys
Objetivo
- Ser capaz de inicializarse desde:
- cualquier dispositivo removible (usb, cd, dvd),
- una partición cache, o un espacio no particionado (¿¿¿???)
- y por supuesto por red, utilizando cualquier protocolo.
- Ofrecer la posibilidad de añadir o actualizar software usando los gestores de paquetes estándar.
- Que el software instalado en el cliente, no afecte a su arranque (especialmente en el modo PXE)
- Independizar el tiempo de arranque del cliente, independiente del número de estos que se inician simultánemente.
Descripción
- El "cliente" se compone en:
- Primera etapa: un kernel y un initrd.
- Segunda etapa: el sistema raíz o root(con todas las aplicaciones necesarias).
- Los elementos de la primera etapa se cargan mediante un gestor de arranque, dependiendo del contendor(cd,dvd,usb,particionCache,red) se usuará el más idóneo (p.e isonlinux, grub, grub4dos, gpxe).
- El inicializador de opengnsys ubicado en el initrd (boot=oginit) detectará donde se ubica el sistema raíz (segunda etapa), y lo incluirá como tal.
Instalación
No realizar el proceso en un sistema en procucción. Se ha testado con éxito en la ubuntu server 32 bits 10.04 y 10.10
mv /opt/opengnsys/tftpboot/ogclient/ /opt/opengnsys/tftpboot/ogclientTrunk; svn checkout http://www.opengnsys.es/svn/branches/ogClient /tmp/opengnsys_installer/opengnsys/installer/ogClient; svn checkout http://www.opengnsys.es/svn/branches/version1.0/client/shared/ /tmp/opengnsys_installer/opengnsys/client/shared; svn checkout http://www.opengnsys.es/svn/branches/version1.0/client/engine/ /tmp/opengnsys_installer/opengnsys/client/engine; find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null; /tmp/opengnsys_installer/opengnsys/installer/ogClient/ogClientGeneratorV2.sh;
El proceso que se ha indicado a continuación, genera los elementos del cliente OpenGnsys, basados en la versión de ubuntu que tengamos instalados (mismo kernel y distribución).
/opt/opengnsys/tftpboot/ogclient/
./ogvmlinuz (el kernel) ./oginitrd.img (el initrd) ./ogclient.img (el sistema raiz, accesible como disco virtual usando schroot desde el host que lo generó, para ser actualizado) ./ogclient.sqfs (el sistema raiz, comprimido para ser usado por los clientes OpenGnsys)
Las fases de la instalación
- Fase 1. Instalación en el equipo donde se ejecuta la instalación de software necesario.
- Fase 2. Asignación de valores, como la versión del kernel, basados en los datos del S.O que ejecuta el instalador, que serán utilizados para generar el cliente.
- Fase 3. Creación del sistema raiz (ogclient.img). Primero se crea un disco duro virtual, y se particiona -ogCleint2nFile()-. En la primera partición se genera un sistema operativo con la herramienta deboobstrap -ogClient2ndFs()-, con parametros basados en la fase2.
- Fase 4. Se configura el acceso al sistema raiz (ogclient.img) para ser usado con la herramienta schroot -ogClientSchrootConf()-
- Fase 5. Se configura o se incluyen los elementos especiales de opengnsys (engine, QTEmbbedbed, pci.ids, browser, ogAdmClient). -ogClient2ndSVN()-
- Fase 6. Ampliación del sistema raiz -- instalación de software con apt, compilación de algunas herramientas, importación de la clave ssh desde el SO que lo generó.
- Fase 7. Generación del initrd.
- Fase 8. Generación del sistema raiz en sqfs.
Modificaciones al cliente
Pasos previos:
svn checkout http://www.opengnsys.es/svn/branches/ogClient /tmp/opengnsys_installer/opengnsys/installer/ogClient; source /tmp/opengnsys_installer/opengnsys/installer/ogClient/ogClientManager.lib
Generar un nuevo initrd, con nuestras "locales", y almacenarlos en el /opt/opengnsys/tftpboot/ogclient/
schroot -C IMgogclient -- /root/ReconfigureLocales.sh ogClientInintrd host
Copiar nuevos archivos al sistema raiz del cliente (ogclient.img)
Cualquier archivo extra, que queramos añadir al sistema raiz del cliente, tenemos el directorio /tmp compartido entre el SO y el ogclient.
schroot -c IMGogclient cp /tmp/ficheroOGSERVER.txt /home/opengnsys/ficheroEnOGclient.txt
Generar un nuevo initrd, con un nuevo proceso de inicio de OpenGnsys
Instalar nuevas herramientas en el sistema raiz del (ogclient.img)
schroot -c IMGogclient apt-get update python3