Flusso di avvio

Il flusso di avvio consigliato per un dispositivo è il seguente:

Flusso di Avvio verificato

Figura 1. Flusso di Avvio verificato.

Flusso per i dispositivi A/B

Se il dispositivo utilizza A/B, il flusso di avvio è leggermente diverso. Lo slot da avviare deve prima essere contrassegnato come SUCCESSFUL utilizzando l'HAL di controllo dell'avvio prima di aggiornare i metadati di protezione dal rollback.

Se un aggiornamento della piattaforma non va a buon fine (non è contrassegnato SUCCESSFUL), lo stack A/B torna all'altro slot, che contiene ancora la versione precedente di Android. Tuttavia, se sono stati impostati i metadati di Protezione rollback, la versione precedente non può essere avviata a causa della Protezione rollback.

Comunicare agli utenti lo stato di Avvio verificato

Dopo aver determinato lo stato di avvio di un dispositivo, devi comunicarlo all'utente. Se il dispositivo non presenta problemi, procedi senza visualizzare nulla. I problemi relativi all'avvio verificato rientrano nelle seguenti categorie:

  • GIALLO: schermata di avviso per i dispositivi BLOCCATI con radice di attendibilità personalizzata impostata
  • ARANCIONE: schermata di avviso per i dispositivi SBLOCCATI
  • ROSSO (eio): schermata di avviso per danneggiamento di dm-verity
  • ROSSO (nessun sistema operativo trovato): nessun sistema operativo valido trovato

Dispositivi BLOCCATI con radice di attendibilità personalizzata

Schermata di avviso giallo del dispositivo
Figura 2: esempio di schermata gialla

Mostra una schermata GIALLA a ogni avvio se il dispositivo è BLOCCATO, è stata impostata una root di attendibilità personalizzata e l'immagine è stata firmata con questa root di attendibilità personalizzata. La schermata GIALLA viene chiusa dopo dieci secondi e il dispositivo continua l'avvio. Se l'utente preme il pulsante di accensione, il testo "Premi il pulsante di accensione per mettere in pausa" viene sostituito da "Premi il pulsante di accensione per continuare" e lo schermo non viene mai chiuso (anche se il dispositivo potrebbe oscurare o spegnere lo schermo per proteggerlo dal burn-in). Se viene premuto di nuovo, la schermata viene chiusa e lo smartphone continua l'avvio.

Per hex-number, utilizza le prime 8 cifre dell'hash sha256 della rappresentazione libavb della chiave pubblica utilizzata per la verifica, ad esempio d14a028c.

Suggested text:

Sul dispositivo è stato caricato un altro sistema operativo.

Visita questo link su un altro dispositivo per scoprire di più:

g.co/ABH

ID: hex-number

Premi il tasto di accensione per mettere in pausa

Dispositivi SBLOCCATI

Schermata di avviso arancione del dispositivo
Figura 3: esempio di schermata arancione

Mostra una schermata ARANCIONE a ogni avvio se il dispositivo è SBLOCCATO. La schermata ARANCIONE viene chiusa dopo dieci secondi e il dispositivo continua l'avvio. Se l'utente preme il tasto di accensione, il testo "Premi il tasto di accensione per mettere in pausa" cambia in "Premi il tasto di accensione per continuare" e la schermata non viene mai chiusa (il dispositivo potrebbe oscurare e/o spegnere lo schermo se necessario per proteggerlo da burn-in o problemi simili). Se premuto di nuovo, la schermata viene chiusa e lo smartphone continua l'avvio.

Per hex-number, utilizza le prime 8 cifre dell'hash SHA256 della rappresentazione libavb della chiave pubblica utilizzata per la verifica, ad esempio d14a028c.

Suggested text:

Il bootloader è sbloccato e non è possibile garantire l'integrità del software. Tutti i dati memorizzati sul dispositivo potrebbero essere disponibili a eventuali malintenzionati. Non archiviare dati sensibili sul dispositivo.

Visita questo link su un altro dispositivo per scoprire di più:

g.co/ABH

ID: hex-number

Premi il tasto di accensione per mettere in pausa.

corruzione di dm-verity

Schermata di avviso rosso del dispositivo EIO
Figura 4: esempio di schermata di errore di input rosso

