Ir al contenido
JelinaJelina DocumentationDocumentación técnica
Volver al sitio oficial

Sistema dual A/B y conmutación

El sistema dual A/B es el mecanismo central de fiabilidad de JelinaOS. El kernel y el sistema conservan dos copias completas; se ejecuta una mientras las actualizaciones se escriben en la otra. Esta página presenta las operaciones habituales relacionadas con ambas copias.

Terminal window
jelina-info

Consulta en la salida la partición actual, A o B, y el estado del sistema. El dispositivo siempre ejecuta una copia mientras la otra actúa como respaldo.

Sistema A en ejecución
│
▼ Escribir actualización en Sistema B
▼ Cambiar automáticamente a B tras reiniciar
▼ Verificación correcta → Seguir ejecutando B
│
▼ Verificación fallida → Revertir automáticamente a A sin afectar al servicio
  • El sistema realiza la conmutación automáticamente, sin intervención manual;
  • Las dos copias se respaldan mutuamente y mantienen el estado de fábrica;
  • Todas las escrituras del usuario durante el funcionamiento se guardan en la partición de datos, independientemente de la conmutación.
  1. Inicia la actualización mediante Actualizaciones del sistema;
  2. La actualización se escribe en la partición de respaldo mientras el dispositivo sigue funcionando;
  3. Tras el reinicio, se cambia automáticamente al nuevo sistema y se valida.

Si la nueva versión presenta problemas y necesitas volver a la anterior:

  1. Selecciona la versión anterior mediante el mecanismo de actualización;
  2. El sistema vuelve a la partición original y la valida;
  3. El dispositivo recupera el funcionamiento normal.

También puedes realizar una reversión manual mediante los servicios del sistema. La reversión de root y kernel se aplica después de reiniciar; la del área de aplicaciones se aplica inmediatamente:

Terminal window
systemctl restart jelina-rollback@root # Revertir la partición del sistema; se aplica tras reiniciar
systemctl restart jelina-rollback@kernel # Revertir la partición del kernel; se aplica tras reiniciar
systemctl restart jelina-rollback@app # Revertir el área de aplicaciones; efecto inmediato
systemctl restart jelina-rollback@adv # Revertir el área de componentes; efecto inmediato

Antes de revertir, el sistema comprueba que los montajes reales coincidan con la configuración para evitar operaciones duplicadas.

Contador de arranques y recuperación escalonada

Sección titulada «Contador de arranques y recuperación escalonada»

El sistema utiliza el contador de arranques (bootcount) para seguir el estado de inicio y aplicar recuperación automática por etapas:

  • El contador aumenta en cada arranque y se pone a cero cuando el sistema inicia correctamente;
  • Si el arranque falla por una caída, un corte de alimentación o un reinicio del watchdog, el contador sigue aumentando;
  • Tras varios fallos consecutivos, se inicia la recuperación: primero se intenta recuperar el arranque y, si falla, se revierten sucesivamente las particiones del sistema y del kernel;
  • Cuando la recuperación tiene éxito, se restablece el arranque normal y el contador vuelve a cero.

Este mecanismo garantiza que el dispositivo no quede atrapado en un ciclo de reinicios, ya sea por una actualización o por un fallo, y pueda recuperar automáticamente un estado utilizable.

En cada arranque se valida la partición actual:

  • Validación correcta: el sistema arranca normalmente;
  • Validación fallida: se intenta automáticamente la otra copia para garantizar un estado operativo.

Esto permite que el dispositivo funcione al encenderse y se recupere ante daños, una garantía de fiabilidad para instalaciones desatendidas.

¿Cómo sé qué partición se está ejecutando? Ejecuta jelina-info y consulta la información de la partición de arranque.

¿Se sincroniza el contenido de las dos particiones? No. Cada copia conserva su estado de fábrica. Los datos de usuario se almacenan en la partición de datos y la relación entre versiones se administra mediante el mecanismo de actualización.

¿Puedo seleccionar manualmente la partición de arranque? No es necesario en el uso habitual, ya que el sistema la administra automáticamente. Para mantenimiento especial, utiliza las funciones de control de arranque de la plataforma. Rockchip ofrece jelina-rk-bootctl; consulta la ayuda del comando para conocer su uso.