**This is an old revision of the document!**
Osvobajanje telefona
Sezono “hands-on” praktičnih druženj za izmenjavo spretnosti, izkušenj in idej oz. takozvanih sodelovalnic bomo otvorili z deguglifikacijo / osvobajanjem mobilnih telefonov.
Privzeto dobimo telefone z veliko nepotrebne vohunske programske opreme, ki nas s prelisičenjem sprejetja pogojev uporabe postavijo na podatkovni trg, pod drobnogled obveščevalnih agencij ali ljubosumnih (bivših) partnerjev, pa še kaj.
Temu ne rabi biti tako, zato bomo raziskali načine kako se vohunski programski opremi izognemo in varno (brez izgube podatkov ali ostalih nevšečnosti) namestimo operacijski sistem brez nje oz. z vzvodi za boljši nadzor nad njimi, z morebitno oporo na storitve Kompota.
V mislih imamo predvsem android telefone, dobrodošle pa so tudi izkušnje z drugimi modeli.
Zakaj?
Privzeto je na android telefonih prisotnih ogromno aplikacij / funkcionalnost, ki jih ne potrebujemo. Nabor je odvisen od proizvajalca ter modela telefona. Vse odvečne aplikacije pošiljajo podatke, črpajo baterijo, so nadležne in tako dalje. Po drugi strani proizvajalci čez nekaj časa nehajo vzdrževati android in se lahko zgodi, da določene aplikacije na telefonu (več) ne delujejo. Tudi temu se lahko izognemo z namestitvijo drugega sistema.
Skratka:
- daljše trajanje baterije
- prekinitev odtekanja podatkov na trg
- večji nadzor nad napravo
Možnosti
Namestimo lahko kakšo drugo verzijo Android sistema (opcije najdemo na forumu XDA Developers, preko iskalnika za model telefona), z google apliakcijami ali brez. Dva vredu razširjena primera sta LineageOS ter /e/.
Možna pa je tudi namestitev kakšnega tretjega sistema, kot so na primer postmarketOS, ubports ali Sailfish. Pri vsakem je seveda potrebno preveriti ali je model telefona podprt, ponavadi je lažje najti zgolj drugo android varjanto, pa še to ni nujno. Več o podobnostih in razlikah med sistemih najdemo tukaj.
Pri iskanju informacij o specifičnem modelu telefona se najpogosteje uporablja kodno ime modela kot ključno besedo.
Dober seznam kodnih imen se nahaja na LineageOS Wiki seznamu uradno podprtih naprav.
Postopek namestitve
POZOR
Postopati je potrebno počasi ter previdno, sicer lahko telefon neha delovati (se “bricka”, postane utež za papir). Tudi zato je pomembno narediti varnostno kopijo, prav tako ni slabo imeti pri sebi kak drug telefon ali vsaj drugo delujočo, povezano napravo.
Zelo dobro si je pogledat, s katerimi kombinacijami gumbov dostopamo do katerih sistemskih vmesnikov telefona. Te kombinacije se razlikujejo tako med proizvajalci kot med različnimi modeli telefonov od istega proizvajalca.
Ena od splošno sprejetih konvencij je, da držanje gumba za vlkop (power button) nekje med 10 in 20 sekund popolnoma prekine napajanje.
To nam omogoča, da na telefonu ponovno poženemo sistem od začetka, namesto da ga samo prebudimo iz spanja.
Namestimo "adb" (android debugger)
$ apt install adb $ adb --version Android Debug Bridge version 1.0.41 Version 28.0.2-debian Installed as /usr/lib/android-sdk/platform-tools/adb
Omogočimo razvijalski način na telefonu
Gremo v nastavitve in najdemo “build number” (številka gradnje, MIUI version, kaj drugega). Nahaja se blizu verzije androida, primer: 10 QKQ1.191008.001. Na to kodo gradnje kliknemo 7x (sporočilo nam pove, kolikokrat še moramo
Nato v nastavitah telefona poiščemo novo-prikazani meni “developer options” / “možnosti za razvijalce” in tam noter vklopimo “USB debugging” / “Razhroščevanje USB”: - povežemo fon na PC s kablom - na telefonu odobrimo razhroščevalni način za računalnik (s tem tudi preverimo da je developer mode res vklopljen) - Preverimo ali je telefon zaznan
g1smo@dbn ~ » adb devices List of devices attached 1a73d897 device ^ tukaj je!
Brisanje aplikacij
Za brisanje aplikacij (tudi sistemskih, ki se jih sicer ne da) lahko uporabimo adb shell.
Ko se nam lupina odpre, uporabimo ukaz pm uninstall --user 0 <aplikacija>, recimo:
pm uninstall --user 0 com.google.android.gm
Zgornji ukaz odstrani GMail aplikacijo. Seznam potencialno neželenih aplikacij, ki jih je mogoče odstraniti, najdemo tukaj.
Kodno ime posamezne aplikacije sicer najdemo v nastavitvah, pri uporabljanju aplikacij (nekje v podrobnostih, odvisno od modela telefona).
Naredimo varnostno kopijo
- Poženemo ukaz za poln backup (paziti moramo da je na voljo dovolj prostora!)
- Pomoč: adb shell bu help
- ukaz za poln backup
$ adb backup -all -apk -obb -shared -keyvalue WARNING: adb backup is deprecated and may be removed in a future release Now unlock your device and confirm the backup operation...
- Za vsak primer naredimo kopijo backup.ab fajla in postopek ponovimo ter preverimo velikost, da vidimo če je uspešno končalo
- @TODO napisat, kako pridemo do fajlov v backupu?
Sinhronizacija kontaktov
- Lahko uporabimo DAVx5 program, ki ga povežemo s kompotovim nextcloudom - obzorjem.
Odklenemo telefon (če je treba, ponavadi je)
Postopek je popolnoma odvisen od modela telefona. Predvsem je od modela telefona odvisno, ali se mu sploh da odklenit bootloader.
V pomoč nam je lahko XDA developers forum, in sicer tako, da poiščemo, ali sploh obstajajo kakšna navodila za nalaganje drugih sistemov na ta model telefona.
V večini primerov, kjer je bootloader možno odkleniti, se to naredi z vklopom možnosti “Odklepanje OEM”, katero najdemo znotraj Developer Options. Od modela telefona je odvisno, ali je to že dovolj za nameščanje novih sistemov, ali so potrebni še nadaljni koraki.
- @TODO xiaomi navodila
- @TODO Samsung rabi Thor / Heimdall / Odin za podtikanje nekih vb_meta fajlov in za nalaganje sistemskih slik.
- https://miui.blog/redmi-7/steps-manually-install-twrp-onclite/
Prenos slike sistema in drugih fajlov
V relevantni temi na XDA forumu se ponavadi v prvi objavi najde linke do večine datotek.
Namestitev custom recovery
adb fastboot recovery.img TWRP, LineageOS ima svojega
@TODO Namestimo sistem
Velikokrat je v prvi objavi relevantne teme na XDA forumu tudi opisan postopek nameščanja sistema.
V veliko primerih se za nameščanje sistema uporabi TWRP ali drug recovery vmesnik.
Za prenos in namestitev sistemske slike se lahko uporabi ukaz
adb -d sideload ime_sistemske_slike.zip
Če se prenos ustavi pri 47%, je treba samo malo počakat. To se zgodi, ker ADB pričakuje, da se bo sliko preneslo 2x (in še malo več). Ker se jo pa v tem postopku na telefon prenese samo 1x, to števec smatra kot nedokončan postopek. Malo počakamo in sistem nas obvesti, da se je postopek končal.
Root
Magisk ali podobno.
Razno
Mi lahko kdo pove, a se Factory Reset Protection podatek o vpisanem Google računu shrani med splošne podatke ali gre to v kakšen drug del čipovja? A mi data wipe izbriše tudi FRP podatek? Ker če ja, pol se ni treba ven iz Google računa izpisovat preden greš nameščat nov sistem. Če se pa ta podatek shrani nekako tako kot tisti warranty void bit (ki ga moraš pri Samsungu tripnit za nameščanje custom ROMov), pol pa data wipe ne bi smel vplivat na to.
Lotili smo se tudi popravka Liotovega PinePhone-a, ki mu hitro zmanjka baterije: