# Módulo de Arranque (ogboot) El módulo ogboot es el encargado de gestionar el proceso de arranque por red de los clientes de OpenGnsys, utilizando el sistema iPXE. Este componente sirve los binarios necesarios para el arranque (como undionly.kpxe o ipxe.efi), gestiona el sistema operativo ogLive, y genera instrucciones de arranque personalizadas para cada cliente en función de su configuración. Entre sus principales características se encuentran: - Gestionar las versiones de ogLive (instalar, borrar, marcar por defecto). - Generar instrucciones de arranque personalizadas por cliente, mediante plantillas reutilizables. - Exponer archivos como ogvmlinuz y oginitrd.img por HTTP para el arranque de clientes. La arquitectura de arranque se determina automáticamente gracias a la detección que realiza el servidor DHCP (ogDHCP) en función de la arquitectura del cliente. Estado del módulo ogboot Desde el menú superior se puede acceder al panel de Estado Global, donde se muestra el estado actual de ogboot. En esta vista se puede comprobar: - Uso de disco reservado para ogLive y archivos de arranque. - Estado de los servicios críticos (tftpboot y nginx). - Lista de imágenes ogLive instaladas, con su kernel, arquitectura y versión. ## Gestión de ogLive Desde la sección lateral ogLive, es posible gestionar las distintas versiones del sistema operativo que serán ofrecidas a los clientes al arrancar. ![oggui-boot-oglive](../../assets/images/screenshots/oggui-boot-oglive.png "Subred KEA") Cada entrada muestra: - Nombre de la imagen (ej. ogLive-6.8.0-31-generic-20250519) - Si está marcada como imagen por defecto - Estado de instalación - Fecha de creación Acciones: ver detalles, eliminar, o cambiar la imagen por defecto !!! warning nota Sólo puede haber una imagen ogLive marcada como por defecto. Esta será la usada en las plantillas de arranque cuando no se especifique una versión concreta. No es posible eliminar una imagen marcada como por defecto. ### Añadir e instalar una nueva imagen ogLive Para añadir una nueva versión de ogLive al sistema, sigue estos pasos desde el menú lateral ogLive: 1. Añadir una imagen disponible Haz clic en el botón "Añadir OgLive" para seleccionar una de las imágenes detectadas en el sistema. ![oggui-boot-oglive](../../assets/images/screenshots/oggui-boot-oglive.png "Subred KEA") Se abrirá una ventana con una lista desplegable de las imágenes disponibles pero aún no registradas en la interfaz. Selecciona una y pulsa "Añadir". ![oggui-boot-oglive-anadir](../../assets/images/screenshots/oggui-boot-oglive-anadir.png "oggui-boot-oglive-anadir") 2. Imagen añadida pero no instalada Una vez añadida, la imagen aparecerá en la lista con el estado "Sin instalar". ![oggui-boot-administrar-oglive-anadido-no-updated](../../assets/images/screenshots/oggui-boot-administrar-oglive-anadido-no-updated.png "oggui-boot-administrar-oglive-anadido-no-updated") Desde aquí podrás visualizarla, eliminarla, o desplegar el menú de acciones para proceder a su instalación. 3. Instalar imagen ogLive Pulsa sobre el icono de acciones (≡) y selecciona "Instalar". ![oggui-boot-administrar-install-oglive](../../assets/images/screenshots/oggui-boot-administrar-install-oglive.png "oggui-boot-administrar-install-oglive") Esto iniciará el proceso de instalación, que registrará la imagen y la preparará para ser usada durante el arranque de los clientes. 4. Confirmación de instalación exitosa Una vez completado el proceso, el estado pasará a "Instalada" y la imagen estará lista para usarse. ![oggui-boot-administrar-install-oglive-success](../../assets/images/screenshots/oggui-boot-administrar-install-oglive-success.png "oggui-boot-administrar-install-oglive-success") !!! note nota Puedes marcar la nueva imagen como por defecto si deseas que sea la utilizada automáticamente en las plantillas de arranque que no especifiquen una versión concreta. ## Gestión de Plantillas PXE Desde el menú lateral Plantillas PXE, se accede a la gestión de los ficheros base que definen cómo arrancará cada cliente. Estas plantillas son utilizadas para generar archivos personalizados por dirección MAC, y permiten seleccionar el método de arranque que debe usar el equipo. ![oggui-boot-administrar-install-oglive-success](../../assets/images/screenshots/oggui-boot-administrar-install-oglive-success.png "oggui-boot-administrar-install-oglive-success") En esta vista se muestra: - Nombre de la plantilla - Estado de sincronización con el sistema de archivos - Si es la plantilla por defecto - Fecha de creación - Acciones disponibles: ver, editar o eliminar ### Plantillas disponibles por defecto En el sistema vienen predefinidas varias plantillas localizadas en: ``` /opt/opengnsys/ogboot/tftpboot/ipxe_scripts/templates/ ``` Las plantillas por defecto son: | Plantilla | Descripción | |----------------------------|-----------------------------------------------------------------------------| | firstDisk | Arranca desde el primer disco del sistema | | firstDisk_firstPartition | Arranca desde la primera partición del primer disco | | firstDisk_secondPartition | Arranca desde la segunda partición del primer disco | | firstDisk_thirdPartition | Arranca desde la tercera partición del primer disco | | oglive | Arranca el sistema ogLive desde red (HTTP) | | ogliveCache | Arranca ogLive desde la caché local del cliente (/opt/opengnsys/cache/oglive/) | Estas plantillas son utilizadas como base para generar archivos personalizados por cliente, sustituyendo las variables contenidas en ellas por valores concretos en función de la configuración del equipo. ### Variables de las plantillas PXE Las plantillas de arranque disponibles en ogboot contienen variables que serán sustituidas automáticamente al generar el fichero de arranque personalizado para cada cliente. Esto permite reutilizar plantillas genéricas para múltiples equipos, adaptando dinámicamente los valores. Ejemplo de plantilla: oglive ``` #!ipxe set timeout set timeout-style hidden set ISODIR __OGLIVE__ set default 0 set kernelargs __INFOHOST__ :try_iso kernel http://__SERVERIP__/tftpboot/${ISODIR}/ogvmlinuz ${kernelargs} || goto fallback initrd http://__SERVERIP__/tftpboot/${ISODIR}/oginitrd.img boot :fallback echo "OgLive default" set ISODIR ogLive kernel http://__SERVERIP__/tftpboot/${ISODIR}/ogvmlinuz ${kernelargs} initrd http://__SERVERIP__/tftpboot/${ISODIR}/oginitrd.img boot ``` ### Variables disponibles | Variable | Descripción | |---------------|------------------------------------------------------------------------------------------------------------| | __SERVERIP__ | Dirección IP del servidor ogboot (servidor HTTP/TFTP que aloja el ogLive) | | __OGLIVE__ | Nombre del directorio donde está montada la imagen ogLive seleccionada | | __INFOHOST__ | Conjunto de parámetros del kernel personalizados para el cliente (IP, hostname, ogcore, ogrepo, etc.) | Estas variables se sustituyen automáticamente cuando se genera el fichero de arranque para un cliente (por ejemplo, 01-00:11:22:33:44:11) a partir de la plantilla seleccionada. #### Variable especial __INFOHOST__ En las plantillas PXE utilizadas por ogboot, la variable __INFOHOST__ se sustituye automáticamente por una cadena de parámetros del kernel. Estos parámetros son generados por el componente ogcore a partir de la configuración del cliente y su Unidad Organizativa. Ejemplo de sustitución set kernelargs ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true ogtmpfs=15 oglivedir=${ISODIR} LANG=es_ES.UTF-8 ip=192.168.3.11:172.17.8.35:192.168.3.1:255.255.255.0:PC11:eth0:none group=Aula_Ciencias ogrepo=172.17.8.35 ogcore=192.168.2.2 oglive=172.17.8.35 oglog=192.168.68.51 ogshare=172.17.8.35 ogprof=false hardprofile=default ogdns=192.168.3.1 vga=791 Detalle de los parámetros incluidos | Parámetro | Origen y función | |--------------------------|----------------------------------------------------------------------------------------------------------------------------------------| | ip= | Dirección IP del cliente junto con la configuración de red, en el formato:
`::::::` | | ├── client-ip | Dirección IP asignada al cliente | | ├── server-ip | Dirección IP del servidor ogboot (servidor TFTP/HTTP) | | ├── gateway | IP del router de la subred | | ├── netmask | Máscara de red | | ├── hostname | Nombre del cliente (PC11, por ejemplo) | | ├── device | Interfaz de red (ej. eth0) | | └── autoconf | Método de configuración IP (none, dhcp, etc.) | | oglivedir | Nombre del directorio ogLive que se va a utilizar | | ogcore | IP del servidor ogcore | | oglive | IP del servidor ogboot (donde están los oglives) | | ogrepo | IP del servidor de repositorios de imágenes | | oglog | IP del servidor oglog (logs centralizados) | | ogshare | Dirección IP para almacenamiento compartido | | group | Nombre de la Unidad Organizativa del cliente | | hardprofile | Perfil hardware del cliente (default si no tiene uno asignado) | | ogdns | IP del servidor DNS | | ogntp | IP del servidor NTP (si está definido) | | ogProxy | Dirección del proxy (si aplica) | | netiface | Interfaz de red (ej. eth0) | | LANG | Idioma (es_ES.UTF-8) | | vga=791 | Resolución de pantalla | | Otros parámetros comunes | `ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogtmpfs=15` |