Huomio! Custom ROM:in asentaminen on lähes poikkeuksetta vastoin valmistajien takuuehtoja, minkä vuoksi laitteen takuu yleensä menetetään custom ROMin asentamisen myötä. Lisäksi asennusprojektin aikana puhelin palautetaan takaisin tehdasasetuksiin, joten ennen projektin aloittamista kannattaa ottaa tärkeät tiedot talteen. Projektin aikana jokin voi myös mennä pieleen, jolloin laitteen saaminen takaisin toimintakuntoon voi olla erittäin työlästä tai jopa mahdotonta. Ongelmien välttämiseksi laitteen lukitus tulee poistaa ja akku ladata täyteen ennen projektin aloittamista. Ohjeen kirjoittaja ei ota mitään vastuuta mahdollisista ongelmatilanteista.
Esivalmistelut
- Varmuuskopioi tarvittavat tiedot talteen ennen muita operaatioita.
- Tee puhelimelle tehdasasetusten palauttaminen (Asetukset>Varmuuskopioi ja palauta>Tehdastietojen palautus). Tämä vaihe ei ole välttämätön mutta sen myötä ehkäistään eri sovellusten aiheuttamia ongelmia.
- Lataa ja asenna ADB-työkalut tietokoneen C-asemalle työskentelyn helpottamiseksi.
- Lataa Newflasher -ohjelma ja pura pakattu kansio.
- Lataa puhelimen akku täyteen!
Oppaan tiivistelmä:
- CDA tarkistus
- Downgrade 47.1.A.8.49 versioon ja TA-backuppaus
- Downgrade 47.1.A.8.49 versioon Newflasherillä (download mode)
- Temp root (bindershell) ja TA-backup (ADB)
- Bootloader unlock (Fastboot)
- Temp root (bindershell) TA-backupin palautus (ADB)
- Upgrade uusimpaan 47.2.A.11.228 versioon Newflasherillä (download mode)
- TWRP:n asennus (Fastboot)
- Lineage OS 17.1 (Android 10) asennus TWRP:n kautta (+GAPPS)
1. CDA tarkistus (Customization version)
CDA tarkistus suoritetaan, jotta myöhemmin vältytään epätodennäköisiltä mutta mahdollisilta yhteensopivuusongelmilta esimerkiksi vakio firmwareen palatessa. Koodin avulla käyttäjä voi selvittää puhelimen alkuperäisen markkina-alueen Android-ohjelmistoversion.
- Avaa puhelin sovellus.
- Syötä seuraava koodi numerovalitsimeen: *#*#7378423#*#*
- Valitse Service Info>Software Info.
- Rullaa alemmas kohtaan "Customization Version" ja ota tunnus talteen. Voit ottaa myös kuvakaappauksen kaikista tiedoista varmuuden vuoksi.
- Minulla tunnus oli 1311-0104_R2C (NOBA = Pohjoismaat).
- Halutessasi voit ladata XperiaFirm-ohjelmalla “Customization Version” -koodia (esim. NOBA = 1311-0104) vastaavat firmwaret valmiiksi seuraavia vaiheita varten. Tässä oppaassa on linkit eri markkina-alueiden firmware-tiedostoihin, joita itse käytin onnistuneesti. En kuitenkaan voi taata, että ne toimivat kaikissa tilanteissa. Jossain tapauksissa väärän markkina-alueen firmware saattaa aiheuttaa ongelmia mobiiliyhteyden muodostamisessa.
- Firmware TA-backuppausta varten: 47.1.A.8.49
- Firmware Lineage OS:n asennusta varten: 47.2.A.11.228
2. Downgrade 47.1.A.8.49 versioon ja TA-backuppaus
Sonyn tapauksessa käynnistyslataajan avaamisen yhteydessä menetetään Digital Rights Management (DRM) -avaimiin sidotut ominaisuudet. DRM-avaimet voidaan kuitenkin ottaa talteen ns. TA-backupilla aiemmassa 47.1.A.8.49 firmwaressa ollutta haavoittuvuutta hyväksi käyttäen. Puhelin täytyy siis palauttaa aiempaan version, että haavoittuvuutta voidaan hyödyntää temp rootin saavuttamiseksi. TA-backupin ottaminen ei ole välttämätöntä Lineage OS:n asentamista ajatellen, sillä custom ROMit eivät osaa hyödyntää kaikkia DRM-avaimiin sidottuja ominaisuuksia. TA-backupin ottaminen on kuitenkin suositeltavaa, sillä esimerkiksi kameran toiminta on jossain määrin sidottu DRM-avaimiin myös custom ROMeissa ja backuppauksella Widevine-tason saa säilytettyä L1:ssä. Lisäksi vakio firmwareen palatessa TA-backup on hyvä olla olemassa, jotta Sonyn erikoistekniikat toimivat myös bootloaderin avaamisen jälkeen. Alla vielä listattuna, mitkä ominaisuudet eivät ole käytettävissä ilman TA-backuppausta:
- What works: Color Gamut profiles, Camera no longer takes green pictures (quality not guaranteed to be the same, but it works at least), White Balance, Camera2API (FULL without RAW for rear camera, LIMITED for front camera)
- What doesn’t work: X-Reality Video Enhancement, DSEE HX, ClearAudio+, Widevine L1
In summary, all the DRM-related audio and video features are still not working, but the camera is no longer broken which was a huge issue for Sony users.
Downgrade 47.1.A.8.49 versioon
- Lataa 47.1.A.8.49_CE1 (1310-7123, Customized CE1 = Keski-Eurooppa 1) firmware ja pura RAR-paketti valitsemaasi sijaintiin. Vaihtoehtoisesti voit käyttää XperiaFirm -ohjelmalla ladattua firmwarea.
- Poista puretusta kansiosta persist_X-FLASH-ALL-C93B.sin tiedosto, jotta emme koske vahingossakaan TA-osioon ennen backuppausta.
- HUOM 8.9.2020! 47.1.A.8.49_CE1 firmwaressa poistettava tiedosto on persist_X-FLASH-ALL-C93B.sin ja 47.1.A.2.324_CE1 firmwaressa puolestaan persist_X-FLASH-ALL-42E5.sin.
- Siirrä newflasher.exe edellä ladattuun firmware kansioon.
- Avaa puhelimesta salatut kehittäjäasetukset alla olevan videon mukaisesti (Asetukset>Järjestelmä>Tietoja puhelimesta>Paina Koontiversio/Ohjelmistoversion numero kohtaa nopeasti 7x, kunnes saat ilmoituksen kehittäjävalikon aukeamisesta).
- Palaa takaisin asetusten etusivulle ja kytke USB-vianmääritys päälle (Asetukset>Järjestelmä>Kehittäjäasetukset>Aktivoi vianetsintä kohdasta "USB-vianmääritys").
- Sammuta puhelin.
- Kytke puhelin USB-kaapelilla tietokoneeseen pitämällä äänenvoimakkuus pienemmälle nappia pohjassa, jotta download mode käynnistyy.
- Kun puhelimen ilmoitusvalo muuttuu vihreäksi, voit vapauttaa äänenvoimakkuus napin.
- Avaa newflasher.exe ja vastaa kolmeen optional vaiheesen ”n”.
- Ohjelma aloittaa flashaamisen tämän jälkeen automaattisesti. Flashaus kestää 20-25 minuuttia.
- Kun flashaus on valmistunut (tarkista logeista), sulje ohjelma ja irroita puhelin USB-kaapelista
- Käynnistä puhelin uudelleen.
- Suorita laitteen käyttöönottaminen ilman internet-yhteyttä, ettei mikään sovellus ala päivittämään itseään taustalla.
Temp root ja TA-backuppaus
- Kytke USB-vianmääritys puhelimesta päälle aiempien ohjeiden mukaisesti.
- Laita samalla ”Pysy käynnissä” -asetus päälle, ettei puhelin mene lepotilaan kesken TA-backuppauksen.
- Käy ottamassa ”Customization Version” uudelleen talteen varmuuden vuoksi. (Jos flashasit tämän ohjeen 47.1.A.8.49_CE1 firmwaren, niin sen pitäisi olla 1310-7123_R6B).
- Lataa bindershell zip-paketti alla olevan linkin kautta ja pura kansio samaan sijaintiin, jonne asensit ADB-työkalut.
- Avaa komentokehote siirtymällä tietokoneella C:\platform-tools -kansioon ja kirjoittamalla ”cmd” tiedostoselaimen osoitekenttään. Enterin painamisen jälkeen komentoikkuna avautuu ja siihen voidaan syöttää haluttuja komentoja.
- Kytke puhelin tietokoneeseen sen ollessa päällä, valitse vain latauksen sijaan tiedostonsiirto ja hyväksy USB-vianmääritys. Tarvittavien ajureiden pitäisi asentua automaattisesti.
- Kirjoita komentokehotteeseen ”adb devices” ja tarkista, että puhelin tunnistautuu komentokehotteessa ADB-tilassa. Jos laite ei tunnistaudu oikein, niin ADB-ajureita ei ole asennettu.
- Seuraavaksi kirjoita alla olevat koodit komentokehotteeseen yksi kerrallaan.
Koodi:
adb push bindershell /data/local/tmp
adb shell
cd /data/local/tmp
chmod 755 ./bindershell
./bindershell
cd /data/local/tmp
dd if=/dev/block/bootdevice/by-name/TA of=TA-locked.img
chown shell:shell TA-locked.img
sync
sync
- Avaa tämän jälkeen toinen komentokehote siirtymällä tietokoneella takaisin C:\platform-tools -kansioon ja kirjoittamalla ”cmd” tiedostoselaimen osoitekenttään uudelleen. Paina lopuksi Enter.
- Seuraavaksi kirjoita alla oleva koodi uuteen komentokehotteeseen, jotta TA-backup siirretään tietokoneelle C:\platform-tools -kansioon.
Koodi:
adb pull /data/local/tmp/TA-locked.img
- Tarkista vielä, että muodostuneen TA-backup tiedoston koko on 2 097 152 tavua ja kopioi (älä siirrä) se talteen varmaan sijaintiin.
- TA-backuppaus on nyt suoritettu. Komentokehotteet voidaan sulkea ja irroittaa puhelin tietokoneesta.
3. Bootloaderin unlockaus
Bootloaderin avaamisen ohjeet löytyy aiemmin kirjoittamastani
Lukijatesti: Sailfish X & Sony Xperia XA2 - io-tech.fi -artikkelista. Samat ohjeet toimivat myös XZ1 Compactilla mutta XZ1 Compactin kanssa täytyy käyttää kyseiselle puhelimelle tehtyjä Fastboot ajureita. Ajurit löytyvät alla olevan linkin kautta.
Jos käytit tämän oppaan 47.1.A.8.49_CE1 firmwarea, niin OEM-lukituksen avaamiseksi puhelimessa täytyy käyttää SIM-korttia paikallaan ja kytkeä netti aktiiviseksi hetkeksi (sekä mahdollisesti käynnistää puhelin kertaalleen uudelleen). Muuten OEM:n lukituksen avaus on harmaana eikä sitä voi kytkeä aktiiviseksi. Älä kuitenkaan anna minkään sovelluksen päivittää itseään taustalla, jotta temp root onnistuu myöhemmin uudelleen ilman ongelmia.
Varsinainen unlockaus tapahtuu ”fastboot -i 0x0fce oem unlock 0x<unlock code>” komennolla.
4. TA-backupin palautus
TA-backup kannattaa palauttaa bootloaderin unlockauksen jälkeen takaisin puhelimeen, jotta DRM-avaimia hyödyntäviä ominaisuuksia voidaan tarvittaessa käyttää. HUOM! TA-backupin palautus täytyy ennen firmwaren päivitystä, sillä temp root (bindershell) toimii vain vanhassa firmwaressa.
- Kytke USB-vianmääritys puhelimesta päälle aiempien ohjeiden mukaisesti.
- Laita samalla ”Pysy käynnissä” -asetus päälle, ettei puhelin mene lepotilaan kesken TA-backuppauksen.
- Avaa komentokehote siirtymällä tietokoneella C:\platform-tools -kansioon ja kirjoittamalla ”cmd” tiedostoselaimen osoitekenttään. Enterin painamisen jälkeen komentoikkuna avautuu ja siihen voidaan syöttää haluttuja komentoja.
- Kytke puhelin tietokoneeseen sen ollessa päällä, valitse vain latauksen sijaan tiedostonsiirto ja hyväksy USB-vianmääritys.
- Kirjoita komentokehotteeseen ”adb devices” ja tarkista, että puhelin tunnistautuu komentokehotteessa.
- Seuraavaksi kirjoita alla olevat koodit komentokehotteeseen yksi kerrallaan.
Koodi:
adb push bindershell /data/local/tmp
adb shell
cd /data/local/tmp
chmod 755 ./bindershell
./bindershell
cd /data/local/tmp
dd if=/dev/block/bootdevice/by-name/TA of=TA-unlocked.img
chown shell:shell TA-unlocked.img
sync
sync
- Avaa tämän jälkeen toinen komentokehote siirtymällä tietokoneella C:\platform-tools -kansioon ja kirjoittamalla ”cmd” tiedostoselaimen osoitekenttään. Paina lopuksi Enter.
- Seuraavaksi kirjoita alla oleva koodi uuteen komentokehotteeseen, jotta aiemmin luotu TA-backup palautetaan puhelimeen.
Koodi:
adb pull /data/local/tmp/TA-unlocked.img
adb push TA-locked.img /data/local/tmp
- Palaa takaisin komentoikkunaan, jossa käynnistettiin temp root (bindershell), ja kirjoita alla olevat koodit komentokehotteeseen TA-backupin palautuksen viimeistelyksi.
Koodi:
cd /data/local/tmp
dd if=TA-locked.img of=/dev/block/bootdevice/by-name/TA
sync
sync
- TA-backupin palautus on nyt suoritettu. Komentokehotteet voidaan sulkea ja irroittaa puhelimen tietokoneesta.
5. Upgrade uusimpaan 47.2.A.11.228 versioon
Lineage OS 17.1:n asennus vaatii, että puhelimen tietyt ohjelmistokomponentit päivitetään uusimpaan versioon, sillä Lineage OS käyttää niitä asennuksen pohjana. Tämän takia puhelimeen pitää asentaa joiltain osin uusin firmware sisään ennen Lineage OS:n asennusta. (Jos TA-backuppaus ja sen palautus on jätetty väliin, niin puhelimen voi päivittää normaalisti uusimpaan versioon asetuksien kautta).
- Lataa riisuttu 47.2.A.11.228_DE (1310-4373, Customized DE = Saksa) firmware ja pura RAR-paketti valitsemaasi sijaintiin. Vaihtoehtoisesti voit käyttää XperiaFirm -ohjelmalla ladattua firmwarea.
- Yllä olevasta firmware paketista on valmiiksi poistettu sellaisia tiedostoja, joita emme halua tässä yhteydessä flashata puhelimeen. Jos käytät XperiaFirm-ohjelmalla ladattua firmwarea, niin poista alla olevat tiedostot paketista (etenkin persist_X-FLASH-ALL-C93B.sin tiedosto, jotta emme koske vahingossakaan palautettuun TA-osioon).
- kaikki *.ta loppuiset tiedostot (säilytä kuitenkin Lilac_XBootConfig_MiscTA.ta boot/ kansiossa)
- cache*.sin
- fotakernel*.sin
- kernel*.sin
- persist*.sin
- system*.sin
- userdata*.sin
- Siirrä newflasher.exe edellä ladattuun firmware kansioon.
- Avaa salatut kehittäjäasetukset (Asetukset>Järjestelmä>Tietoja puhelimesta>Paina Koontiversio/Ohjelmistoversion numero kohtaa nopeasti 7x, kunnes saat ilmoituksen kehittäjävalikon aukeamisesta).
- Palaa takaisin asetusten etusivulle ja kytke USB-vianmääritys päälle (Asetukset>Järjestelmä>Kehittäjäasetukset>Aktivoi vianetsintä kohdasta "USB-vianmääritys").
- Sammuta puhelin.
- Kytke puhelin USB-kaapelilla tietokoneeseen pitämällä äänenvoimakkuus pienemmälle nappia pohjassa, jotta download mode käynnistyy.
- Kun puhelimen ilmoitusvalo muuttuu vihreäksi, voit vapauttaa äänenvoimakkuus napin.
- Avaa newflasher.exe ja vastaa kolmeen optional vaiheesen ”n”.
- Ohjelma aloittaa flashaamisen tämän jälkeen automaattisesti. Flashaus kestää tällä kertaa vain vähän aikaa, sillä kaikkia firmwaren osia ei flashata uudelleen.
- Kun flashaus on valmistunut (tarkista logeista), sulje ohjelma ja irroita puhelin USB-kaapelista.
- Käynnistä puhelin uudelleen. Puhelin on edelleen Android Oreo versiossa, sillä päivitimme vain alempia ohjelmistokomponentteja uusimpaan versioon. Käynnistyksen yhteydessä bootloaderin avaamisesta kertova ilmoitusnäkymä pitäisi kuitenkin olla erilainen päivityksen jälkeen.
6. TWRP:n asennus
TWRP:n asennus ohjeet löytyy aiemmin kirjoittamastani
Custom ROMin asentaminen Xiaomi Redmi Note 4 -puhelimeen - io-tech.fi -artikkelista. Samat ohjeet toimivat myös XZ1 Compactilla mutta XZ1 Compactin kanssa täytyy käyttää kyseiselle puhelimelle tehtyä TWRP:tä (linkki alla). Tällöin myös TWRP:n asennuskomentoa on muotoa ”fastboot flash recovery twrp-3.3.1-0-lilac-android10-1.img”. XZ1 Compact käynnistyy
Fastboot -tilaan samalla tavalla kuin bootloaderin unlockauksen yhteydessä eli painamalla virtapainiketta ja volume
ylös nappia yhtä aikaa pohjassa samalla, kun tietokoneeseen yhdistetty usb-johto yhdistetään puhelimeen. Mikäli puhelin käynnistyy onnistuneesti fastboot tilaan, puhelimen ilmoitusvalo syttyy siniseksi näytön pysyessä sammuneena.
Xperia XZ1 Compact käynnistyy TWRP-recoveryyn irroittamalla puhelin tietokoneesta ja painamalla virtapainiketta ja volume alas nappia (ei siis ylös) pohjassa niin kauan kunnes puhelin värähtää.
7. Lineage OS 17.1:n (ja GAPPS-paketin) asennus
Lineage OS 17.1 custom ROM:n ja Googlen sovellusten (GAPPS) asentaminen tapahtuu edellä asennetun TWRP-recoveryn kautta. Custom ROM:t eivät yleensä sisällä Googlen palveluita valmiina, joten ne täytyy asentaa puhelimeen erikseen custom ROM:n asennuksen jälkeen. Halutessaan GAPPS-paketin voi jättää kokonaan asentamatta, jos ei tarvitse mitään Googlen palveluita. XZ1 Compactin Lineage OS 17.1 -ohjelmisto sisältää valmiina F-Droid -sovelluskaupan.
- Käynnistä puhelin uudelleen ja kytke laite tietokoneeseen tiedostonsiirtotilassa.
- Lataa LineageOS 17.1 ja halutessasi GAPPS-paketti alla olevien linkkien kautta ja siirrä tiedostot puhelimeen.
- Irroita puhelin tietokoneesta ja sulje puhelin.
- Käynnistä puhelin TWRP-recoveryyn painamalla virtapainiketta ja volume alas nappia pohjassa niin kauan kunnes puhelin värähtää.
- Siirry TWRP:ssä Wipe-osioon ja suorita System, Data ja Cache -sektoreiden tyhjentäminen ”Advanced Wipe” -painikkeen takaa.
- Tyhjentämisen jälkeen puhelimessa ei enää ole käyttöjärjestelmää, joten uusi käyttöjärjestelmä asennetaan laitteeseen custom ROMin muodossa.
- Asennus tapahtuu Install-osiossa valitsemalla haluttu zip-paketti yksi kerrallaan. Ensimmäiseksi asennetaan Lineage OS 17.1 custom ROM zip-tiedosto, jonka jälkeen suoritetaan välimuistien tyhjentäminen ”Wipe cache/dalvik” -komennon kautta.
- Tämän jälkeen käyttöjärjestelmään lisätään halutut Googlen palvelut GAPPS-paketin muodossa toimien samalla tavalla kuin edellä. Myös GAPPS-paketin asentamisen jälkeen kannattaa suorittaa välimuistien tyhjentäminen.
- Lopuksi puhelin voidaan käynnistää ”Reboot System” -komennolla. Ennen käynnistysprosessin aloittamista TWRP ehdottaa erillisen TWRP-sovelluksen asentamista mutta tämä voidaan ohittaa klikkaamalla ”Do Not Install” -painiketta.
Jos käynnistysprosessi etenee suunnitellusti, pitäisi ruudulle ilmestyä custom ROMin käynnistysanimaatio hetken odottelun jälkeen. Käyttöjärjestelmän ensimmäinen käynnistyminen kestää kuitenkin useita minuutteja, joten käyttäjän kannattaa odottaa tässä vaiheessa kärsivällisesti. Kun puhelin lopulta käynnistyy käyttöjärjestelmään, voidaan puhelin ottaa käyttöön samalla tavalla kuin uusi Android-laite.