Custom ROMin asentaminen Xiaomi Redmi Note 4 -puhelimeen

Viestiketju alueella 'io-tech.fi artikkelit' , aloittaja FlyingAntero, 28.01.2019.

  1. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    [​IMG]


    Android-käyttöjärjestelmän avoimuuden ansiosta Android-laitteille on saatavilla jälkeenpäin muokattuja laiteohjelmistoja eli niin kutsuttuja custom ROM:eja, joilla voidaan korvata laitteen mukana tullut ohjelmisto ja muuttaa käyttökokemus täysin erilaiseksi. Parhaimmassa tapauksessa custom ROM:in avulla voidaan parantaa Android-laitteiden paljon parjattua päivitystukea, tietoturvaa ja jopa yksityisyydensuojaa irtautumalla esimerkiksi Googlen palveluista.

    Tässä artikkelissa tutustutaan Android-käyttöjärjestelmän rakenteeseen ja custom ROM:ien maailmaan asentamalla Redmi Note 4 -puhelimeen Android Pie 9.0 -versiolla varustettu AospExtended -custom ROM. Asennusprosessi käydään läpi artikkelissa esimerkinomaisesti askel askeleelta ja lopuksi luodaan yhteenveto lopputuloksesta.


    Xiaomi Redmi Note 4 -älypuhelin


    Kiinalainen Xiaomi on tällä hetkellä maailman neljänneksi suurin älypuhelinvalmistaja, joka on tullut tunnetuksi aggressiivisesti hinnoitelluista tuotteistaan. Yritys on kasvanut viime vuosina voimakkaasti ja laajentanut toimintaansa Euroopan markkinoille. Myös useat suomalaiset jälleenmyyjät ovat ottaneet yrityksen tuotteita valikoimiinsa ja niiden saatavuus on kehittynyt ainakin älypuhelimien osalta verrattain hyväksi.

    [​IMG]

    Redmi Note 4 on io-techissäkin testatun Redmi 5 Plussan edeltäjä, joka julkaistiin tammikuussa 2017. Se asettui julkaisun yhteydessä noin 200 euron hintaluokkaan tarjoten varsin houkuttelevia ominaisuuksia hintaansa nähden. Kiinassa puhelinta myytiin ensimmäisen kymmenen minuutin aikana 250 000 kappaletta ja Suomessa puhelin tuli saataville joidenkin jälleenmyyjien kautta, mutta nyt puhelin on jo poistunut markkinoilta uudempien mallien tieltä.

    Redmi Note 4 tarjoaa hyvin samanlaisia ominaisuuksia kuin vuotta myöhemmin julkaistu seuraajansa. Järjestelmäpiiri on sama 14 nanometrin LPP -tekniikalla valmistettu Snapdragon 625, joka on varustettu kahdeksalla Cortex-A53 -ytimellä. Muistikonfiguraatiot ovat niin ikään samat (3 & 32 Gt tai 4 & 64 Gt) ja grafiikkasuorituskyvystä vastaa Adreno 506 GPU. Kyseinen kombinaatio tarjoaa edelleen kelvollista suorituskykyä uudempiin alemman keskiluokan älypuhelimiin verrattuna.

    Tekniset ominaisuudet:
    • Snapdragon 625 –järjestelmäpiiri (8 x 2,0 GHz Cortex-A53, Adreno 506 GPU)
    • 3/4 Gt LPDDR3 RAM
    • 32/64 Gt tallennustilaa, muistikorttipaikka (max. 256 Gt)
    • 5,5-tuumainen 16:9 IPS LCD –näyttöpaneeli (1080 x 1920 pikseliä, 401 PPI)
    • 13 megapikselin takakamera (f/2.0, 1.12µm, PDAF)
    • 5 megapikselin etukamera (f/2.0)
    • LTE Cat6, Dual-SIM, Wi-Fi 802.11 a/b/g/n, Bluetooth 4.1, GPS, Galileo, GLONASS, BDS
    • 4100 mAh akku, micro-USB 2.0
    • Mitat: 151 x 76 x 8,5 mm
    • Paino: 165g

    [​IMG]



    Muissa komponenteissa samankaltaisuudet jatkuvat, sillä Redmi Note 4:ssä on 13 megapikselin takakamera (f/2.0, 1,12 µm) verrattuna seuraajansa 12 megapikselin kameraan (f/2.2, 1.25 μm). Valmistuserien välillä on kuitenkin eroavaisuuksia, sillä kamerasensorin saattaa olla valmistanut joko Sony, Samsung tai OmniVision. Kameramoduuli on laitteen keskellä yläosassa samalla tasolla takakuoren kanssa ja sen alapuolelta löytyy salamavalo ja sormenjälkilukija. Kuorimateriaali on molemmissa puhelimissa alumiinia päätyjen muovia lukuun ottamatta ja paksuutta Redmi Note 4:llä on 0,4 mm enemmän hieman suuremmasta 4100 mAh akusta johtuen. Lataaminen tapahtuu puhelimen alapäätyyn sijoitetun micro-USB 2.0 -liitännän kautta ilman pikalatausta. Laitteen yläpäätyyn on sijoitettu 3,5 mm:n ääniliitäntä ja Euroopassa melko harvinainen infrapunasensori.

    Suurimmat eroavaisuudet laitteiden välillä tulevat näytön osalta, sillä Redmi Note 4:ssä on noin puoli tuumaa pienempi 5,5 tuumaan Full HD LCD -näyttö, joka perustuu 16:9-kuvasuhteeseen modernimman 18:9-kuvasuhteen sijaan ja jonka suojalasi on reunoilta pyöristetty. Perinteisen kuvasuhteen myötä Redmi Note 4 on 7,5 mm lyhyempi ja 0,5 mm leveämpi sekä näytön ja ulkomittojen suhde on nykymittapuulla vaatimaton 72,7 %. Huomionarvoisena seikkana navigointipainikkeet on sijoitettu fyysisesti näytön alapuolelle toisin kuin Redmi 5 Plussassa. Näytön yläpuolelta löytyy vasemmalta oikealle lueteltuna ilmoitusvalo, puhelinkuuloke ja etukamera.





    Monien aasialaisten valmistajien tavoin Xiaomi on varustanut puhelimensa vakio-Androidiin nähden raskaasti kustomoidulla käyttöliittymällä, joka jakaa kuluttajien mielipiteitä. MIUI-nimeä kantavan käyttöliittymän hyviin puoliin voidaan lukea varsin kattavat käyttöä helpottavat lisäominaisuudet ja muokkausmahdollisuudet aina teemavalitsinta myöten. Toisaalta MIUI-käyttöliittymän toiminnassa on havaittu aiemmissa io-techin puhelintesteissä käytännön kannalta harmittavia puutteita ja esimerkiksi tuki suomen kielelle saapui käyttöliittymään vasta hiljattain.

    Vaikka Xiaomi tarjoaakin laitteille pitkän päivitystuen, on yritys usein tyytynyt päivittämään vain laitteen MIUI-versiota Android-version jäädessä päivittymättä. Tämä koskee myös esimerkkialustaksi valitsemaamme Redmi Note 4 -puhelinta, jonka Android-versio on jäänyt Nougat 7.0 -versioon lokakuussa saapuneesta tuoreesta MIUI 10 -päivityksestä huolimatta.

    Kokonaisuutena Redmi Note 4 onkin erinomainen lähtökohta Custom ROM:in asentamiselle. Mallilla on jo hieman ikää, mutta sisällä on edelleen hyvinkin käyttökelpoista rautaa. Edellä mainituista syistä Custom ROM:in asennus saattaa hyvinkin tuoda toivottua piristystä laitteen toimintaan ja antaa sille jopa täysin uuden elämän. Näistä syistä päädyimme käyttämään Note 4:ää esimerkkialustana tässä artikkelissa. Testilaitteen toimitti ystävällisesti käyttöömme Xiaomi-mi Suomi.


    Android ja Google


    Android on Googlen kehittämä mobiililaitteisiin suunnattu käyttöjärjestelmä, joka perustuu Linux-ytimeen. Suurin osa käyttöjärjestelmästä on avointa lähdekoodia, jota Google ylläpitää Android Open Source Projectin (AOSP) puitteissa. Kuka tahansa voi siis rakentaa käyttöjärjestelmästä oman version AOSP:n pohjalta. Täysin vapaasti Android-ekosysteemiä ei kuitenkaan pääse muokkaamaan, sillä Google on eriyttänyt Google Mobile Services (GMS) -paketin avoimesta lähdekoodista. GMS pitää sisällään Googlen palvelut ja sovellukset rajapintoineen, mikä antaa Googlelle vahvan valtikan Androidin hallinnassa. Tällaisia palveluita ovat muun muassa Google Play -sovelluskauppa, Google Maps ja YouTube. Mikäli laitevalmistajat haluavat käyttää Googlen palveluita laitteissaan, täytyy Googlen ensin hyväksyä valmistajien käyttöjärjestelmään tekemät muutokset. Tällä tavoin Google ehkäisee Androidin pirstaloitumista ja varmistaa eri laitteiden yhteensopivuuden.

    Toisaalta GMS-paketin avulla Google kykenee ujuttamaan omia palveluitaan valmistajien laitteisiinsa, sillä yritys on tähän saakka myöntänyt GMS-paketin käyttöoikeuden ”kaikki tai ei mitään” -periaatteella. Valmistajat eivät ole voineet valita vain tiettyjä Googlen palveluita laitteisiinsa vaan ehtoihin on kuulunut ottaa kaikki Googlen nimeämät palvelut. Lisäksi ehdot ovat kieltäneet laitevalmistajia lisäämään tuotevalikoimaansa Googlen kanssa kilpailevia Android-versioita. Hiljattain Google on joutunut ongelmiin edellä mainitun toiminnan vuoksi ja viime vuonna EU antoi Googlelle 4,3 miljardin euron sakot määräävän markkina-aseman väärinkäytöstä.


    Android-käyttöjärjestelmän rakenne


    [​IMG]

    Kuva: Google (1)(2)


    Android-käyttöjärjestelmä on useista kokonaisuuksista muodostuva ohjelmistopino, jossa käyttöliittymä ja sovellukset ovat vain käyttäjille näkyvä jäävuoren huippu. Ohjelmistopinon keskimmäinen osa muodostuu Googlen ylläpitämän AOSP:n sisällöstä, joka määrittelee käyttöjärjestelmän ominaisuudet ja toiminnan. Juuri tätä osaa käyttöjärjestelmästä laitevalmistajat muokkaavat omiin tarpeisiinsa sopivaksi. AOSP pitää sisällään Androidin perusrungon, jonka ympärille ominaisuuksia voidaan lisätä. Kun puhutaan puhtaasta Androidista, viitataan sellaiseen Android-versioon, johon on tehty vain pieniä muutoksia AOSP:iin nähden. Käytännössä Android One -laitteetkaan eivät ole täysin ”puhtaita”, sillä niihin on lisätty Googlen palvelut ja joitain valmistajien omia sovelluksia.

    Jotta Android-käyttöjärjestelmä saadaan toiminaan yksittäisessä laitteessa, täytyy ohjelmisto saada myös keskustelemaan käytettävien rautakomponenttien kanssa. Ohjelmistopinon alimmaisena on Linux-ydin eli kernel, joka huolehtii kyseisestä tehtävästä. Käytännössä jokaiselle Android-laitteelle täytyy rakentaa kernel erikseen, sillä laitteet ovat keskenään erilaisia ja vaativat erilaisia ajureita. Aiemmin kernel täytyi jopa rakentaa jokaisen Android-versiopäivityksen yhteydessä uusiksi, mikä vaikeutti Android-laitteiden päivittämistä. Android Oreon myötä esitelty Project Treble on edesauttanut tilannetta tällä saralla, sillä nykyään Android voidaan päivittää uudempaan versioon muuttamatta käyttöjärjestelmän alinta kerrosta.

    Ennen Trebleä:

    [​IMG]

    Treblen jälkeen:

    [​IMG]

    Kuvat: Google

    Kernelin muodostamisesta vastaavat laitevalmistajat, sillä valmistajat päättävät yksittäisen laitteen komponentit. Samsungia ja Huaweita lukuun ottamatta laitevalmistajat eivät kuitenkaan itse suunnittele järjestelmäpiirejä, minkä johdosta piirivalmistajilla on suuri rooli kernelin muodostumisessa. Piirivalmistajat toimittavat laitevalmistajille Board Support Packagen (BSP), jonka avulla järjestelmäpiiri saadaan keskustelemaan halutun käyttöjärjestelmän kanssa. Yleensä piirivalmistajat suunnittelevat BSP:n yhdelle referenssilaitteelle, ja mitä enemmän laitevalmistajat tekevät muutoksia referenssilaitteeseen nähden, sitä enemmän heidän täytyy muokata myös laitteen lopullista kerneliä.

    [​IMG]

    Kuva: Google

    Androidin lisensointiehtojen mukaan sekä laite- että piirivalmistajien tulisi julkaista kernel lähdekoodit kaikkien saataville. Qualcomm on toiminut tässä suhteessa esimerkillisesti, sillä yritys julkaisee referenssilaitteidensa lähdekoodit Code Aurora Forumin (CAF) kautta. MediaTek sen sijaan on perinteisesti ollut erittäin vastahakoinen julkaisemaan lähdekoodejaan. Laitevalmistajien kohdalla käytännöt vaihtelevat, sillä osa valmistajista julkaisee lähdekoodit viiveellä tai vajavaisina ja pahimmassa tapauksessa lähdekoodeja ei julkaista ollenkaan lisenssiehtojen vastaisesti. Laitevalmistajista muun muassa Google, OnePlus ja Sony ovat julkaisseet lähdekoodejaan hyvin. Xiaomi on viime aikoina parantanut toimintaansa lähdekoodien suhteen ja viime huhtikuussa yritys lupasi julkaista lähdekoodit jatkossa kolmen kuukauden sisällä laitteen julkaisusta.


    Custom ROM:it


    [​IMG]

    Custom ROM:illa (eli custom firmwarella) tarkoitetaan mitä tahansa muokattua Android-ohjelmistoa, joka asennetaan laitteeseen jälkeenpäin. Tällaisia ovat esimerkiksi laitteen vakio ohjelmistosta kevyesti muokatut custom ROMit, joista on poistettu häiritseviä oletusohjelmia eli bloatwarea. Tällä tavoin Android-laitteen ohjelmistoversiota ei kuitenkaan voida päivittää, sillä muutokset rajoittuvat käyttöjärjestelmän pintakerroksiin. Yleensä custom ROM:illa tarkoitetaankin AOSP:n pohjalta kokonaan uudelleen rakennettua Android-ohjelmistoa, joka ei ole suoraan sidottu vakio ohjelmistoon. Kehitys perustuu avoimeen lähdekoodiin vapaaehtoisten kehittäjien voimin ikään kuin laitevalmistajan asemasta. Tämän vuoksi lähdekoodien saatavuus vaikuttaa merkittävästi custom ROM:ien valikoimaan tietylle laitteelle.

    Erilaisia custom ROM:eja on lähes yhtä paljon kuin tekijöitäkin, mutta tunnetuin niistä lienee CyanogenModin raunioista ponnistanut Lineage OS, joka on tällä hetkellä saatavilla 163 eri laitteelle ja käytössä 1,8 miljoonassa laitteessa. Lineage OS:n kaltaisia organisoituja yhteisöjä ovat muun muassa OmniROM, Paranoid Android, Mokee OS, Resurrection Remix ja AospExtended. Tällaisilla custom ROM:eilla on aktiivinen kehittäjäkunta, joka kehittää custom ROM:ia jatkuvasti eteenpäin. Jokaiselle virallisesti tuetulle Android-laitteelle valitaan yhteisön sisältä ylläpitäjä, joka huolehtii kyseisen laitteen päivityksistä. Päivitykset ovat yleensä saatavilla langattomasti Over The Air (OTA) -paketteina viikoittain tai jopa päivittäin.

    Custom ROM:eista on myös olemassa epävirallisia (unofficial) variantteja, jotka ovat yksittäisten kehittäjien julkaisuja yhteisön ulkopuolelta esimerkiksi sellaisille laitteille, joilla ei ole virallista tukea yhteisön toimesta. Epävirallisissa julkaisuissa saattaa olla joitain pieniä eroavaisuuksia virallisen julkaisuun nähden ja päivitystuki on usein epäsäännöllinen riippuen kehittäjän omista resursseista. Lisätietoa eri custom ROM:eista on saatavilla TechBBS-keskustelupalstalta.

    Qualcommin avoimuuden johdosta Redmi Note 4:n kaltaisille Snapdragon-prosessorilla varustetuille laitteille on yleisesti ottaen runsaasti custom ROM:eja saatavilla. Aina kaikkia yksittäisiä ominaisuuksia ei kuitenkaan saada toimimaan edes Snapdragon-laitteissa, jos laitevalmistaja on esimerkiksi tehnyt huomattavia muutoksia Qualcommin referenssilaitteeseen nähden eikä ole julkaissut kattavia kernel-lähdekoodeja. Lisäksi laitevalmistajia ei velvoiteta julkaisemaan aivan kaikkea laitteiden toimintaan liittyvää informaatiota. Esimerkiksi kameran toimintaan liittyvät algoritmit ovat liikesalaisuuksia eivätkä suoranaisesti liity Androidin toimintaan, joten laitevalmistajat voivat jättää suljetut binary blobit lisenssiehtojen mukaisten kernel-lähdekoodien ulkopuolelle. Puuttuvien ajurien johdosta kehittäjät joutuvat usein etsimään vaihtoehtoisia ajureita muista vastaavista laitteista, takaisinmallintamaan avoimeen lähdekoodin perustuvia ratkaisuja tai koodaamaan yksittäisiä ominaisuuksia toimintakuntoiseksi yrityksen ja erehdyksen kautta. Lisätietoa kehittäjien kohtaamista haasteista löytyy XDA-sivuston artikkelista.


    Custom ROMin asentaminen


    Custom ROM:in asennusprosessi on jokaisen merkin ja mallin kohdalla hieman erilainen, minkä vuoksi kaikille laitteille yleispätevää ohjenuoraa on mahdotonta muodostaa. Tässä artikkelissa esitetty asennusprosessi Redmi Note 4 -puhelimella tulee käsittää suuntaa antavana esimerkkinä. Pääpiirteittäin asennusprosessi koostuu bootloaderin eli käynnistyslataajan avaamisesta ja custom recoveryn asentamisesta tietokoneen välityksellä, minkä jälkeen itse custom ROM voidaan asentaa laitteeseen recoveryn kautta. Halutessaan käyttäjä voi asentaa laitteeseen myös Google Apps (GAPPS) ja pääkäyttäjän oikeudet mahdollistavan root -paketit sekä muun muassa ylikellotuksen mahdollistavan custom kernelin.

    Windows 10 tietokoneella suoritettavat operaatiot:
    • Bootloaderin avaaminen Mi Unlock -ohjelmalla
    • Custom recoveryn (TWRP) asentaminen ADB:n kautta

    Custom recoveryssä suoritettavat operaatiot:
    • Nandroid-varmuuskopiointi
    • Puhelimen tyhjentäminen
    • Custom ROMin asentaminen
    • GAPPS-paketin asentaminen

    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 bootloaderin avaamisen yhteydessä laite 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. Artikkelin kirjoittaja ja io-tech eivät ota mitään vastuuta mahdollisista ongelmatilanteista.
    Bootloaderin avaus


    [​IMG]

    Asennusprosessin haasteellisin osuus on yleensä bootloaderin avaaminen, sillä laitevalmistajien käytännöt vaihtelevat suuresti avaamisen suhteen. Bootloader on laitteen alin ohjelmistokerros, joka käynnistää varsinaisen käyttöjärjestelmän. Se ei siis ole osa itse käyttöjärjestelmää, vaan verrattavissa PC-maailmasta tuttuun BIOSiin. Oletuksena bootloader on aina lukittu, sillä sen avaaminen on tietyllä tapaa tietoturvariski. Jos laite päätyy väärin käsiin bootloaderin ollessa avattuna, voidaan käyttäjän tietoihin päästä käsiksi, vaikka käyttöjärjestelmä olisikin suojattu pääsykoodilla. Tämän vuoksi Android-laitteet varoittavat avatusta bootloaderista käynnistyksen yhteydessä. Lisäksi bootloaderin avaamisen yhteydessä saatetaan menettää DRM-avaimiin (käyttöoikeuksien hallinta-avaimiin) sidottuja ominaisuuksia, mikä voi näkyä esimerkiksi suoratoistopalveluiden toiminnassa (Widevine-taso).

    Xiaomin tapauksessa bootloaderin avaaminen on monimutkainen prosessi verrattuna moneen muuhun valmistajaan. Varsinainen bootloaderin avaus suoritetaan Mi Unlock nimisellä ohjelmalla mutta sen käyttöä varten on ensin luotava Mi-tili. Tilin voi tehdä pelkkää sähköpostia käyttäen mutta laitteen bootloaderin avaamiseksi käyttäjän tulee tunnistautua tilille puhelinnumerolla. Avattava laite on myös sidottava kyseiseen tiliin laitteen asetuksista ja Xiaomi on rajoittanut bootloaderin avaamisen yhteen laitteeseen 30 päivän sisällä. Tilin luominen tapahtuu Xiaomin Unlock-sivustolla, jonka kautta myös Mi Unlock on ladattavissa tietokoneelle tilin luomisen jälkeen. Vinkkinä ”Unlock Now” -painike ohjaa käyttäjän kiinankieliselle sivulle mutta sivun alalaidasta kielen voi muuttaa takaisin englanniksi.



    Kun Mi-tili on luotu onnistuneesti, kirjaudutaan tilille puhelimen asetuksista kohdasta ”Mi-tili”. Tämän jälkeen suunnataan Tietoa puhelimesta -välilehdelle ja avataan salatut kehittäjäasetukset naputtelemalla ”MIUI-versio” -kohtaa seitsemän kertaa. Kehittäjäasetukset avautuvat Lisäasetukset -välilehdelle ja valikosta asetetaan aktiiviseksi OEM-lukitus ja USB-vianetsintä. Puhelin saadaan sidottua lopullisesti Mi-tiliin ”Mi Unlock -tila” valikon kautta seuraamalla annettuja ohjeita. Lopuksi puhelin ilmoittaa, että Mi-tili on liitetty onnistuneesti tilin kanssa.

    [​IMG]



    Seuraavaksi puhelin sammutetaan ja käynnistetään fastboot-tilaan pitämällä virtapainiketta ja volume alas nappia pohjassa siihen asti, kunnes puhelin värähtää. Fastboot-tilassa puhelin kytketään USB-johdolla tietokoneeseen ja laitteen fastboot-ajurit asennetaan Mi Unlock -ohjeman mukana tulleella Mi USB driver -ohjelmalla. Onnistuneen asennuksen päätteeksi puhelimen pitäisi näkyä yhdistettynä Mi Unlock -ohjelmassa ja bootloader saadaan avattua seuraamalla ohjelman ohjeita.



    Estääkseen esimerkiksi jälleenmyyjiä avaamasta laitteen bootloaderia etukäteen, Xiaomi on lisännyt bootloaderin avaamiseen käyttäjäkohtaisen viiveen. Tämän vuoksi bootloaderin avaaminen ei onnistu heti sen jälkeen, kun Mi-tili on liitetty puhelimeen. Allekirjoittaneen kohdalla Mi Unlock -ohjelma ilmoitti heikolla englannin kielellä, että bootloaderin avaamiseksi tulisi odottaa 72 tuntia ja kolmen päivän odottelun jälkeen bootloaderin avaaminen onnistuikin ongelmitta. Huomionarvoisena seikkana puhelinta ei saa kirjata ulos Mi-tililtä kyseisenä aikana tai muuten laskuri nollautuu ja käyttäjä joutuu aloittamaan odottamisen alusta. Käyttäjät ovat myös raportoineet eri pituisia odotusaikoja 66 tunnista jopa kahteen kuukauteen saakka. Onnistuneen bootloaderin avauksen jälkeen puhelimen näytöllä vilahtaa käynnistyksen yhteydessä ”Unlocked” -ilmoitus.

    [​IMG]
    TWRP:n asentaminen


    Bootloaderin avaamisen jälkeen laitteeseen asennetaan custom recovery, jolla korvataan Androidin sisäinen palautustila. Jokaisessa Android-laitteessa on erillinen palautustila, joka käynnistyy laitekohtaisella näppäinyhdistelmällä. Palautustilan kautta puhelin voidaan esimerkiksi palauttaa takaisin tehdasasetuksiin, jos laitteen ohjelmisto menee syystä tai toisesta sekaisin. Custom recoveryn avulla palautustilan toimintoja saadaan laajennettua ja laitteeseen asennettavia custom ROM:eja voidaan hallita paremmin. Custom ROM:ien tavoin custom recoveryjä on useita ja tällä hetkellä suosituin niistä on Team Win Recovery Project (TWRP).

    TWRP asennetaan Redmi Note 4 -puhelimeen Android Debug Bridgen (ADB) välityksellä fastboot-tilassa. ADB on kehittäjien käyttämä komentorivityökalu, jonka avulla etsitään esimerkiksi laitteiston virheitä. Tässä projektissa tarvittava ADB-ohjelma löytyy Googlen kehittäjäsivustolta nimellä “SDK Platform-Tools for Windows”. TWRP-tiedosto löytyy puolestaan TWRP:n sivustolta puhelimen koodinimellä ”mido”. ADB-työkalujen zip-tiedosto puretaan tietokoneen juureen C-asemalle työskentelyn helpottamiseksi ja ”twrp-3.2.3-1-mido.img” -tiedosto siirretään syntyneeseen platform-tools -kansioon. Bootloaderin avaamisen yhteydessä tapahtuneen puhelimen nollauksen vuoksi USB-vianetsintä täytyy käydä laittamassa uudelleen päälle kehittäjäasetuksista, jotta ADB-työkaluilla voidaan ylipäätänsä operoida. Tämän jälkeen puhelin sammutetaan normaalisti ja käynnistetään fastboot-tilaan tietokoneeseen yhdistetty kuten aiemmin bootloaderin avauksen yhteydessä.

    [​IMG]

    ADB-komentoikkuna avataan 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. ”Fastboot devices” -komennolla nähdään tietokoneeseen liitetyt fastboot-laitteet ja allekirjoittaneella Redmi Note 4 tunnistui koodilla ”55498c589804”. TWRP asennetaan puhelimeen syöttämällä komentokehotteeseen ”fastboot flash recovery twrp-3.2.3-1-mido.img”.



    Asennus viimeistellään käynnistämällä puhelin TWRP-recoveryyn edelleen tietokoneeseen yhdistettynä painamalla virtapainiketta ja volume ylös nappia pohjassa niin kauan kunnes ruudulla näkyy Mi-logo. Tämän jälkeen painikkeet vapautetaan ja puhelin käynnistyy automaattisesti TWRP-recoveryyn. Ensimmäisellä käynnistyskerralla TWRP ehdottaa, pidetäänkö järjestelmä vain luku -tilassa? Custom recoveryn ideana on, että muutoksia voidaan tehdä, joten muokkausoikeudet otetaan käyttöön liukukytkimen kautta (Swipe to Allow Modifications).
    Nandroid-varmuuskopiointi


    Onnistuneen TWRP:n asennuksen jälkeen laitteen parissa säätämisestä tulee huomattavasti helpompaa, sillä tietokonetta tarvitaan jatkossa vain tiedostojen siirtelyä varten. Lisäksi TWRP mahdollistaa laitteen kattavan varmuuskopioinnin, jolloin puhelin voidaan palauttaa takaisin toimivaan tilaan Nandroid-levykuvan avulla. Nandroid-levykuva pitää sisällään käyttöjärjestelmän sellaisessa muodossa kuin se oli varmuuskopiointi hetkellä asennettuja sovelluksia ja asetuksia myöten.



    Nandroid-levykuva kannattaa ottaa ennen custom ROMin asentamista, jotta käyttäjä voi palata takaisin vakio ohjelmistoon niin halutessaan. Varmuuskopiointi tapahtuu siirtymällä TWRP:ssä Backup-osioon ja valitsemalla varmuuskopioitavat sektorit. Oletuksena valittuna ovat System, Data ja Boot -sektorit, jotka riittävät palautuspisteen muodostamiseen. Kannattaa kuitenkin huomioida, että datasektori ei pidä sisällään sisäistä tallennustilaa eli esimerkiksi puhelimeen tallennetut kuvat eivät sisälly Nandroid-levykuvaan. Lopuksi varmuuskopiointi hyväksytään liukukytkimellä ja se kestää varmuuskopioitavien sektoreiden koosta riippuen muutamia minuutteja. Varmuuskopioinnin jälkeen Nandroid-levykuva voidaan siirtää tietokoneelle edelleen recovery-tilassa ollessa usb-yhteyden avulla.
    AospExtended -custom ROMin asentaminen


    [​IMG]

    Kun Nandroid-levykuva on saatu luotua ja siirrettyä turvaan tietokoneelle voidaan viimein siirtyä custom ROMin asentamiseen. Tässä projektissa Redmi Note 4 -puhelimeen asennetaan Android Pie 9.0 -versioon perustuva AospExtended (AEX) -custom ROM, joka on ladattavissa AEX:n verkkosivulta. Samassa yhteydessä puhelimeen asennetaan OpenGAPPS -paketti Googlen palveluita varten. Custom ROMit eivät yleensä sisällä Googlen palveluita valmiina, joten ne täytyy asentaa puhelimeen erikseen custom ROMin asennuksen jälkeen. Halutessaan GAPPS-paketin voi jättää kokonaan asentamatta, jos ei tarvitse mitään Googlen palveluita.

    Tällä kertaa puhelimeen asennetaan OpenGAPPS:n pienin ”pico” -paketti, joka sisältää vain välttämättömät ohjelmistokomponentit Google Play -sovelluskauppaa varten ja muut Googlen sovellukset voidaan asentaa jälkikäteen suoraan Play Kaupasta. Redmi Note 4 on varustettu 64-bittisellä ARM-arkkitehtuuriin perustuvalla Snapdragon 625 -järjestelmäpiirillä, joten puhelimelle valitaan ARM64 GAPPS -paketti. GAPPS-paketin Android-versio valitaan luonnollisesti custom ROMin Android-version mukaan eli tässä tapauksessa Android 9.0.



    Ensimmäistä kertaa custom ROMia asennettaessa laitteelle kannattaa tehdä täydellinen tyhjentäminen ”Format Data” -komennolla, jotta laitteen käyttämisen voi aloittaa ikään kuin puhtaalta pöydältä ja mahdolliset tallennustilan salaukset saadaan purettua. Komento löytyy TWRP:n Wipe-osiosta ja se tulee hyväksyä kirjoittamalla tekstiruutuun ”yes” vahinkopainalluksien estämiseksi. Tämän jälkeen palataan takaisin Wipe-osion aloitusruutuun ja suoritetaan System, Data ja Cache -sektoreiden tyhjentäminen ”Advanced Wipe” -painikkeen takaa. Myöhemmin custom ROMia vaihdettaessa ei yleensä tarvitse tehdä täydellistä tyhjentämistä (Format Data), vaan ”Advanced Wipe” -komennon kautta tehtävä tyhjentäminen riittää.



    Tyhjentämisen jälkeen puhelimessa ei enää ole käyttöjärjestelmää, joten uusi käyttöjärjestelmä asennetaan laitteeseen custom ROMin muodossa. Aiemmin ladatut AEX ja GAPPS -paketit siirretään usb-yhteyden kautta puhelimen tallennustilan juureen edelleen TWRP:ssä ollessa. Asennus tapahtuu Install-osiossa valitsemalla haluttu zip-paketti yksi kerrallaan. Ensimmäiseksi asennetaan AEX 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ä. Yleensä kehittäjät suosittelevat asentamaan GAPPS-paketin samassa yhteydessä custom ROMin kanssa ennen käyttöjärjestelmän ensimmäistä käynnistämistä. 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.


    Käyttökokemukset ja huomiot




    Nimensä mukaisesti AEX perustuu AOSP:iin, joten se vastaa ulkoasultaan ja toiminnoiltaan puhdasta Androidia. AEX:n tarkoituksena on tarjota käyttäjille sulava käyttökokemus ajan tasalla olevilla tietoturvapäivityksillä sekä muutamilla lisäominaisuuksilla, jotka on poimittu häpeilemättä muista custom ROMeista. Virallisesti tuetuille laitteille päivityksiä tulee vähintään kerran kuukaudessa.



    Testijakson aluksi Redmi Note 4 -puhelimeen asennettiin AEX 6.1 -ohjelmisto, joka perustuu Android 9.0 -versioon. Ainoaksi puuttuvaksi ominaisuudeksi ohjelmistossa oli merkitty tallennustilan salauksen puute, mikä kuitenkin korjaantui testijakson lopulla saapuneen päivityksen myötä. AEX 6.1:n tietoturvataso oli päivätty 5. joulukuuta 2018 mutta testijakson aikana laitteelle saapui AEX 6.2 -päivitys, joka päivitti tietoturvatason kuukautta tuoreemmaksi (5. tammikuuta 2019). Esiasennettuja sovelluksia AEX 6.1 -versiossa oli yhteensä 20 kappaletta, joista AOSP:sta poikkeavia sovelluksia olivat AEXPapers, FM Radio, Lineage OS:n Kamera ja Nauhoitus -sovellukset, Retro Music ja Via -selain. Lisäksi AEX 6.2 -päivitys toi mukanaan AdvanceControls -sovelluksen, jolla voidaan säätää värinän voimakkuutta, taskulamppuna toimivan salaman kirkkautta sekä näytön asetuksia.



    AEXPapers on AEX:n kehittäjien omaa käsialaa ja se pitää sisällään tuhdin pakkauksen AEX-henkisiä taustakuvia. Taustakuvia on saatavilla vaaleana ja tummana, joten puhelimen teemaa voidaan vaihtaa myös taustakuvien mukaan. AEXPapersin lisäksi taustakuvia on saatavilla esiasennetun vakio Androidin Taustakuvat -sovelluksen kautta. Retro Music ja Via -selain ovat kolmansien osapuolten tekemiä sovelluksia, jotka ovat saatavilla myös Play Kaupasta. FM Radio on puolestaan avoimeen lähdekoodiin (CAF) perustuva Qualcommin kehittämä sovellus. Esiasennettuja sovelluksia ei ole mahdollista poistaa käyttäjän toimesta.



    AEX-ohjelmistoon lisätty Lineage OS:n Snap-kamera vastaa ominaisuuksiltaan MIUI-käyttöliittymän kamerasovellusta mutta kameran suorituskykyyn se ei tuo sinällään mitään uutta. Custom ROMit kuitenkin mahdollistavat Android Lollipopin yhteydessä esitellyn Camera2-rajapinnan hyödyntämisen, minkä vuoksi valokuvaukseen perehtyneiden käyttäjien kannattaa harkita rajapintaa hyödyntävän kamerasovelluksen asentamista esimerkiksi Play Kaupasta. Suosittu vaihtoehto on myös Google Pixel -puhelimien muokatun kamerasovelluksen asentaminen APK-tiedostona. Eri laitteille sovitettuja ”Gcam-porttauksia” on saatavilla esimerkiksi XDA-sivuston kokoamasta portaalista ja myös Redmi Note 4:lle on saatavilla kyseiselle laitteelle sopiva Google Kamera -sovellus.

    Alla on muutama vertailukuva Snap-kameran (v2.02.014) ja Google Kameran (v6.1.013) välillä. Kuvaparin ensimmäinen kuva on otettu Snap-kameralla ja jälkimmäinen Google Kameralla. Hämäräkuvissa käytettiin kamerasovelluksen yö-tilaa mutta muuten käytettiin automaattiasetuksia.



    AEX:n lisäominaisuudet ovat koottu pääosin asetuksien Extensions -osioon, joka on jäänyt muista valikoista poiketen kääntämättä suomeksi. Osiosta löytyy kattava lista myös muista custom ROMeista tuttuja ominaisuuksia. Alla olevalla videolla on esitetty joitain AEX:n keskeisempiä ominaisuuksia.



    Testijakson aikana laitteen toiminnassa ei havaittu puutteita tai ongelmia kertaalleen ilmaantunutta ”Device Health Services” -sovelluksen kaatumista lukuun ottamatta. Kaikki testatut sovellukset toimivat custom ROMissa ongelmitta pankki- ja videopalvelusovelluksia myöten. Ainoastaan WhatsApp -sovellus varoitti muokatusta ohjelmistosta mutta varsinaiseen käyttöön huomautuksella ei ollut vaikutusta. Puhelimen Widevine-taso pysyi projektin aikana L3:ssa.

    Suorituskyvyn suhteen custom ROMin asentamisella ei ollut juurikaan vaikutusta, vaikka mittaustuloksissa havaittiinkin pientä parannusta MIUI-käyttöliittymään nähden. Erot olivat kuitenkin sen verran pieniä, ettei niillä ollut käytännön kannalta merkitystä. Vertailun vuoksi testit ajettiin myös hieman tuoreemmalla Snapdragon 630 -järjestelmäpiirillä varustetulla Sony Xperia XA2 -puhelimella. Xperia XA2 oli varustettu Sonyn Android Oreo 8.0 -ohjelmistolla.

    [​IMG]


    Yhteenveto


    Custom ROMin avulla Redmi Note 4 -puhelimen Android-versio saatiin päivitettyä uusimpaan Android Pie 9.0 -versioon ja tietoturvataso nostettua lokakuusta 2018 tammikuulle 2019. Lisäksi AEX:n myötä raskaasti kustomoitu MIUI-käyttöliittymä korvattiin vakio Androidin kaltaisella käyttöliittymällä. Jatkossa puhelimelle on saatavilla kuukausittaiset tietoturvapäivitykset niin kauan, kun vapaaehtoiset kehittäjät laitteen parissa työskentelevät. Vaikka mitään lupauksia päivitystuen kestosta ei olekaan AEX:n puolelta annettu, voidaan päivitysten olettaa jatkuvan vielä pitkään. Halutessaan custom ROMia voi myös vaihtaa helposti TWRP:n kautta, kun custom recovery on valmiiksi puhelimeen asennettuna.

    Custom ROMin asentamisen kääntöpuolena laitteen takuu menetetään, joten projektia ei voi varauksetta suositella kaikille. Lisäksi bootloaderin avaamisen johdosta laite on alttiimpi turvallisuusriskeille puhelimen joutuessa vääriin käsiin. Jos käyttäjä kuitenkin tietää, mitä on tekemässä, voi custom ROM asentaminen olla tietyissä tilanteissa erinomainen keino parantaa laitteen käyttökokemusta ja elinikää. Yksi esimerkki tästä on myös Camera2-rajapinnan hyödyntäminen kameran kuvanlaadun parantamiseksi. Custom ROMien myötä kuluttajien ei tarvitse tyytyä laitevalmistajan tarjoamaan ohjelmistoon ja päivitystukeen, vaan käyttäjä voi itse asentaa Android-laitteeseen sellaisen ohjelmiston kuin haluaa.

    Huom! Foorumiviestistä saattaa puuttua kuvagalleria tai upotettu video.

    Linkki alkuperäiseen uutiseen (io-tech.fi)

    Palautelomake: Raportoi kirjoitusvirheestä
     
    Viimeksi muokannut ylläpidon jäsen: 29.01.2019
    Bustis, JOHTAJ4, makke95 ja 14 muuta tykkäävät tästä.
  2. Sampsa

    Sampsa Sysop Ylläpidon jäsen Team PUBG Team Stream Team H2O

    Viestejä:
    7 422
    Rekisteröitynyt:
    13.10.2016
    Viimeksi muokattu: 28.01.2019
    JOHTAJ4, makke95, mt247 ja 6 muuta tykkäävät tästä.
  3. Hessu

    Hessu Team H2O

    Viestejä:
    3 666
    Rekisteröitynyt:
    29.10.2016
    Hyvä artikkeli ja loistava opas. Artikkelin kommentit eivät synkkaa näköjään foorumin puolelle.
     
    FlyingAntero tykkää tästä.
  4. Sampsa

    Sampsa Sysop Ylläpidon jäsen Team PUBG Team Stream Team H2O

    Viestejä:
    7 422
    Rekisteröitynyt:
    13.10.2016
     
  5. ttjm

    ttjm

    Viestejä:
    4 810
    Rekisteröitynyt:
    19.10.2016
    Tulipas sopivasti todellä hyvä artikkeli.
    Pitääpä tarkastaa meneekö tuo ihan samalla tavalla Mi6:lle.
     
    FlyingAntero tykkää tästä.
  6. BlackWolf

    BlackWolf Suomen Michael Jackson

    Viestejä:
    604
    Rekisteröitynyt:
    18.10.2016
    @Sampsa minä suosittelisin että TWRP:n installoimisen jälkeen käytettäisiin vain komentoa "fastboot reboot", mikä boottaa automaattisesti TWRP:hen, ei tarvitse kikkailla sen volumenapin ja virtanapin kanssa enää uudestaan.

    Hyvä artikkeli, tykkäsin!
     
    FlyingAntero tykkää tästä.
  7. jkaart

    jkaart

    Viestejä:
    559
    Rekisteröitynyt:
    18.10.2016
    Toi että bootloader olisi aina lukittuna ei pidä kaikilla valmistajilla paikkansa.
    Ainakin Samsungilla käsittääksein S8:n Exynos varianteissa on toi auki jo valmiiksi?!
     
  8. JoniS

    JoniS ???

    Viestejä:
    136
    Rekisteröitynyt:
    28.12.2016
    Ja osassa malleja se aukeaa ihan fastboot komennolla, ilman mitään kikkailuja.
     
    FlyingAntero, erihyva ja elmu01 tykkäävät tästä.
  9. elmu01

    elmu01

    Viestejä:
    189
    Rekisteröitynyt:
    06.02.2017
    Oneplus on kyllä harrastelijan/säätäjän unelma just tästä syystä:tup:
     
    FlyingAntero tykkää tästä.
  10. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Samsungin Exynos luureissa täytyy käsittääkseni käydä klikkaamassa OEM Unlock aktiiviseksi ennen kuin Odinilla voi flashata esim TWRP:n sisään. Eli periaatteessa pitää se unlockaus suorittaa. Lisäksi Samsungilla on KNOX, joka indikoi, jos luuriin on asennettu custom firmware.
    Tämä on ihan totta. Esimerkiksi Googlella ja OnePlussalla bootloaderin lukituksen voi poistaa suoraan ADB:n kautta yhdellä komennolla eikä käyttäjältä vaadita mitään kikkailuja. Kuitenkin se lukitus pitää poistaa sillä ADB komennolla. Vastaavasti Huawei on nykyään estänyt bootloaderin aukaisemisen kokonaan. Käytännöt tosiaan vaihtelevat valmistajilla.
     
    elmu01 ja ttjm tykkäävät tästä.
  11. kurkimies

    kurkimies

    Viestejä:
    2 183
    Rekisteröitynyt:
    21.08.2017
    Mitenkäs se olikaan Oneplussan tapauksessa eli takuu ei raukea vaikka vaihtaa ohjelmistoa?
     
  12. sbasil

    sbasil

    Viestejä:
    1 880
    Rekisteröitynyt:
    17.10.2016
    Hyvä ja kattava artikkeli. Kameran jälkikin paranee aika reippaasti gcamin myötä.
     
    FlyingAntero tykkää tästä.
  13. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Ainakin ennen OnePlussan luureissa sai avata bootloaderin ja flashailla custom ROMeja menettämättä takuuta. En tosin enää löytänyt yrityksen sivuilta kyseistä mainintaa, sillä bootloaderista kertova sivu on poistettu.
    Jenkeissä myytävässä T-Mobilen mallin kohdalla sanotaan, että bootloaderin avaaminen saattaa olla takuuehtojen vastaista mutta operaattorien mallien kohdalla yleensä onkin erilaiset toimintatavat (myös bootloaderin avauksen suhteen).
     
    Viimeksi muokattu: 29.01.2019
    ttjm tykkää tästä.
  14. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Tuolla tavalla recoveryyn boottaminen onnistuisi tuossa tilanteessa näppärästi mutta halusin tuoda esille, että recoveryyn voi myös bootata näppäinkombinaatiolla. Monesti TWRP:een tulee kuitenkin bootattua ilman tietokonetta. Jatkossa voi siis ladata esimerkiksi custom kernelin suoraan puhelimella sisäiseen muistiin ja bootata sitten näppäinkombinaatiolla suoraan recoveryyn. Näin saa asennettua haluamiaan paketteja ilman tietokonetta.
     
    BlackWolf tykkää tästä.
  15. sbasil

    sbasil

    Viestejä:
    1 880
    Rekisteröitynyt:
    17.10.2016
    Vieläköhän Xiaomin luurit saa unlockattua ilman yhteydenottoa valmistajaan? Mi4c:n kanssa tuo onnistui vuosi kaksi takaperin sitten kikkakolmosella aika vaivattomasti
     
  16. kurkimies

    kurkimies

    Viestejä:
    2 183
    Rekisteröitynyt:
    21.08.2017
    Mahdollisesti muuttaneet toimintatapojaan tuolla?
     
  17. Moilaps

    Moilaps

    Viestejä:
    138
    Rekisteröitynyt:
    01.01.2018
    Itse käytin omnirommia note 4:lla, mutta oli pakko vaihtaa myöhemmin takaisin stockkiin, kun ei puhelut toimineet luotettavasti. Sama ongelma oli oneplussalla kun custom romeja kokeilin.
     
  18. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Minun käsittääkseni uusimpia Xiaomin laitteita ei enää saa unlockattua ilman tunnistautumista. Xiaomi otti tunnistautumisen käyttöön joskus 2016 vuoden alussa.
    Itselläkin oli Mi4C aikanaan ja sen sai unlockattua itsenäisesti, jos ei ollut asentanut siihen uusinta päivitystä, jonka jälkeen tunnistautuminen vaadittiin.
     
    sbasil tykkää tästä.
  19. BlackWolf

    BlackWolf Suomen Michael Jackson

    Viestejä:
    604
    Rekisteröitynyt:
    18.10.2016
    En tiedä oletko sinä kirjoittanut tuon tekstin, minusta vain tuo näppäinkomento tuli esiin jo tuossa kun mentiin ekaa kertaa tuonne. Oikeasti vaiken osahan tuossa on että noi *.img nimet vaihtelee sen kulloisenkin version mukaan. Minä tykkään nimetä ne uudestaan esim. upgrade.img tms. tai sitten tabilla saa kätsysti valittua. Ymmärrän toki mitä tuossa ajetaan takaa, mutta kun on jo ajanut adb:lla useamman komennon niin näppärästi menee se nopea reboot komento samalla. Ainakin minulla on toi helvetin fastboot todella ailahtelevainen ollut sen suhteen että ottaako tuota alas ja power aina ekalla ja kuinka pitkään pitää pohjassa jne. Mutta en siis sano että se väärin olisi mennä tuota kautta.

    Sen olisi ehkä voinut mainita että missä sijaitsee radiot. Usein rommin jälkeen suositellaan dalvic ja cache tyhjentään jne. mutta siellä on tosiaan sellasiakin osioita mihin jos koskee niin sitten voi käydä paskasesti. Samalla voisi opettaa toki TWRP tehdasasetusten palautuksenkin. Lisäksi TWRP riippuu kyseisestä luurista ja tässä tapauksessa sen MIUI versiosta ja välttämättä se vanha TWRP ei enää toimi jos asentaa uudemman androidin jne. Tai ainakin MIUIlla oli jossain vaiheessa ongelmaa että jos siirtyi 5.xx 7.xx versioon niin TWRP lakkasi toimimasta ja piti asentaa uudempi TWRP. Myöhemmin tämä muistaakseni korjaantui ja uudella TWRP:llä pystyi siirtymään ilman ongelmia 5->7.
     
    Viimeksi muokattu: 29.01.2019
    FlyingAntero tykkää tästä.
  20. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Juu, minun kirjoittama on tämä juttu. Sampsa vain hoiti tuon julkaisun, kun en ole kuitenkaan osa ylläpitoa.

    TWRP:n asentamisen yhteydessä voi olla näppärin vaihtoehto bootata recoveryyn ADB-komentorivin kautta, kuten totesit, mutta jatkoa ajatellen toin tässä esille tuon näppäinkombinaation. Että TWRP:een pääsee ilman tietokonettakin :).

    Välimuistin tyhjentämisellä (wipe cache/dalvik cache) ei oikein voi saada mitään vahinkoa, kun siinä ei poisteta mitään järjestelmän osia. Jos muuta tyhjennetään, niin silloin luonnollisesti voidaan menettää jotain. Lähtökohta tässä kuitenkin oli, että kehittäjillä on kaikki lähdekoodit saatavilla, jolloin puhelin voidaan tyhjentää kokonaan ja kaikki tarvittavat ohjelmisto komponentit löytyy custom ROMista. Jos kehittäjällä ei ole kaikkia lähdekoodeja saatavilla, niin silloin voi joutua flashaamaan custom ROMin vakio ohjelmiston "päälle", jotta kaikki toimii. Silloin tyhjennyksiä ei tietenkään kannata tehdä mutta näistä kehittäjät yleensä ilmoittavat erikseen ja nämä tilanteet koskevat lähinnä unofficial buildeja.

    Nyrkkisääntö TWRP versioiden suhteen on, että aina kun Android-versio päivittyy (esim Oreo 8.1 - > Pie 9), pitää myös TWRP päivittää tuoreinta Androidia tukevaan versioon. Aina kun asentaa uusimman TWRP:n, niin ei voi mennä pahasti metsään.
     
  21. Konsta

    Konsta

    Viestejä:
    68
    Rekisteröitynyt:
    01.04.2017
    Sen verran teki mieli tarkentaa, että ADB ja fastboot on kaksi täysin eri asiaa. Molempia kyllä käytetään komentoriviltä laitteen kanssa kommunikoimiseen ja osa komennoista on samankaltaisia.

    Fastboot on alemman tason protokolla, joka on rakennettu Android-laitteiden bootloaderiin. Sitä voi käyttää vain ja ainoastaan silloin kun laite on käynnistetty bootloaderiin. ADB tarvitsee laitteen puolella käynnissä olevan palvelun toimiakseen (adbd - adb daemon, 'Android debugging' päälle kehittäjäasetuksista niin se käynnistyy). ADB:tä voi käyttää vain ja ainoastaan silloin kun laite on käynnistetty Androidiin tai recoveryyn (stock recoveryt tukee vain ADB:n sideload-tilaa - custom recoveryt myös kaikkia muita toimintoja). ADB ei tee mitään laitteen ollessa käynnistettynä bootloaderiin. Fastbootia ei myöskään kiinnosta onko 'Android debugging' päällä vai ei (esim. jos bootloaderiin voi bootata suoraan näppäinyhdistelmällä, 'adb reboot bootloader'-komennon suorittamiseen se toki pitää olla päällä).

    'fastboot reboot' käynnistää laitteen aivan normaalisti uudelleen eli boottaa kylläkin Androidiin (tai mitä sieltä boot-osion takaa löytyykin, voi sen recoveryn tietysti sinnekin flashata ;)).

    'fastboot boot recovery.img' boottaa jonkin tietyn imagen esim. vaikka recoveryn.
     
    FlyingAntero tykkää tästä.
  22. maitosarvi

    maitosarvi

    Viestejä:
    101
    Rekisteröitynyt:
    17.10.2016
    Mahtavaa sisältöä! Tosin itse en enää ole jaksanut custom rommeilla kikkailla pariin vuoteen
     
    FlyingAntero tykkää tästä.
  23. KREEGAH BUNDOLO

    KREEGAH BUNDOLO

    Viestejä:
    31
    Rekisteröitynyt:
    23.04.2017
    Todella mielenkiintoinen artikkeli tämä. Ihtellä löytyis vanhahko LG G3 johon ei ole päivityksiä tullu enää aikoihin. Tekis mieli kokeilla jotain custom romia siihen.
     
    FlyingAntero tykkää tästä.
  24. Karkkiloota

    Karkkiloota

    Viestejä:
    134
    Rekisteröitynyt:
    06.10.2017
    Enpä ole ennen nähnyt näin kattavaa tietopakettia roottaamisesta. Vieläpä suomeksi. Foorumeilla on varmasti asiaa enemmän kuin ehtii lukemaan, mutta on aivan toista lukea asiasta artikkelimuodossa - alkaen peruskäsitteistä.

    En keksi erinomaiseen artikkeliin muuta lisättävää, mutta olisi ollut kiinnostavaa jos tunnetuimpia ROMeja olisi esitelty vaikkapa vain muutamalla sanalla. "ROM X sisältää vain avoimen lähdekoodin sovelluksia, Y on tarkoitettu on asiaan Z".
     
    KREEGAH BUNDOLO ja FlyingAntero tykkäävät tästä.
  25. elmu01

    elmu01

    Viestejä:
    189
    Rekisteröitynyt:
    06.02.2017
    Ootko tähän törmänny? @FlyingAntero tekee sinne romeista pieniä katselmuksia:tup:
     
    FlyingAntero tykkää tästä.
  26. shakal

    shakal RGB ON Tukijäsen

    Viestejä:
    622
    Rekisteröitynyt:
    09.09.2017
    G3 oli vielä varapuhelimeni viime kesällä, kunnes putoi Linnanmäen huvipuistolaitteesta suihkulähteeseen. On ihan käytettävä peli vielä, kun siihen laittaa esimerkiksi LineageOS tai muun rommin.
     
    KREEGAH BUNDOLO ja FlyingAntero tykkäävät tästä.
  27. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Kiitoksia :)! Aihepiirissä on varmasti paljon käsiteltävää mutta ajankäytön vuoksi ei voinut ihan kaikkea käydä läpi. Perusasiat oli kuitenkin tarkoitus selventää käyttäjän näkökulmasta. Mukava kuulla, jos siinä tuli onnistuttua. Roottaus prosessista varmasti riittäisi jatkossakin tarinaa.
     
  28. Karkkiloota

    Karkkiloota

    Viestejä:
    134
    Rekisteröitynyt:
    06.10.2017
    On sitä luettu, ei kokonaan. Kaipaisin ehkä vielä enemmän rautalankaa. Jos joku kysyisi minulta, mitä eroa on Paranoid Androidilla ja Mokeella, en osaisi vastata. Saati sitten että kumpi kannattaisi valita ja miksi.

    Luulen että tuossa on asian ydin, mutta minulle se ei kerro paljoakaan, ilman että otan ensin selvää, mikä on AOSPA tai CAF.

    Minusta olisi oikeasti kiinnostavaa, miten kunkin ROMin idean tiivistäisi yhteen lauseeseen.
     
  29. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Itse asiassa minulla oli yhdessä vaiheessa projektina kuvata "kaikki" custom ROMit parilla virkkeellä ja lopuksi vielä yhdellä adjektiivillä. Jonkin verran siinä edistyinkin mutta projekti jäi lopulta pöytälaatikkoon. Pitää ehkä herätellä se vielä henkiin ja julkaista joskus jossain muodossa.
     
    Kidov, AkQ, Juha Kokkonen ja 1 muu käyttäjä tykkää tästä.
  30. shgth

    shgth

    Viestejä:
    34
    Rekisteröitynyt:
    26.05.2017
    Itsellä on käytössä ollut jo yli vuoden Samsung Galaxy S3 LTE vanhus-puhelimessa Resurrection Remix OS. On se kiva kun on Android 7.1.2.. Virallisesti tuohon saisi vain 4.4.4. Hyvin pelannut alusta lähtien. Ainut negatiivinen mitä olen huomannut on että WhatsAppissa on micin volume kaikkea muuta hiljaisemmalla mutta käytän nykyään sitäkin vain tabletilla.
     
    FlyingAntero tykkää tästä.
  31. Ademeion

    Ademeion

    Viestejä:
    92
    Rekisteröitynyt:
    26.07.2017
    Redmi Note 4:ää on myyty myös Mediatekin piirillä varustettuna (itsellänikin on valitettavasti sellainen versio), ja ohje ei toimine niissä laitteissa. Jos näin on, niin asia olisi varmaankin hyvä mainita jutussa.
     
  32. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Tuota MediaTek mallia (koodinimi "nikel") ei ole käsittääkseni Suomessa ollut myynnissä mutta olisi asiasta voinut toki mainita. Ohje toimii periaatteessa samalla tavalla mutta tiedostot pitää vain korvata MediaTek mallille sopivilla tiedostoilla (eli etsiä "nikel" nimellä).

    MediaTek ei kuitenkaan julkaise lähdekoodeja kovin hyvin, joten tuolle ei ole virallista TWRP versiota ja custom ROM valikoima on huomattavasti suppeampi. Tässä joitain vaihtoehtoja:

    TWRP
    Custom ROM
    Nopeasti katselin, että jotkut ominaisuudet eivät toimi ja Android-versio Nougat. Tässä hyvin korostuu, kuinka tärkeää lähdekoodien saatavuus on custom ROMien kanssa.
     
    Juha Kokkonen tykkää tästä.
  33. P13n1

    P13n1

    Viestejä:
    5
    Rekisteröitynyt:
    29.04.2017
    Onko näissä custom ROM asennuksissa vielä olemassa ongelma, ettei esim mobiilipankit toimi koska rootattu puhelin?
     
  34. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Ainakin tässä tapauksessa testatut mobiilipankit (Danske bank, Nordea, S-pankki) toimivat ongelmitta, kuten artikkelissa todetaan. Nordean sovelluksella tunnistauminen onnistui myös sormenjäljellä. Artikkelissa puhelinta ei kuitenkaan rootattu vaan asennettiin pelkkä custom ROM. Roottaus vaatii lisäksi sen pääkäyttäjän oikeudet mahdollistavan paketin asentamisen.

    Pankkisovelluksien toiminta riippuu siitä, millaisia tunnistusmekanismeja niihin on rakennettu. Jotkut tunnistaa rootin, Safety Netin tai kehittäjä asetuksien aktivoinnin. Roottaus tapojakin on erilaisia (esim SuperSU ja Magisk), joten nekin vaikuttaa. Ainakin Magisk-roottauspaketilla rootin voi myös piilottaa sovelluskohtaisesti ja se toimii ainakin joidenkin sovellusten kanssa, jotka muuten herjaisivat rootista.
     
    Viimeksi muokattu: 01.02.2019
    P13n1 ja Juha Kokkonen tykkäävät tästä.
  35. tuskis

    tuskis

    Viestejä:
    349
    Rekisteröitynyt:
    26.08.2017
    Mitenköhän näiden kiinaluurien tietoturvallisuus custom rommeista huolimatta?
     
  36. PAMPPU

    PAMPPU

    Viestejä:
    215
    Rekisteröitynyt:
    19.10.2016
    Itsellä on Nexus 6 custom romilla ja rootattu magiskilla. Nordean tunnuslukusovellus ja mobiilipankki toimii. Magiskilla voi roottauksen "piilottaa" sovelluskohtaisesti
     
    FlyingAntero tykkää tästä.
  37. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Custom romit ovat vapaaehtoisten kehittäjien tekemiä, joten periaatteessa siellä ei ole valmistajan ohjelmistoa jäljellä. Toisaalta custom ROM pohjautuu osittain valmistajan jakamaan (avoimeen) lähdekoodiin esimerkiksi AOSP:n ja CAF:n lisäksi, joten jollain tasolla siellä on valmistajan koodia jäljellä. Custom ROMit ovat kuitenkin käytännössä aina avointa lähdekoodia, joten jos siellä koodissa olisi jotain takaportteja, niin ne tulisi varmaankin ilmi (?). Lähtökohtaisesti avoin lähdekoodi on tietoturvan kannalta positiivinen ratkaisu. Joku kehittäjä varmaan osaisi ottaa tähän paremmin kantaa, sillä minulla ei riitä osaaminen arvioimaan tällaista kokonaisuutta.

    Custom ROMien kohdalla bootloaderin avaaminen on itsessään tietynlainen riski mutta toisaalta custom ROMin avulla puhelin on mahdollista päivittää ajantasalle (esim. tietoturvataso), jolloin suojaudutaan taas toisenlaisilta hyökkäyksiltä. Eli vähän tällainen kaksipiippuinen juttu.
     
    ttjm ja Juha Kokkonen tykkäävät tästä.
  38. tuskis

    tuskis

    Viestejä:
    349
    Rekisteröitynyt:
    26.08.2017
    Softan puolesta ymmärtää tosiaan ollessa avoimen lähdekoodin alla, yleensä noista kyllä yhteisö aika äkkiä älähtää jos löytyy jotain epäillyttävää. Mutta jos vähän tiukennetaan foliohattua, niin enemmän mietin pääseekö nuo kiinaluurit raudan kautta silti vuotamaan dataa jotenkin vaikka puhelimen mukana tullut softa olisikin vaihdettu.
     
  39. Kidov

    Kidov

    Viestejä:
    99
    Rekisteröitynyt:
    21.11.2016
    Hyvin kirjoitettu artikkeli ja jaksoin lukea kokonaisuudessaan, vaikka custom rommien parissa onkin tullut pelattua jo Galaxy S kakkosesta lähtien. Kiinnitin huomiota artikkelissa mainittuun selvitykseen bootloaderista:

    "Bootloader on laitteen alin ohjelmistokerros, joka käynnistää varsinaisen käyttöjärjestelmän. Se ei siis ole osa itse käyttöjärjestelmää, vaan verrattavissa PC-maailmasta tuttuun BIOSiin."

    Käsittääkseni perinteinen PC:n BIOS lataa erillisen käynnistyslataajan (esim Grub / Windows bootloader jne.), joka sitten aloittaa varsinaisen käyttöjärjestelmän käynnistämisen. UEFI BIOS toki voi toimia myös käynnistyslataajana ja sillä voi käynnistää suoraan esim EFI stub kernelin, mutta aika harva taitaa tätä ominaisuutta käyttää? Onko Android puhelimissa käytetty bootloader sittenkin lähempänä PC:n käynnistyslataajaa kuin biossia?
     
  40. baggio

    baggio

    Viestejä:
    432
    Rekisteröitynyt:
    10.01.2019
    Aiheen ja sisällön, selkeyden(!) ja suomen kielen osalta poikkeuksellisen hieno artikkeli!
     
    Viimeksi muokattu: 01.02.2019
    Bustis, FlyingAntero ja Juha Kokkonen tykkäävät tästä.
  41. Marti77

    Marti77 Team H2O

    Viestejä:
    1 150
    Rekisteröitynyt:
    16.12.2016
    Kiinnostava artikkel ja on hieman vaikea saada se helposti luettavaan muotoon mutta omasta mielestä onnistuit aika hyvin.
    Monelle se on aika iso kynnys asentaa custom rom puhelimeen vaikka se tarjoaa usein ihan hyvin toimivan kokonaisuuden ja ei tarvitse kiroa puhelinvalmistajan etanavauhtia päivityksissä jos edes tulevat.
     
    FlyingAntero ja Juha Kokkonen tykkäävät tästä.
  42. kurkimies

    kurkimies

    Viestejä:
    2 183
    Rekisteröitynyt:
    21.08.2017
    Tärkeintä tässä on, että laite saa päivityksiä eli valmistaja ei välttämättä tuo päivityksiä ja näillä saadaan jatkettua käyttöä. Sekä saadaan valmistajan laittamat ohjelmat pois eli tätä kautta jopa nopeampi.
     
    Marti77 ja FlyingAntero tykkäävät tästä.
  43. Corex

    Corex Tukijäsen

    Viestejä:
    721
    Rekisteröitynyt:
    17.10.2016
    Olipas monimutkainen asennusprosessi. Kun kikkailin cyanogenmodin ja S4 activen kanssa niin toiminta oli aika suoraviivaista. Xiaomin kaltaista kikkailua en varmaan jaksaisi...

    Itse custom romista jäi vähän ristiriitainen tunnelma. Bugeja oli monenlaisia etenkin kameran kanssa. Jos sattui löytämään vakaan version niin sitä ei uskaltanut päivittää :) Mutta sen verta hyvin pystyi tekohengittämään vanhaa laitetta että oli vaivan arvoista.

    Todennäköisesti asennan nykyiseen moto x4:ään customin jahka takuu loppuu ja/tai päivitykset harvenee.
     
    Juha Kokkonen ja FlyingAntero tykkäävät tästä.
  44. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Voit olla ihan oikeassa. BIOS ei ehkä ole paras vertauskuva mutta selventänee kuitenkin bootloaderin merkitystä tässä tapauksessa. Lähinnä halusin vain tuoda esille, että bootloader ei ole osa itse käyttöjärjestelmää, vaan "alempi" ohjelmistokomponentti. En tosiaan ole itse kehittäjä tms. vaan kirjoitan juttuja tavallisen käyttäjän näkökulmasta.

    Kiitokset kehuista :)
     
    Kidov tykkää tästä.
  45. Konsta

    Konsta

    Viestejä:
    68
    Rekisteröitynyt:
    01.04.2017
    Custom ROMit eivät ole kokonaisuudessaan avointa lähdekoodia. Mukana on myös iso määrä binäärimuotoisia laiteajureita (AOSP, Nexus/Pixel - Driver Binaries for Nexus and Pixel Devices  |  Google APIs for Android  |  Google Developers, LineageOS - TheMuppets). Yleensä nuo on irrotettu valmistajan stock firmwaresta tai toisen valmistajan vastaavasta laitteesta (sama piirisarja yms.), jos alkuperäinen valmistaja ei enää tarjoa päivitystä tiettyyn Android-versioon. Käytännössä mikään (audio, GPU, GPS, kamera, sensorit, videon rautakoodaus, DRM, jne.) ei toimi nykyaikaisessa laitteessa ilman noita omisteisia laiteajureita (proprietary blobs).

    Qualcomm on jenkkifirma (ja sen myynti ulkomaille estettiin kansallisen turvallisuuden nimissä), joten jos jostain alemmalta tasolta vuotaa jotain, niin suunta ei ole itään? :p Noh, foliohattuilut sikseen. Jos Kiinalaisten tiedonkeruu huolettaa, niin MIUI:n vaihtaminen LineageOS:iin varmasti ainakin parantaa tilannetta alkuperäisestä!

    Ei niitä varmaan edes kannata rinnastaa samalla tavalla. Esim. Qualcommin laitteilla on itse asiassa useampi bootloader ketjussa (Qualcomm’s Chain of Trust). Android-laitteiden kohdalla kun puhutaan bootloaderista, yleensä tarkoitetaan tuota viimeistä (aboot - Android bootloader) ja sillä on myös muita tehtäviä (fastboot, boot/recovery, jne). Tuossa vielä hyvää juttua tätä alemman tason bootloadereiden hyödyntämisestä (Exploiting Qualcomm EDL Programmers (1): Gaining Access & PBL Internals).
     
    Kidov ja FlyingAntero tykkäävät tästä.
  46. Marti77

    Marti77 Team H2O

    Viestejä:
    1 150
    Rekisteröitynyt:
    16.12.2016
    Usein ennen kun harkitsee custom rom asennusta kannattaa lukea millaiset kokemukset muilla on ollut asentaessa tiettyyn puhelimeen kun jotkut ominaisuudet ei välttämättä toimi.
    Itse harkitsin vanhan tablettiin custom romin asennusta mutta siihen malliin ei ollut mitään saatavilla kun oli halpa malli sekä vielä mediatek piirillä oleva mallia.
     
    Juha Kokkonen ja FlyingAntero tykkäävät tästä.
  47. ttjm

    ttjm

    Viestejä:
    4 810
    Rekisteröitynyt:
    19.10.2016
    No menihän se :)
    Download center | AospExtended
    Olin tuon bootloaderin avannut jo joskus viime vuoden puolella, mutta jä homma vähän kesken, kun silloin oli vielä aika huonosti vaihtoehtoja tarjolla.
    Vähän tuli sössittyä, kun en muistanut ensin formatoida puhelinta välillä, niin ei onnistunut tiedostojen siirtäminen koneelta. Jotenkin muistaisin että on tämä sama unohtunut viimeksikin Desire HD:n kanssa :D

    Vaikuttaa ainakin näin vajaan tunnin räpläilyn jälkeen toimivalta. Pitää testailla tarkemmin tässä viikolla.
     
    Juha Kokkonen ja FlyingAntero tykkäävät tästä.
  48. raulibadding

    raulibadding

    Viestejä:
    287
    Rekisteröitynyt:
    21.10.2016
    Tuli artikkelin innoittamana kaivettua vanhahko Galaxy S2 kaapista ja runtattua Resurrection Remix OS sisään. Yllättävän jouhevasti toimii Samsungin bloatwarella kyllästettyyn KitKattiin verrattuna.

    Mitään varsinaista tarkoitusta operaatiolle tai käyttökohdetta puhelimelle ei ollut, mutta ihan mielenkiintoista testata 8 vuotta vanhaa laitetta Oreon kanssa. :geek:
     
  49. kurkimies

    kurkimies

    Viestejä:
    2 183
    Rekisteröitynyt:
    21.08.2017
    Just näin, kun ihmiset eivät tiedä paremmasta, niin ostetaan uusia laitteita. Vaikka näillä saadaan jatkettua käyttöä.
     
    Marti77 ja FlyingAntero tykkäävät tästä.
  50. FlyingAntero

    FlyingAntero ɑ n d r o i d Tukijäsen Team Android

    Viestejä:
    3 976
    Rekisteröitynyt:
    17.10.2016
    Aivan mahtavaa! Ei sitä asennukselle aina tarvi edes välttämättä olla mitään sen suurempaa syytä, vaikka parhaimmillaan custom ROMeilla saakin jatkettu vanhemman laitteen elinkaarta.
     
    Marti77, raulibadding ja ttjm tykkäävät tästä.