Ep 1 – Ce este un bootloader?

By | oct. 31, 2012

In acest episod vom discuta despre bootloader. Din punct de vedere tehnic bootloader-ul este codul care se executa inainte ca sistemul de operare sa porneasca. O analogie in lumea PC pentru bootloader-ul din Android este BIOS-ul. Asemenea BIOS-ului in bootloader se gasesc instructiunile necesare sistemului de operare sa booteze.

Deoarece bootloader-ul porneste inaintea oricarui software din dispozitivele voastre aceste este foarte specific fiecarui procesor si fiecare placa de baza are propriul bootloader. Acesta este unul dintre motivele pentru care dispozitivele Android au ROM-uri custom diferite in functie de hardware-ul de care dispun.

Fiecare dispozitiv Android are un bootloader care trimite instructiuni kernel-ului sa booteze normal. Dar, avand in vedere ca Android este un sistem de operare open source si este disponibil pe configuratii hardware diferite, fiecare producator are propria versiune de bootloader specifica pentru mediul hardware propriu. La nivelul cel mai de baza, dispozitivul vostru Android este ca un hard disk pe care sunt cateva partitii. Pe una dintre aceste partitii se gasesc fisierele sistemului de operare Android, pe alta sunt stocate personale sau generate de aplicatiile folosite (acesta fiind motivul pentru care poti face un update de system fara a pierde datele) si altele cu roluri predefinite de sistem.

De multe ori se vorbeste despre un bootloader ca fiind blocat . Chiar si dispozitivele Nexus care sunt lansate de Google ca fiind developer-friendly vin cu un bootloader blocat.  Acestea sunt in general foarte simplu de deblocat prin rularea unei comezi cum ar fi “fastboot oem unlock”  insa majoritatea producatorilor prefera sa le blocheze sau chiar sa le cripteze. Acest lucru face deblocarea foarte dificila sau chiar imposibila (cum ar fi in cazul Motorola).

De ce este bootloader-ul blocat?

Desi Android este un sistem de operare Open Source producatorii vor sa se asigure ca doar versiunea dezvoltata de ei va rula pe un dispozitiv specific. Pentru a aplica acest concept producatorii blocheaza bootloader-ul. Cu un bootloader blocat este teoretic imposibil sa faceti flash la un ROM Custom iar o asemenea incercare va duce la pierderea garantiei si in general la un dispozitiv stricat. De aceea primul pas este sa deblocati bootloader-ul

De ce au producatorii o asemenea atitudine fata de bootloader? Unul dintre principalele motive este ca operatorii de telefonie si producatorii nu trebuie sa ofere suport tehnic pentru telefoane cu softul modificat. Un alt motiv este timpul si banii investiti in dezvoltarile proprii. Interfata HTC Sense nu este ieftina. Nici TouchWiz de la Samsung. Desi multa lume se plange de resursele pe care acestea le consuma si prefera o interfata Vanilla (interfata standard pentru Android de la Google cu care vin dispozitivele Nexus) acestia refuza sa dea ascultare nemultumirilor si dezvolta in continuare ceeea ce ei considera a fi un brand propriu si o imbunatatire adusa sistemului Android. Din fericire Sony,  HTC  si Samsung au gasit o cale de mijloc la presiunile comunitatii de utilizatori si dezvoltatori si au pus la dispozitie metode de deblocare pentru bootloader. Sony chiar pune la dispozitie dezvoltatorilor de ROM-uri custom telefoane inainte de a fi lansate oficial pentru a oferi clientilor alternative la softul dezvoltat de catre ei.

Un alt motiv pentru care producatorii sunt reticenti cand vine vorba de un bootloader deblocat sunt update-urile (sau mai bine spus limitarea lor). Odata vandut un dispozitiv Android nu mai aduce nici un profit pentru producator. Interesul acestuia este ca in cel mai scurt timp sa te determine sa achizitionezi un alt dispozitiv de la ei si tot asa. De aceea , in medie, majoritatea telefoanelor/tabletelor Android primesc 2 update-uri cand vine vorba de versiuni noi de Android.  Un bootloader deblocat inseamna posibilitatea de a avea ultima versiune de Android cu ajutorul unui ROM Custom dezvoltat de comunitate ceea ce afecteaza veniturile producatorului.