Flusso di avvio

Il flusso di avvio consigliato per un dispositivo è descritto in questa pagina e illustrato nella Figura 1:

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 i metadati di protezione rollback sono stati impostati, l'avvio della versione precedente non è possibile a causa della protezione rollback.

Comunicare agli utenti lo stato di Avvio verificato

Dopo aver determinato lo stato di avvio di un dispositivo, comunicalo all'utente. Se il dispositivo non presenta problemi, procedi senza visualizzare nulla. I problemi di 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 il danneggiamento di dm-verity
  • ROSSO (nessun sistema operativo trovato): nessun sistema operativo valido trovato

Dispositivi BLOCCATI con radice di attendibilità personalizzata

Mostra una schermata GIALLA a ogni avvio se il dispositivo è BLOCCATO, è stata impostata una radice di attendibilità personalizzata e l'immagine è stata firmata con questa radice di attendibilità personalizzata. La schermata GIALLA 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* viene sostituito da *Premi il tasto di accensione per continuare* e la schermata non viene mai chiusa (il dispositivo potrebbe abbassare la luminosità o spegnere lo schermo per proteggerlo dalle bruciature). Se viene premuto di nuovo, la schermata viene chiusa e lo smartphone continua l'avvio.

Per hex-number, utilizza le prime otto cifre di sha256 della rappresentazione libavb della chiave pubblica utilizzata per la verifica, ad esempio d14a028c.

Suggested text:

Il dispositivo sta caricando un altro sistema operativo.

Visita questo link su un altro dispositivo:

g.co/ABH

Impronta del sistema operativo: hex-number

Premi il tasto di accensione per mettere in pausa

Esempio di schermata GIALLA
Figura 2. Esempio di schermata GIALLA.

Dispositivi SBLOCCATI

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 simili). Se viene premuto di nuovo, la schermata viene chiusa e lo smartphone continua l'avvio.

Per hex-number, utilizza le prime otto cifre di 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:

g.co/ABH

ID: hex-number

Premi il tasto di accensione per mettere in pausa.

Esempio di schermata ARANCIONE
Figura 3. Esempio di schermata ORANGE.

corruzione di dm-verity

Mostra una schermata ROSSA eio se viene trovata una versione valida di Android e il dispositivo è in modalità eio dm-verity. L'utente deve premere il 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 è affidabile e potrebbe non funzionare correttamente.

Visita questo link su un altro dispositivo:

g.co/ABH

Premi il tasto di accensione per continuare.

Esempio di schermata RED eio
Figura 4. Esempio di schermata RED eio.

Nessun sistema operativo valido trovato

Mostra una schermata ROSSA se non viene trovata alcuna versione valida di Android. Il dispositivo non può continuare l'avvio. 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.

Per hex-number, utilizza le prime otto cifre di 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:

g.co/ABH

ID: hex-number

Premi il tasto di accensione per spegnere.

Esempio di schermata RED
Figura 5. Esempio di schermata RED.

Conferma 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:

Sbloccando il bootloader, potrai installare software di 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 applicazioni installate.

Non è possibile garantire l'integrità del software con un sistema operativo personalizzato, pertanto i dati archiviati sullo smartphone mentre il bootloader è sbloccato potrebbero essere a rischio.

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 i tasti del volume per scegliere se sbloccare il bootloader, quindi il tasto di accensione per continuare.

Non sbloccare il bootloader e riavvia lo smartphone.

Sblocca il bootloader.

Esempio di schermata di conferma dello sblocco
Figura 6. Esempio di schermata di conferma dello sblocco.

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 potrai installare software del sistema operativo personalizzato su questo smartphone.

Per impedire l'accesso non autorizzato ai tuoi dati personali, il blocco del bootloader eliminerà anche tutti i dati personali sullo smartphone.

Premi i tasti del volume per scegliere se bloccare il bootloader, quindi il tasto di accensione per continuare.

Non bloccare il bootloader e riavvia lo smartphone.

Blocca il bootloader.

Schermata di avviso del dispositivo di conferma della chiusura
Figura 7. Schermata di avviso del dispositivo di conferma della chiusura.

Comunicare lo stato di Avvio verificato ad Android

Il bootloader comunica lo stato di avvio verificato ad Android tramite i parametri kernel-command o tramite bootconfig in Android 12 e versioni successive. Il bootloader imposta l'opzione androidboot.verifiedbootstate su uno dei seguenti valori:

  • green se il dispositivo è LOCKED e non viene utilizzata la radice di attendibilità impostabile dall'utente
  • yellow se il dispositivo è LOCKED e viene utilizzata la radice di attendibilità impostabile 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 Gestire gli errori di verifica.