refs #2072 Adds boot templates and pxe bootfile to ogboot documnetation

pull/2/head
Luis Gerardo Romero Garcia 2025-05-28 07:53:03 +02:00 committed by arantuna
parent fd06d96f92
commit 453b1446eb
8 changed files with 125 additions and 27 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 156 KiB

View File

@ -1,5 +1,5 @@
# 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.
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:
@ -7,12 +7,12 @@ Entre sus principales características se encuentran:
- Generar instrucciones de arranque personalizadas por cliente, mediante plantillas reutilizables.
- Exponer archivos como ogvmlinuz y oginitrd.img por HTTP para el arranque de clientes.
- Exponer archivos de oglive (kernel e imagen de inicialización) 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.
La arquitectura de arranque se determina tanto por los parámetros de las configuración de los clientes, los parámetros heredados por su Unidad Organizativa a la que pertenecen y por la detección que realiza el servidor DHCP (ogDHCP) en función de la arquitectura del cliente.
Estado del módulo ogboot
## 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.
@ -44,9 +44,9 @@ Cada entrada muestra:
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.
!!! 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.
@ -54,44 +54,40 @@ Acciones: ver detalles, eliminar, o cambiar la imagen por defecto
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.
1. 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".
2. Se abrirá una ventana con una lista desplegable de las imágenes disponibles pero aún no registradas en la interfaz. Selecciona uno de los Oglives disponibles 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".
3.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
4. 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.
5. 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.
!!! 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.
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")
![oggui-boot-plantillas_pxe.png](../../assets/images/screenshots/oggui-boot-plantillas_pxe.png "oggui-boot-plantillas_pxe.png")
En esta vista se muestra:
@ -160,15 +156,14 @@ boot
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.
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 a la que pertenece.
#### 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
- 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
- Detalle de los parámetros incluidos
| Parámetro | Origen y función |
|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
@ -194,4 +189,107 @@ Detalle de los parámetros incluidos
| 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` |
| Otros parámetros comunes | `ro boot=oginit quiet splash irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogtmpfs=15` |
### Crear una nueva plantilla PXE
El módulo ogboot permite añadir nuevas plantillas PXE desde la interfaz gráfica, ya sea partiendo de cero o usando uno de los modelos predefinidos.
1. Para añadir una nueva plantilla:
2. Accede al menú lateral Plantillas PXE
3. Pulsa "Añadir plantilla"
4. Rellena el formulario que se abrirá
![oggui-boot-plantillas_pxe-anadir.png](../../assets/images/screenshots/oggui-boot-plantillas_pxe-anadir.png "oggui-boot-plantillas_pxe-anadir.png")
#### Plantillas modelo
La interfaz permite cargar un modelo base pulsando el botón "Cargar plantilla modelo", que insertará en el editor uno de los dos modelos disponibles:
- Modelo ogLive (arranque por red HTTP o TFTP)
Este modelo está pensado para arrancar ogLive desde un servidor HTTP o TFTP. Utiliza las variables __SERVERIP__, __OGLIVE__ y __INFOHOST__, que serán sustituidas automáticamente por ogboot al generar el fichero personalizado.
```
#!ipxe
set timeout 0
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
set ISODIR ogLive
kernel http://__SERVERIP__/tftpboot/${ISODIR}/ogvmlinuz ${kernelargs}
initrd http://__SERVERIP__/tftpboot/${ISODIR}/oginitrd.img
boot
```
- Modelo arranque por disco
Este segundo modelo detecta si el sistema se encuentra en modo BIOS o UEFI y arranca desde el primer disco disponible, utilizando grub.exe o grubx64.efi.
```
#!ipxe
iseq ${platform} efi && goto uefi_boot || goto bios_boot
:bios_boot
echo "Running in BIOS mode - Booting first disk"
chain http://__SERVERIP__/tftpboot/grub.exe --config-file="title FirstHardDisk;chainloader (hd0)+1;rootnoverify (hd0);boot" || echo "Failed to boot in BIOS mode"
exit
:uefi_boot
echo "Running in UEFI mode - Booting first disk"
sanboot --no-describe --drive 0 --filename \EFI\grub\Boot\grubx64.efi || echo "Failed to boot in UEFI mode"
exit
```
!!! note nota
Estos modelos son editables y sirven como base para definir otras variantes más complejas (por ejemplo, arranque por partición concreta o modos de recuperación).
### Consultar el contenido de una plantilla
Haz clic en el icono del ojo para ver el contenido completo de una plantilla PXE.
![oggui-boot-plantillas_pxe-detalles.png](../../assets/images/screenshots/oggui-boot-plantillas_pxe-detalles.png "oggui-boot-plantillas_pxe-detalles.png")
### Editar una plantilla existente
Haz clic en el icono del lápiz para editar el nombre o el contenido de la plantilla. Se abrirá el editor con el contenido actual precargado.
![oggui-boot-administrar-install-oglive-editar](../../assets/images/screenshots/oggui-boot-plantillas_pxe-editar.png "oggui-boot-administrar-install-oglive-editar")
### Eliminar una plantilla
Haz clic en el icono de la papelera y confirma la eliminación para borrar la plantilla del sistema.
![oggui-boot-plantillas_pxe-borrar.png](../../assets/images/screenshots/oggui-boot-plantillas_pxe-borrar.png "oggui-boot-plantillas_pxe-borrar.png")
## Plantillas por cliente (Boot PXE)
Cada cliente puede tener asignado un fichero de arranque específico basado en una plantilla. Estos archivos tienen el nombre 01-<MAC> y se almacenan en /opt/opengnsys/ogboot/tftpboot/ipxe_scripts/.
![oggui-boot-bootfile_pxe.png](../../assets/images/screenshots/oggui-boot-bootfile_pxe.png "oggui-boot-bootfile_pxe.png")
### Asignar plantilla a un cliente
Desde el menú lateral, accede a Arranque PXE, donde podrás ver todos los clientes de una Unidad Organizativa (por ejemplo, "Aula Ciencias"):
1. Selecciona una plantilla para cada cliente desde la columna Plantilla.
También puedes aplicar una plantilla a todos los clientes usando el desplegable superior.
2. Haz clic en Guardar para generar los ficheros de arranque correspondientes.
![oggui-boot-bootfile_pxe-anadir.png](../../assets/images/screenshots/oggui-boot-bootfile_pxe-anadir.png "oggui-boot-bootfile_pxe-anadir.png")
Estos archivos se crean con nombre 01-<MAC> (por ejemplo, 01-00:11:22:33:44:55) y se almacenan en:
```
/opt/opengnsys/ogboot/tftpboot/ipxe_scripts/
```
El contenido del fichero generado será una copia de la plantilla correspondiente con las variables sustituidas por los valores concretos del cliente: dirección IP, ogLive, ogcore, etc.