Kuinka DIY Port TWRP for Android

, voit yrittää työskennellä pienemmän puun kanssa, kuten tämä Vähimmäisilmoitus TWRP . Saattaa kuitenkin olla tilanteita, joissa tarvitset enemmän repoja kuin tämä luettelo sallii.



Tärkeä huomautus ennen kääntämistä: Jos lisäät tai muutat lippuja, sinun on tehtävä puhdas (tai tehtävä clobber) ennen uudelleen kääntämistä, muuten lippusi muutokset eivät sisälly!

Kun olet saanut TWRP-lähdekoodin, meidän on vaihdettava joitain tietyn laitteesi koontilippuja. Etsi laitteellesi BoardConfig.mk - tyypillisesti tämä löytyy laitteet / valmistaja / koodinimi (esimerkiksi laitteet / lge / hammerhead / BoardConfig.mk)



Taulun kokoonpanoon on sisällytettävä arkkitehtuuri ja käyttöympäristön asetukset - nämä ovat yleensä jo mukana jos käytät jonkun muun laitteen kokoonpanoa. Mutta jos olet luonut oman, sinun on lisättävä ne. Tämä johtuu siitä, että ilman heitä palautuskäynnistys voi rikkoutua ja se vain vilkkuu TeamWin-logoa näytöllä toistuvasti.



Liput tulee laittaa BoardConfig.mk -alareunan otsikkoon #twrp



Sillä kaikki laitteita, sinun on ohjeistettava TWRP: tä, mitä teemaa käytetään. TW_THEME-lippua käytetään vanhemman DEVICE_RESOLUTION-lipun sijasta, mikä tarkoittaa, että TWRP käyttää nyt skaalausta minkä tahansa teeman venyttämiseen.

Vaihtoehdot ovat: muotokuva_hdpi, muotokuva_mdpi, maisema_hdpi, maisema_mdpi ja katselu_mdpi. Pystytilassa haluat todennäköisesti HDD-teeman 720 × 1280 tai enemmän, mutta vaakasuuntaisissa laitteissa 1280 × 720 tai enemmän.

Joten rakennuslippusi + teeman lipun pitäisi näyttää tältä:



#twrp

TW_THEME: = muotokuva_hdpi

Joitakin ylimääräisiä koontilippuja, jotka haluat sisällyttää tähän osioon (hyvitykset XDA-foorumeille):

  • RECOVERY_SDCARD_ON_DATA: = true (tämä mahdollistaa / data / media asianmukaisen käsittelyn laitteissa, joilla on tämä kansio tallennusta varten (useimmat Honeycomb ja laitteet, jotka alun perin toimitettiin ICS: n kanssa, kuten Galaxy Nexus). Tätä lippua ei kuitenkaan vaadita tämän tyyppisille laitteille. Jos älä määritä tätä lippua äläkä myöskään sisällä viitteitä / sdcard-, / internal_sd-, / internal_sdcard- tai / emmc-tiedostoon fstabissa, oletamme automaattisesti, että laite käyttää emuloitua tallennustilaa.)
  • BOARD_HAS_NO_REAL_SDCARD: = true - poistaa SD-kortin osioinnin kaltaiset asiat käytöstä ja saattaa säästää tilaa, jos TWRP ei sovi palautuspatioosi
  • TW_NO_BATT_PERCENT: = true - poistaa akun prosenttiosuuden näyttämisen laitteilta, jotka eivät tue sitä kunnolla
  • TW_CUSTOM_POWER_BUTTON: = 107 - mukautettu yhdistää lukitusnäytön virtapainikkeen
  • TW_NO_REBOOT_BOOTLOADER: = true - poistaa uudelleenkäynnistyslataimen painikkeen uudelleenkäynnistysvalikosta
  • TW_NO_REBOOT_RECOVERY: = true - poistaa uudelleenkäynnistyksen palautuspainikkeen uudelleenkäynnistysvalikosta
  • RECOVERY_TOUCHSCREEN_SWAP_XY: = true - vaihtaa kosketusten kartoituksen X- ja Y-akselien välillä
  • RECOVERY_TOUCHSCREEN_FLIP_Y: = tosi - kääntää y-akselin kosketusnäytön arvot
  • RECOVERY_TOUCHSCREEN_FLIP_X: = true - kääntää x akselin kosketusnäytön arvot
  • TWRP_EVENT_LOGGING: = true - mahdollistaa kosketustapahtumien kirjaamisen helpottamaan kosketusnäyttöongelmia (älä jätä tätä julkaisuun - se täyttää lokitiedostosi hyvin nopeasti)
  • BOARD_HAS_FLIPPED_SCREEN: = tosi - kääntää näytön ylösalaisin näytöille, jotka on asennettu ylösalaisin

