sabato 23 novembre 2013

[Android] Bootloader status: locked, unlocked...relocked.

In questo breve articolo voglio illustrarvi rapidamente quelli che potrebbero essere gli "stati raggiungibili" dal vostro bootloader.

Come già discusso nell'articolo "Sbloccare il bootloader, sì o no?", lo sblocco del bootloader risulta pressoché indispensabile a chi volesse affacciarsi al mondo del modding dei telefoni cellulari, in particolare al modding del sistema operativo presente in essi.
C'è un modo per sapere in qualunque momento se il proprio bootloader è bloccato o meno? O solo i guru dell'informatica riescono ad estrapolare tale informazione dal sistema? 
Il modo esiste eccome! Lo status del bootloader in fin dei conti non è poi così nascosto, infatti basterà una semplice azione per ottenere la risposta cercata: avviare il proprio telefono in modalità Fastboot o HBoot (HTC boot). Cos'è la modalità fastboot/HBoot? Senza scendere troppo nei dettagli, essa non è altro che un'interfaccia progettata per "gestire" il bootloader del terminale in questione, alla quale si può accedere accendendo il telefono con una particolare combinazione di tasti (combinazione che varia a seconda del modello di telefono che avete). Tale interfaccia, in realtà, permette di fare ben poco, se non nulla, dal dispositivo (spegnere il device, riavviarlo, riavviare il bootloader, avviare in modalità recovery). Grazie ad essa tuttavia, il dispositivo viene mantenuto in una sorta di limbo, in cui nessun sistema operativo è ancora stato avviato, al quale ci si può interfacciare tramite USB sfruttando, da terminale, l'omonimo tool "Fastboot" (grazie al quale sarà poi possibile avviare operazioni "di base" come il flash di file immagine, reboot vari, cancellazione di partizioni e file e altro ancora [a breve una rapida guida sul Fastboot]).
Detto ciò, quello che interessa a noi non è nient'altro che la voce "bootloader status" che troviamo generalmente in basso a sinistra nella schermata di fastboot. Vediamo cosa possiamo trovarci davanti.

Bootloader status: LOCKED
Banalmente questo è lo stato "di fabbrica" del vostro bootloader, in questa situazione non è ancora possibile avere accesso alle partizioni di sistema e procedere a qualunque tipo di personalizzazione. Questa condizione permette al vostro telefono di godere al 100% della garanzia del prodotto, ovviamente nel caso in cui essa sia ancora valida.

Bootloader status: UNLOCKED
Per giungere a tale "stato", qualsiasi tool usiate, sarà necessario un wipe completo del telefono (essenzialmente per motivi di sicurezza). In questa condizione potrete finalmente "fare tutto ciò che volete", chiaramente a vostro rischio e pericolo. Potrete ad esempio interfacciarvi al vostro telefono tramite fastboot e da li eseguire ogni sorta di comando a vostra disposizione, in particolare flashare software di terze parti nella memoria NAND dedicata al sistema.

Fino a qui tutto "nella norma", abbastanza prevedibile e semplice da concretizzare. La situazione descritta finora è di fatto quella che, grossomodo, presentano tutti i device. Chiaramente esiste sempre l'eccezione che conferma la regola! HTC. Perché HTC? I possessori di telefoni HTC si saranno sicuramente accorti che quella che viene avviata tramite l'apposita combinazione di tasti fisici di cui si parlava poco sopra, non è la classica Fastboot mode, ma bensì una "sorella" che prende il nome di HBoot, acronimo di HTCBoot. Si tratta di fatto di un' interfaccia proprietaria per gestire il bootloader. Qual è la differenza sostanziale tra HBoot e Fastboot? Hboot, in un certo senso, tiene "traccia" degli stati che il bootloader ha assunto durante il corso di utilizzo del device, a differenza della fastboot mode. Da un bel po' di tempo a questa parte il tutto è gestito da HTC, ossia, per sbloccare il bootloader di un telefono HTC, bisogna passare per la piattaforma online "HTCdev" gestita proprio da HTC stessa. Tramite HTCdev ci verrà fornito tutto il necessario per poter sbloccare il bootloader del nostro specifico telefono (di fatto un file creato univocamente per il vostro dispositivo, da flashare nel telefono). Ad operazione completata, tornare indietro non sarà banale, o per lo meno non semplice ed immediato come può esserlo nel caso di molti altri terminali, primi fra tutti quelli della gamma Nexus. Perché non sarà banale? Semplicemente perché andando a bloccare nuovamente il bootloader sfruttando i soliti tool, la situazione che ci si presenterà davanti sarà la seguente:

Bootloader status: RE-LOCKED:
Come potete ben vedere questo nuovo stato lascia trasparire l'informazione che, molto probabilmente, si voleva celare andando a ribloccare il bootloader, ossia proprio il fatto che il bootloader è stato in precedenza sbloccato. Per quanto le funzionalità del bootloader non cambino tra status LOCKED e status RE-LOCKED, cambiano invece le cose sotto l'aspetto commerciale del prodotto, che da questo punto di vista potrebbe vedersi invalidata la relativa garanzia (in realtà quasi tutti i contratti di garanzia coprono anche modifiche al terminale, tra cui lo sblocco del bootloader, il problema è chi vi trovate davanti al momento della consegna del terminale da dare in assistenza; molte volte vi sentirete dire: "Il bootloader è stato sbloccato, il dispositivo è stato sottoposto a modifiche non previste dalla casa produttrice e può essersi danneggiato a causa di instabilità introdotte proprio dalle modifiche apportate" e ciao garanzia). 
Nulla è tuttavia impossibile, infatti qualora vi trovaste in questa situazione, è comunque possibile passare dallo stato re-locked allo stato locked con un po' di lavoro "extra", o nel caso abbiate conservato le informazioni fornitevi da HTCdev, procedendo nuovamente allo sblocco tramite "unlockToken"(prossimamente una guida sullo sblocco del bootloader dei terminali HTC).

Nessun commento:

Posta un commento