Objetivo
Fazer do TIBS a interface gráfica ativa durante a inicialização do userspace, mostrando quais serviços ainda estão a iniciar e impedindo a transição prematura para OOBE/login.
Ordem de boot
- O init de segundo estágio inicia Shift e TIBS.
- TIBS autentica-se no Shift e apresenta imediatamente o ecrã de boot.
- O init inicia os restantes serviços segundo o grafo de dependências.
- Cada serviço publica transições de estado no coordenador de boot.
- TIBS atualiza a barra e a lista de estado.
- Quando os serviços obrigatórios ficam prontos, TIBS muda para OOBE ou login.
Contrato de estado
pending: ainda não iniciado;
starting: inicialização em curso;
ready: serviço localmente utilizável;
degraded: utilizável com funcionalidade limitada;
failed: falhou após a política de recuperação;
- progresso opcional dentro de
starting, sem inventar percentagens quando o serviço não as consegue medir.
Cada atualização inclui identificador estável do serviço, nome para apresentação, estado, detalhe sanitizado e monotonic sequence para rejeitar eventos antigos.
Política
- A barra representa progresso real dos serviços, não um temporizador ou animação artificial.
- Serviços obrigatórios bloqueiam a transição; serviços opcionais não bloqueiam e podem aparecer como degradados.
- Timeouts e falhas seguem uma política explícita por serviço.
- Conectividade externa não equivale à prontidão local do serviço de rede e não bloqueia login.
- Mensagens expostas pelo TIBS não revelam credenciais, tokens ou detalhes sensíveis.
Critérios de aceitação
- TIBS aparece antes de os serviços permanentes começarem a inicializar.
- A interface mostra serviço atual, progresso agregado e falhas relevantes.
- Eventos duplicados ou fora de ordem não fazem o progresso recuar.
- O login só aparece depois de todos os serviços obrigatórios atingirem um estado permitido.
- O sistema consegue chegar ao login offline quando os serviços locais estão prontos.
- Reinício de um serviço durante o boot é refletido sem reiniciar TIBS.
Objetivo
Fazer do TIBS a interface gráfica ativa durante a inicialização do userspace, mostrando quais serviços ainda estão a iniciar e impedindo a transição prematura para OOBE/login.
Ordem de boot
Contrato de estado
pending: ainda não iniciado;starting: inicialização em curso;ready: serviço localmente utilizável;degraded: utilizável com funcionalidade limitada;failed: falhou após a política de recuperação;starting, sem inventar percentagens quando o serviço não as consegue medir.Cada atualização inclui identificador estável do serviço, nome para apresentação, estado, detalhe sanitizado e monotonic sequence para rejeitar eventos antigos.
Política
Critérios de aceitação