Muita koontilippuja löytyy siirtymällä Android.mk-tiedostojen kautta palautuslähteeseen, mutta niitä ei yleensä käytetä, joten niitä ei ole järkevää dokumentoida.

Recovery.Fstab-sovelluksen käyttäminen

TWRP 2.5 ja uudemmat tukevat uutta palauttamista. Fstab-ominaisuuksia - etenkin kykyä laajentaa TWRP: n varmuuskopiointi- ja palautustoimintoja. Sinun ei tarvitse lisätä fstab-lippuja, koska suurin osa osioista käsitellään automaattisesti.

TWRP tukee vain v2 fstab-versioita versiossa 3.2.0 ja sitä uudemmissa versioissa - TWRP: n vanhemmissa versioissa sinun on käytettävä vanhaa fstab-muotoa. Tässä on esimerkki TWRP fstabista Galaxy S4: lle:

Maksimoidaksesi yhteensopivuuden tietyn rakennepuun kanssa, voit luoda twrp.fstab-tiedoston ja sijoittaa tiedostoon PRODUCT_COPY_FILES> etc> twrp.fstab.

Kun TWRP käynnistää ja löytää twrp.fstab-levyn ramdisk-levyltä, se nimeää sen uudeksi nimeksi> etc> recovery.fstab.bak - pohjimmiltaan se korvaa laitteesi fstab-tiedoston TWRP-fstabilla, joka laajentaa yhteensopivuutta.

Esimerkkikoodi:

PRODUCT_COPY_FILES + = device / lge / hammerhead / twrp.fstab: palautus> juuri> jne.> Twrp.fstab

TWRP: n fstab voi sisältää joitain “lippuja” jokaiselle fstabissa luetellulle osiolle.

Nämä liput lisätään loppuun osion luettelosta fstabissa erotettuna välilyönneillä / välilyönneillä / välilehdillä. Lippu vaikuttaa vain kyseiseen osioon, mutta ei muihin. Liput erotetaan puolipisteillä. Tässä on esimerkkikoodi:

Joten tutkitaan tätä vähitellen. Tässä oleva lippu antaa näyttönimen 'Micro SDcard'. Wipeingui-lippu tekee tämän osion pyyhittäväksi Advanced Wipe -valikossa. Irrotettava lippu osoittaa, että tätä osiota ei ole aina läsnä, mikä estää asennusvirheiden näyttämisen.

