Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Sistema duplo A/B e troca de partições

O sistema duplo A/B é central à confiabilidade do JelinaOS. Kernel e sistema mantêm duas cópias completas: uma executa, enquanto a outra recebe as atualizações. Esta página explica as operações cotidianas relacionadas a esse mecanismo.

Terminal window
jelina-info

Na saída, confira a partição atual, A ou B, e a integridade do sistema. O dispositivo executa uma cópia enquanto a outra permanece como reserva.

System A em execução
│
▼ Gravar atualização no System B
▼ Alternar automaticamente para B após reiniciar
▼ Verificação de inicialização aprovada → Continuar em B
│
▼ Falha de verificação → Retornar automaticamente a A, sem afetar a operação
  • O sistema realiza a troca automaticamente, sem intervenção.
  • As duas cópias servem de backup uma para a outra e permanecem no estado de fábrica.
  • As gravações do usuário vão para a partição de dados e não dependem da troca.
  1. Inicie pela função de atualização do sistema.
  2. A atualização é gravada na reserva enquanto o dispositivo continua operando.
  3. Após reiniciar, o sistema troca para a nova cópia e a valida.

Se a nova versão apresentar problemas:

  1. Use o mecanismo de atualização para selecionar a versão anterior.
  2. O sistema retorna à partição original e a valida.
  3. O dispositivo retoma a operação normal.

Também é possível reverter manualmente pelo serviço de rollback. A reversão de root/kernel entra em vigor após reiniciar; a da área de aplicações tem efeito imediato:

Terminal window
systemctl restart jelina-rollback@root # Reverte a partição do sistema, com efeito após reiniciar
systemctl restart jelina-rollback@kernel # Reverte a partição do kernel, com efeito após reiniciar
systemctl restart jelina-rollback@app # Reverte a área de aplicações, com efeito imediato
systemctl restart jelina-rollback@adv # Reverte a área de componentes, com efeito imediato

Antes de reverter, o sistema verifica se as montagens reais correspondem à configuração, evitando operações repetidas.

Contador de inicialização e recuperação gradual

Seção intitulada “Contador de inicialização e recuperação gradual”

O contador de inicialização, bootcount, acompanha os resultados dos boots para acionar a recuperação em etapas:

  • O contador aumenta a cada tentativa e é zerado após uma inicialização normal bem-sucedida.
  • Se houver falha, como travamento, falta de energia ou reinício pelo watchdog, a contagem continua acumulando.
  • Após falhas consecutivas, o sistema entra em recuperação: primeiro tenta recuperar o boot; se não funcionar, reverte em sequência as partições do sistema e do kernel.
  • Após recuperar e iniciar normalmente, o contador volta a zero.

O mecanismo evita que o dispositivo fique preso em um ciclo de reinicializações por atualização ou falha e permite retornar automaticamente a um estado utilizável.

Em cada boot, o sistema verifica a partição atual:

  • Validação aprovada: inicia normalmente.
  • Validação reprovada: tenta automaticamente a outra cópia para alcançar um estado utilizável.

Isso permite iniciar e recuperar o dispositivo de forma confiável, especialmente em locais sem supervisão.

Como saber qual partição está em execução? Execute jelina-info para consultar a partição de inicialização.

O conteúdo das duas partições é sincronizado? Não. Cada cópia mantém o estado de fábrica. Os dados do usuário ficam na partição de dados, e o mecanismo de atualização gerencia a relação entre as versões.

Posso escolher manualmente a partição de inicialização? No uso cotidiano, a gestão é automática. Em manutenção especial, use os recursos de controle de boot da plataforma. A Rockchip oferece a ferramenta jelina-rk-bootctl; consulte sua ajuda para o uso específico.