Mostra una schermata ROSSA eio se viene trovata una versione valida di Android e il dispositivo è attualmente in modalità eio dm-verity. L'utente deve fare clic sul tasto di accensione per continuare. Se l'utente non ha confermato la schermata di avviso entro 30 secondi, il dispositivo si spegne (per proteggere lo schermo dal burn-in e risparmiare energia).

Suggested text:

Il dispositivo è danneggiato. Non è attendibile e potrebbe non funzionare correttamente.

Visita questo link su un altro dispositivo per scoprire di più:

g.co/ABH

Premi il tasto di accensione per continuare.

Nessun sistema operativo valido trovato

Schermata di avviso rosso per dispositivo corrotto
Figura 5: esempio di schermata rossa

Viene visualizzata una schermata ROSSA se non è possibile trovare una versione valida di Android. Il dispositivo non può continuare l'avvio. Se l'utente non conferma la schermata di avviso entro 30 secondi, il dispositivo si spegne per proteggere lo schermo dal burn-in e risparmiare energia.

Per hex-number, utilizza le prime 8 cifre dell'hash sha256 della rappresentazione libavb della chiave pubblica utilizzata per la verifica, ad esempio d14a028c.

Suggested text:

Non è stato possibile trovare un sistema operativo valido. Il dispositivo non si avvia.

Visita questo link su un altro dispositivo per scoprire di più:

g.co/ABH

ID: hex-number

Premi il tasto di accensione per spegnere.

Conferma sblocco

Schermata di avviso SBLOCCA dispositivo
Figura 6: esempio di schermata di conferma dello sblocco

Mostra una schermata di conferma dello sblocco in risposta all'esecuzione del comando fastboot flashing unlock tramite l'interfaccia fastboot. All'inizio, lo stato attivo di selezione è impostato su Non sbloccare. Se l'utente non interagisce con la schermata di avviso entro 30 secondi, la schermata scompare e il comando non va a buon fine.

Suggested text:

Se sblocchi il bootloader, puoi installare software del sistema operativo personalizzato su questo smartphone. Un sistema operativo personalizzato non è soggetto allo stesso livello di test del sistema operativo originale e può causare il malfunzionamento dello smartphone e delle app installate. Non è possibile garantire l'integrità del software con un sistema operativo personalizzato, pertanto i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato.

Per impedire l'accesso non autorizzato ai tuoi dati personali, lo sblocco del bootloader comporta anche l'eliminazione di tutti i dati personali sullo smartphone.

Premi il tasto Alza il volume/Abbassa il volume per selezionare se sbloccare il bootloader, quindi il tasto di accensione per continuare.

Sblocca

Sblocca il bootloader.

Non sbloccare

Non sbloccare il bootloader e riavviare lo smartphone.

Conferma chiusura

Mostra una schermata di conferma del blocco in risposta all'esecuzione del comando fastboot flashing lock tramite l'interfaccia fastboot. Il focus è inizialmente su Non bloccare. Se l'utente non interagisce con la schermata di avviso entro 30 secondi, la schermata scompare e il comando non viene eseguito.

Text:

Se blocchi il bootloader, non puoi installare software del sistema operativo personalizzato su questo smartphone. Per impedire l'accesso non autorizzato ai tuoi dati personali, il blocco del bootloader elimina anche tutti i dati personali sullo smartphone.

Premi il tasto Alza il volume/Abbassa il volume per selezionare se bloccare il bootloader, quindi il tasto di accensione per continuare.

Blocca

Blocca bootloader.

Non chiudere

Non bloccare il bootloader e riavvia lo smartphone.

Comunicare lo stato di Avvio verificato ad Android

Schermata di avviso del dispositivo di conferma CHIUSURA
Figura 7: schermata di avviso del dispositivo di conferma del blocco

Il bootloader comunica lo stato dell'Avvio verificato ad Android tramite i parametri del comando del kernel o tramite bootconfig a partire da Android 12. Imposta l'opzione androidboot.verifiedbootstate su uno dei seguenti valori:

  • green: se il dispositivo è LOCKED e la radice di attendibilità impostabile dall'utente non viene utilizzata
  • yellow: se il dispositivo è LOCKED e la radice di attendibilità è configurabile dall'utente
  • orange: se il dispositivo è UNLOCKED

L'opzione androidboot.veritymode è impostata su eio o restart a seconda dello stato del bootloader rispetto alla gestione degli errori dm-verity. Per maggiori dettagli, vedi Gestione degli errori di verifica.