Täydellinen luettelo lipuista (hyvitykset TeamWinille) :

  • irrotettava - osoittaa, että osiota ei välttämättä ole läsnä, mikä estää asennusvirheiden näkymisen käynnistyksen aikana
  • varastointi - osoittaa, että osiota voidaan käyttää tallennustilana, mikä tekee osiosta saatavana tallennustilan varmuuskopiointia, palautusta, zip-asennuksia jne. Varten
  • asetukset varastointiin - vain yksi osio tulisi asettaa asetustallennustilaksi, tätä osiota käytetään TWRP: n asetustiedoston tallennuspaikkana
  • purettu - osoittaa, että osio voidaan pyyhkiä taustajärjestelmällä, mutta sitä ei välttämättä ole lueteltu käyttöliittymässä käyttäjän pyyhkimistä varten
  • userrmrf - ohittaa normaalin pyyhkimisen muodon ja sallii osion pyyhkimisen vain komennolla rm -rf
  • Varmuuskopiointi = - täytyy seurata yhtälömerkillä, joten varmuuskopio = 1 tai varmuuskopio = 0, 1 osoittaa, että osio voidaan listata varmuuskopiointi- / palautusluettelossa, kun taas 0 varmistaa, että tämä osio ei näy varmuuskopiolistassa.
  • wipeingui - saa osion näkymään käyttöliittymässä, jotta käyttäjä voi valita sen pyyhkimistä varten pyyhkäisyn lisävalikossa
  • tehdasasetusten pyyhkiminen - osio pyyhitään tehdasasetusten palautuksen aikana
  • sivuuttaablkid - blkid käytetään määrittämään, mitä tiedostojärjestelmää TWRP käyttää, tämä lippu saa TWRP: n ohittamaan / jättämään huomiotta blkidin tulokset ja käyttämään vain fstabissa määritettyä tiedostojärjestelmää
  • retainlayoutversion - saa TWRP: n säilyttämään .layoutversion-tiedoston / data laitteissa, kuten Sony Xperia S, joka käyttää tavallaan / data / media, mutta jolla on silti erillinen / sdcard-osio
  • symlink = - saa TWRP: n suorittamaan ylimääräisen asennuskomennon osiota asennettaessa, jota käytetään yleensä / data / media -laitteen kanssa luomaan / sdcard
  • näyttö = - asettaa näyttönimen osiolle luetteloitavaksi käyttöliittymään
  • varastonimi = - asettaa osion tallennustilan nimen GUI-tallennusluetteloon sisällyttämistä varten
  • varmuuskopionimi = - asettaa varmuuskopion nimen osiolle luetteloitavaksi käyttöliittymän varmuuskopiointi- / palautusluettelossa
    pituus = - käytetään yleensä tyhjän tilan varaamiseen / dataosion lopussa salauksen avaimen tallentamiseen, kun Android on täydessä laitteessa salattu, tämän asettamatta jättäminen saattaa johtaa kyvyttömyyteen salaamaan laitetta
  • salauksen varmuuskopiointi = - 1 tai 0 ottaa käyttöön / poistaa käytöstä, saa TWRP: n salaamaan tämän osion varmuuskopion, jos käyttäjä valitsee salauksen (koskee vain terva-varmuuskopioita, ei kuvia)
  • userdataencryptbackup = - 1 tai 0 ottaa käyttöön / poistaa käytöstä, saa TWRP: n salaamaan vain tämän osion käyttäjätiedot, tiettyjä aliominaisuuksia, kuten / data / app, ei salata ajan säästämiseksi
  • alijako = - täytyy seurata yhtälömerkki ja sen osion polku, jonka aliosio se on. Aliosiota käsitellään pääosion 'osana', joten esimerkiksi TWRP tekee / datatiedoista automaattisesti / data-osion. Tämä tarkoittaa, että / datadata ei näy graafisen käyttöliittymän luetteloissa, mutta / datatiedot pyyhitään, varmuuskopioidaan, palautetaan, asennetaan ja irrotetaan aina, kun kyseiset toiminnot suoritetaan / data.

Hyvä esimerkki alaosien käytöstä on LG Optimus G: n 3x efs -osiot:

Tämä kokoaa kaikki kolme osiota yhdeksi EFR-merkinnäksi TWRP-käyttöliittymässä, jolloin kaikki kolme voidaan varmuuskopioida ja palauttaa yhdessä merkinnässä.

