O fluxo de inicialização recomendado para um dispositivo é o seguinte:
Fluxo para dispositivos A/B
Se o dispositivo estiver usando A/B, o fluxo de inicialização será um pouco diferente. O slot para
a inicialização precisa ser marcada como SUCCESSFUL
usando a HAL de controle de inicialização antes de atualizar o
Metadados da proteção contra reversão.
Se houver falha em uma atualização da plataforma (não marcada
SUCCESSFUL
), a pilha A/B volta ao outro slot,
que ainda contém a versão anterior do Android. No entanto, se
se os metadados da proteção contra reversão tiverem sido configurados, a versão anterior não poderá
por causa da proteção contra reversão.
Como comunicar a Inicialização verificada o estado aos usuários
Depois de determinar o estado de inicialização de um dispositivo, é preciso comunicar que ao usuário. Se o dispositivo não tiver problemas, prossiga sem exibir nada. Os problemas de Inicialização verificada se enquadram nas seguintes categorias:
- AMARELO: tela de aviso para dispositivos BLOQUEADOS com a raiz de confiança personalizada definida
- LARANJA: tela de aviso para dispositivos DESBLOQUEADOS
- VERMELHO (eio): tela de aviso de corrupção de DM-verity
- VERMELHO (nenhum SO encontrado): nenhum SO válido foi encontrado
Dispositivos BLOQUEADOS com personalização raiz de confiança
Mostra uma tela AMARELO em cada inicialização se o dispositivo estiver BLOQUEADO, uma raiz personalizada de confiança foi definida e a imagem foi assinada com essa raiz de confiança personalizada. A tela AMARELO é dispensada após dez segundos e o dispositivo continua inicializando. Se o usuário pressionar o botão liga/desliga, a mensagem "Pressione o botão liga/desliga para pausar" o texto muda para "Pressione o botão liga/desliga para continuar" e a tela nunca fica dispensado (embora o dispositivo possa escurecer ou desligar a tela para proteção contra burn-in). Se pressionado de novo, a tela é dispensada e o smartphone continua inicializando.
Para o hex-number, use os primeiros oito dígitos do sha256 de
a representação libavb da chave pública usada para verificação, por exemplo
d14a028c
.
Texto sugerido:
Seu dispositivo carregou um sistema operacional diferente.
Acesse este link em outro dispositivo para saber mais:
g.co/ABH
ID: hex-number
Pressione o botão liga/desliga para pausar
Dispositivos DESBLOQUEADOS
Mostrar a tela LARANJA em cada inicialização se o dispositivo estiver DESBLOQUEADO. A tela LARANJA é dispensado após dez segundos e o dispositivo continua a inicialização. Se o usuário pressiona o botão liga/desliga, "Pressione o botão liga/desliga para pausar" o texto muda para "Pressione botão liga/desliga para continuar" e a tela nunca é dispensada (o dispositivo pode escurecer e/ou desligue a tela, se necessário, para proteção contra burn-in ou similar). Se pressionado novamente, a tela é dispensada e o telefone continua a inicialização.
Para o hex-number, use os primeiros oito dígitos do sha256 do libavb
representação da chave pública usada para verificação, por exemplo,
d14a028c
.
Texto sugerido:
O carregador de inicialização está desbloqueado e a integridade do software não pode ser garantida. Qualquer um os dados armazenados no dispositivo podem ficar disponíveis para invasores. Não armazenar nenhum dados confidenciais no dispositivo.
Acesse este link em outro dispositivo para saber mais:
g.co/ABH
ID: hex-number
Pressione o botão liga/desliga para pausar.
corrupção dm-verity
Mostra uma tela eio
VERMELHA se uma versão válida do Android for encontrada e
o dispositivo está no modo dm-verity eio
. O usuário precisa
para clicar no botão liga/desliga e continuar. Se o usuário não tiver confirmado a
tela de aviso em 30 segundos, o dispositivo é desligado (para proteger a tela
contra burn-in e economia de energia).
Texto sugerido:
Seu dispositivo está corrompido. Ele não é confiável e pode não funcionar corretamente.
Acesse este link em outro dispositivo para saber mais:
g.co/ABH
Pressione o botão liga/desliga para continuar.
Nenhum SO válido foi encontrado
Uma tela VERMELHA será mostrada se nenhuma versão válida do Android for encontrada. O não consegue continuar a inicialização. Se o usuário não tiver confirmado o aviso tela em 30 segundos, o dispositivo desliga para protegê-la contra com burn-in e economia de energia).
Para o hex-number, use os primeiros oito dígitos do sha256 de
a representação libavb da chave pública usada para verificação, por exemplo
d14a028c
.
Texto sugerido:
Nenhum sistema operacional válido foi encontrado. O dispositivo não inicializa.
Acesse este link em outro dispositivo para saber mais:
g.co/ABH
ID: hex-number
Pressione o botão liga/desliga para desligar.
Confirmação de desbloqueio
Mostre uma tela de confirmação de desbloqueio em resposta ao
Comando fastboot flashing unlock
sendo executado por meio do fastboot
interface gráfica do usuário. Inicialmente, o foco está em Não desbloquear. Se o usuário não
interagiu com a tela de aviso em 30 segundos, a tela desaparece e
o comando vai falhar.
Texto sugerido:
Se você desbloquear o carregador de inicialização, poderá instalar sistemas operacionais personalizados neste smartphone. Um SO personalizado não está sujeito ao mesmo nível de teste como o sistema operacional original e pode fazer com que seu telefone e os aplicativos instalados deixem de funcionar corretamente. A integridade do software não pode ser garantida OS. Assim, todos os dados armazenados no telefone enquanto o carregador de inicialização está desbloqueado podem ter risco.
Para impedir o acesso não autorizado aos seus dados pessoais, desbloqueie o carregador de inicialização também excluirá todos os dados pessoais no seu telefone.
Pressione as teclas de aumentar/diminuir volume para desbloquear o carregador de inicialização e, em seguida, o botão liga/desliga para continuar.
Desbloquear
Desbloqueie o carregador de inicialização.
Não desbloquear
Não desbloqueie o carregador de inicialização e reinicie o smartphone.
Confirmação do bloqueio
Mostre uma tela de confirmação de bloqueio em resposta ao comando fastboot flashing
lock
que está sendo executado pela interface fastboot. O foco é
inicialmente em Não bloquear. Se o usuário não tiver interagido com o
de aviso dentro de 30 segundos, a tela desaparecerá e o comando falhará.
Texto:
Se você bloquear o carregador de inicialização, não poderá instalar sistemas operacionais neste smartphone. Para impedir o acesso não autorizado aos seus dados, bloquear o carregador de inicialização também excluirá todos os dados pessoais do smartphone.
Pressione as teclas de aumentar/diminuir volume para selecionar se deseja bloquear o carregador de inicialização e, em seguida, o botão liga/desliga para continuar.
Bloquear
Bloquear o carregador de inicialização.
Não bloquear
Não bloqueie o carregador de inicialização e reinicie o smartphone.
Comunicação verificada Estado de inicialização para o Android
O carregador de inicialização comunica o estado da Inicialização verificada ao Android por meio de
kernel-command ou pelo bootconfig do Android 12 em diante.
Ele define a opção androidboot.verifiedbootstate
como um dos seguintes valores:
green
: se o dispositivo éLOCKED
e pode ser configurado pelo usuário a raiz de confiança não é usadayellow
: se o dispositivo éLOCKED
e pode ser configurado pelo usuário a raiz de confiança é usada.orange
: se o dispositivo forUNLOCKED
A opção androidboot.veritymode
é definida como eio
ou
restart
, dependendo do estado do carregador de inicialização
para lidar com erros dm-verity. Para mais detalhes, consulte Como lidar com
erros de verificação.