TWRP 3.2.0 tai uudempi, joka käyttää V2 Fstabia, sinä ei tarvitse lisätä mitään koontilippuja . V2 Fstab -tuki on automaattinen. V2 Fstab tukee myös jokerimerkkejä (symboli *), joista voi olla hyötyä usean osion sisältäville USB OTG- ja micro-SD-korteille. Voit myös jatkaa V1 Fstab -muodon käyttöä, ja on täysin mahdollista käyttää sekä V1- että V2-tyyppejä samassa Fstabissa.

Esimerkiksi tässä on V1 Fstab -linja, jossa on jokeri, joka on tarkoitettu USB OTG: lle:

Tässä on saman laitteen V2 Fstab -linja, jolla saavutetaan sama tulos:

Voit myös sisällyttää jne. Twrp.lippuja, jotka käyttävät V1 Fstab -muotoa, ja niitä voidaan käyttää V2 Fstabin täydentämiseen TWRP-lipuilla, muilla osioilla, joita ei sisälly V2 Fstabiin, tai korvaavilla asetuksilla V2 Fstabissa.

Esimerkiksi Huawei-laitteessa voi olla tämä V2-fstab jne-palautuksessa. Fstab:

Se voi myös sisältää nämä liput:

Joten tässä TWRP.Lippujen kaksi ensimmäistä riviä lisäävät Boot- ja Recovery-osiot, jotka eivät olleet läsnä kohdassa V2 Fstab. Sitten TWRP.flags / cust-rivi kehottaa TWRP: tä antamaan loppukäyttäjän varmuuskopioida (cust) osio ja antaa sille näyttönimen.

/ Misc-osio on twrp.flags-tiedostossa, ja / oeminfo-osio kehottaa TWRP: tä sallimaan myös varmuuskopioinnin ja näyttönimen antamisen.

Tarvitsemme / data-rivin, koska monet Huawei-laitteet ovat salattuja, mutta käytämme erityisiä Huawei-binaareja - näin käytämme Huawei-binaareja purkamaan laitteen automaattisesti palautustilassa. Joten tässä / data-rivi kehottaa TWRP: tä käyttämään / dev / block / dm -0, eikä / dev / block / bootdevice / by-name / userdata, jota käytetään tyypillisesti 'oikeaan' asennukseen.

Lopuksi on / system_image, joten TWRP sisältää vaihtoehdon luoda järjestelmäkuva Varmuuskopiointi ja Palauta -valikoihin.

Virallisen TeamWin-githubin tulisi sisältää myös uusimmat laitepuut laitteille, joilla on virallinen TWRP-portti. TeamWin github löytyy TÄSSÄ .

Kun Omni tai CM on synkronoitu ja olet määrittänyt TWRP-lippusi, sinun tulee rakentaa lähde ./build/envsetup.sh

Ja haluat 'lounastaa' laitteen, jotta voit tehdä jotain esimerkiksi 'lounas omni_hammerhead.eng'.

Onnistuneen lounaan jälkeen useimmat laitteet käyttävät tätä komentoa:

Sinun on korvattava # in –j # ytimien määrällä +1. Joten jos sinulla on kaksoisydin, se on –j3, neliöosuus on –j5 jne. Korvaa # ytimen lukumäärällä +1, joten jos sinulla on kaksoisydin, se on -j3 ja nelisydämestä tulee -j5 jne.

Myös tyypilliset Samsung-laitteet vaativat tätä:

Tämä johtuu siitä, että useimmat Samsung-laitteet sisältävät palautuksen ylimääräisenä ramdisk-levynä bootissa, erillisen palautusosion sijaan (jota useimmat muut laitteet käyttävät).

Tähän mennessä sinun on pitänyt kääntää TWRP laitteellesi ja toivottavasti se toimii emulaattoriympäristössä. Testaa TWRP-porttisi aina ensin emulaattoriympäristössä, jotta et vaarannaisi laitetta.
Lataa tämä laitekokoonpanotiedostosarja.

Kokoa palautuskuva kyseisten laitetiedostojen avulla. Napsauta Android SDK: ssa Tools -> Manage AVDs. Napsauta Uusi. Määritä se seuraavasti:

Napsauta sitten OK.

Kun sinulla on AVD ja palautuskuva, voit käynnistää TWRP: n emulaattorissa selaamalla android-sdk / tools -kansioon ja suorittamalla tämän komennon:

Huomaa, että ADB ei toimi heti. Noin 10-15 sekunnin kuluttua TWRP: n käynnistämisestä, ADB tulee verkkoon. Aloitamme ADB: n init.rc: n kautta, joten vaikka TWRP ei käynnistyisi jonkinlaisen mahdollisesti tekemäsi koodivirheen vuoksi, ADB: n pitäisi silti toimia. Nauttia!

TWRP- ja A / B-laitteet (hyvitykset TeamWinille):

TWRP-näkökulmasta A / B-laitteet eivät eroa paljon tavallisista laitteista, mutta kehittäjät näyttävät olevan ujo työskentelemään näiden laitteiden kanssa. Yritän valottaa tätä aihetta ja toivottavasti tämä toimii oppaana TWRP: n siirtämiselle A / B-laitteille.

Ensinnäkin, ymmärretään mikä on A / B-laite ja miten se eroaa. A / B-laitteissa on kopioita monista osioista laitteessa. A / B-laitteessa on 2x järjestelmäosiota, 2x käynnistysosiota, 2x toimittajaosioita, 2x modeemi- / laiteohjelmisto-osioita jne. Vain yksi paikka on käytössä kerrallaan. Varhaisen käynnistyksen aikana käynnistyslataimen ensimmäiset vaiheet lukevat pienen määrän tietoa, jota kutsutaan BCB: ksi tai Bootloader Control Blockiksi, ja päättävät, käynnistetäänkö A- tai B-osiot. Kun OTA-päivitys on saatavilla, aktiivisen paikan tiedot kopioidaan passiivisesta paikasta ja korjataan / päivitetään. Esimerkiksi, jos olet tällä hetkellä korttipaikassa A, laite lataa päivityksen ja kopioi nykyisen järjestelmäosion paikasta A ja korjaa / päivittää sen uusilla päivityksillä paikkaan B. Kun kopiointi ja päivitys on valmis, BCB päivitetään ja laite käynnistyy uudelleen korttipaikan B avulla. Seuraavan kerran, kun päivitys on saatavilla, korttipaikassa B oleva järjestelmäosio kopioidaan korttipaikkaan A ja päivitetään, BCB päivitetään ja käynnistämme uudelleen paikkaan A. Tarkastellessasi osioita laitteella, näet jotain tällaista:

Huomaa kaksoiskäynnistys-, järjestelmä- ja toimittajaosiot yllä olevassa luettelossa, mutta vain yksi userdata-osio.

Vaikka teknisesti ei ole vaatimusta, josta olen tietoinen, kaikilla tähän mennessä toimitetuilla A / B-laitteilla ei ole erillistä palautusosiota. Sen sijaan käynnistyskuva sisältää palautuksen ramdiskilleen. Tärkeää on tietää, että käynnistyskuva sisältää nyt myös palautuksen. Täydellisyyden vuoksi järjestelmäosio on täydellinen juuritiedostojärjestelmä. Jos ytimen käsketään käynnistyksen aikana käynnistymään palautukseen, se purkaa ramdiskin käynnistysosioon. Jos käynnistyslataimen ei käsketä ydintä käynnistymään palautukseen, ydin asentaa sopivan järjestelmäosion (A tai B), koska järjestelmäosio on täydellinen juuritiedostojärjestelmä. Tämä tarkoittaa, että näiden laitteiden järjestelmäosio on asennettu järjestelmään / järjestelmän sijasta ja järjestelmän osio sisältää kaikki tiedostot, jotka normaalisti olisivat olleet käynnistyskuvan ramdisk-levyllä ja / system-alikansiossa.

TWRP-näkökulmasta A / B-laitteelle on tehtävä 3 asiaa. Ensin sinun on asetettava

Koodi:

Lopuksi, kun pääset TWRP: hen, haluat todennäköisesti varmistaa, että bootctl hal-info vastaa oikein ilman virheitä. Yleensä bootctl-binaari vaatii oman kirjaston tai jopa muutaman palvelun toimiakseen oikein. Jos bootctl ei toimi oikein, et myöskään voi vaihtaa paikkaa TWRP: ssä oikein.

Asetuksen lisäksi

Koodi:

AB_OTA_UPDATER: = tosi

voit myös asettaa:

Koodi:

BOARD_USES_RECOVERY_AS_BOOT: = tosi

BOARD_BUILD_SYSTEM_ROOT_IMAGE: = tosi

Jos asetat

Koodi:

BOARD_USES_RECOVERY_AS_BOOT: = tosi

Sitten tee palautuskuva ei enää toimi ja sinun on sen sijaan tehtävä käynnistyskuva. En suosittele kummankaan tämän lipun asettamista vain TWRP-rakennuksia varten. Näitä lippuja vaaditaan todennäköisesti kehittäjille, jotka rakentavat täydellisiä ROM-levyjä A / B-laitteille.

TWRP: n asentaminen / vilkkuminen A / B-laitteisiin:

Koska kaikilla tunnetuilla A / B-laitteilla ei ole erillistä palautusosiota, joudut lopulta välittämään TWRP: n käynnistysosioon. Pixel 1: ssä ja 2: ssa käynnistämme TWRP: n väliaikaisesti käynnistämällä pikakäynnistyksen käynnistämällä TWRP: tä vilkuttamatta. Toimitamme sitten zip-tiedoston, jonka avulla käyttäjät voivat välittää TWRP: tä molempiin paikkoihin. Voit ladata yhden näistä vetoketjuista verkkosivustoltamme ja päivittää vetoketjun tarvittaessa laitteidesi tueksi. Lopulta lisäämme työkaluja TWRP: hen, jotta käyttäjät voivat välittää palautuksia näillä laitteilla tarvitsematta käyttää vetoketjuja.

Viime aikoina työskentelin Razer-puhelimen parissa. Razer Phone ei valitettavasti tue pikakäynnistystä. Sen sijaan käyttäjien on määritettävä aktiivinen käynnistyspaikka käyttämällä

Koodi:

päästä TWRP: hen. Kun he ovat TWRP: ssä, he voivat sitten siirtyä uudelleenkäynnistyssivulle ja vaihtaa takaisin alun perin aktiiviseen paikkaansa, tehdä varmuuskopion ja asentaa TWRP. Passiivisen paikan käyttäminen antaa käyttäjille mahdollisuuden saada hyvä, muokkaamaton varmuuskopio laitteestaan ​​ennen TWRP: n asentamista.

Lisämerkinnät:

Jos haluat saada TWRP: n virallisesti tuettu laitteellesi jotta se voidaan asentaa automaattisesti TWRP-sovelluksen kanssa, ja haluat todella tehdä tämän, jotta muut saman laitteen omistajat voivat nauttia virallisesta TWRP-tuesta ja se on mukava tehtävä, sinun on lähetettävä seuraavat tiedot TeamWin:

  1. Laitteen kokoonpanotiedostot TWRP: n kokoamiseksi lähteestä laitteellesi - älä pakkaa palautusta. img käsin , heidän on koottava se lähteestä.
  2. Kun TeamWin on rakentanut TWRP-kopion, he lähettävät sen sinulle vahvistettavaksi - kun olet vahvistanut sen, TeamWin rakentaa laitteellesi toimivan kuvan ja lisää sen viralliseen TWRP-sovellukseen.
13 minuuttia luettu