Kuidas teha Androidi jaoks TWRP-i isetegemist

, võite proovida töötada näiteks sellise väiksema puuga Minimaalne manifest TWRP . Siiski võib juhtuda, et vajate rohkem reposid, kui see manifest lubab.



Peamine märkus enne kompileerimist: kui lisate või muudate lippe, peate enne uuesti kompileerimist puhastama (või tegema kloberi), vastasel juhul ei lisata teie lipumuutusi!

Kui olete TWRP-i lähtekoodi saanud, peame muutma mõned teie konkreetse seadme ehituse lipud. Leidke oma seadme jaoks BoardConfig.mk - tavaliselt leiate selle seadmed / tootja / koodnimi (näiteks seadmed / lge / hammerhead / BoardConfig.mk)



Plaadi konfiguratsioon peab sisaldama arhitektuuri ja platvormi seadeid - need on tavaliselt juba lisatud kui kasutate kellegi teise seadme konfiguratsiooni. Kuid kui lõite oma, peate need lisama. Selle põhjuseks on asjaolu, et ilma nendeta võib taastamise alglaadimine rikkuda ja see vilkub TeamWini logo ekraanil korduvalt.



Lipud tuleks panna BoardConfig.mk alaossa pealkirja #twrp alla



Sest kõik seadmetes peate TWRP-le õpetama, millist teemat kasutada. Lipu TW_THEME kasutatakse vanema lipu DEVICE_RESOLUTION asemel, mis tähendab, et TWRP kasutab nüüd suvalise teema venitamiseks skaleerimist.

Teie valikud on järgmised: portree_hdpi, portree_mdpi, maastik_hdpi, maastik_mdpi ja vaatamise_mdpi. Portreerežiimi puhul soovite kõige tõenäolisemalt hdpi-teemat 720 × 1280 ja rohkem, maastikuseadmete puhul aga 1280 × 720 ja rohkem.

Nii et teie ehituse lipu jagu + teema lipp peaks välja nägema järgmine:



#twrp

TW_THEME: = portree_hdpi

Mõned täiendavad ehituskategooriad, mille soovite sellesse jaotisesse lisada (krediit XDA foorumitele):

  • RECOVERY_SDCARD_ON_DATA: = true (see võimaldab / andmeid / meediumit korralikult käsitseda seadmetes, millel on see kaust salvestamiseks (enamik kärgstruktuuri ja seadmeid, mis algselt tarniti ICS-iga, näiteks Galaxy Nexus). Seda tüüpi seadmete puhul pole seda lippu siiski vaja. ärge määrake seda lippu ja ärge lisage ka oma fstabis viiteid / sdcardile, / internal_sd, / internal_sdcardile või / emmc-le, siis eeldame automaatselt, et seade kasutab emuleeritud salvestusruumi.)
  • BOARD_HAS_NO_REAL_SDCARD: = true - keelab sellised asjad nagu SD-kaardi jaotamine ja võib säästa ruumi, kui TWRP ei sobi teie taastepatitsiooniga
  • TW_NO_BATT_PERCENT: = true - keelab aku protsendi kuvamise seadmetes, mis seda õigesti ei toeta
  • TW_CUSTOM_POWER_BUTTON: = 107 - kohandatud kaardistab lukustusekraani toitenupu
  • TW_NO_REBOOT_BOOTLOADER: = true - eemaldab taaskäivitamisnupu taaskäivitamise menüüst
  • TW_NO_REBOOT_RECOVERY: = true - eemaldab taaskäivitamise taastenupu taaskäivitamise menüüst
  • RECOVERY_TOUCHSCREEN_SWAP_XY: = true - vahetab puudutuste kaardistamise telje X ja Y vahel
  • RECOVERY_TOUCHSCREEN_FLIP_Y: = tõene - pöörab y-telje puutetundliku ekraani väärtused
  • RECOVERY_TOUCHSCREEN_FLIP_X: = true - pöörab x telje puutetundliku ekraani väärtused
  • TWRP_EVENT_LOGGING: = true - lubab puutetundlike sündmuste logimise, et aidata siluda puutetundliku ekraani probleeme (ärge jätke seda väljalaske jaoks sisse - see täidab teie logifaili väga kiiresti)
  • BOARD_HAS_FLIPPED_SCREEN: = true - pöörab ekraani tagurpidi paigaldatud ekraanide jaoks tagurpidi

Täiendavaid koostamismärgiseid leiate taastekoodis olevate failide Android.mk kaudu, kuid neid tavaliselt ei kasutata, nii et pole mõtet neid dokumenteerida.

Taastamise.Fstabi kasutamine

TWRP 2.5 ja uuemad versioonid toetavad uusi taastamise.fstab funktsioone - eriti võimalust laiendada TWRP varundamise / taastamise funktsioone. Te ei pea lisama fstab-lippe, sest enamik partitsioone töödeldakse automaatselt.

TWRP toetab v2 fstabe ainult versioonis 3.2.0 ja uuemates versioonides - TWRP vanemates versioonides peate kasutama vana fstabi vormingut. Siin on näide Galaxy S4 TWRP fstabist:

Konkreetse ehituskomplektiga ühilduvuse maksimeerimiseks võite luua faili twrp.fstab ja kasutada rakendust PRODUCT_COPY_FILES kataloogi> etc> twrp.fstab lisamiseks.

Kui TWRP käivitab ja leiab ramdiskilt faili twrp.fstab, nimetab ta selle ümber nimeks> etc> recovery.fstab.bak - põhimõtteliselt asendab see teie seadme fstabi TWRP fstabiga, mis laiendab ühilduvust.

Koodi näidis:

PRODUCT_COPY_FILES + = device / lge / hammerhead / twrp.fstab: taastamine> juur> jne> twrp.fstab

TWRP-i fstab võib sisaldada mõningaid 'lippe' iga fstabis loetletud partitsiooni jaoks.

Need lipud lisatakse lõpuni partitsioonide loendi fstab-is, eraldatuna tühiku / tühikute / vahelehtedega. Lipp mõjutab ainult seda partitsiooni, kuid mitte teisi. Lipud eraldatakse semikoolonitega. Siin on näite kood:

Nii et uurigem seda vähehaaval. Siin olev lipp annab kuvatava nime „Micro SDcard”. Lipp wipeingui muudab selle sektsiooni menüüs Täpsem pühkimine pühkimiseks kättesaadavaks. Eemaldatav lipp näitab, et seda sektsiooni pole alati olemas, mis takistab paigaldusvigade kuvamist.

Lippude täielik loetelu (krediit TeamWinile) :

  • eemaldatav - näitab, et partitsiooni ei pruugi olla, mis takistab installimise tõrke kuvamist alglaadimisel
  • ladustamine - näitab, et partitsiooni saab kasutada salvestusruumina, mis muudab partitsiooni kättesaadavaks varundamiseks, taastamiseks, zip-installide jms salvestamiseks.
  • seadete ladustamine - seadistuste salvestusruumiks peaks olema määratud ainult üks partitsioon, seda partitsiooni kasutatakse TWRP seadefaili salvestamise asukohana
  • pühitakse - näitab, et sektsiooni saab taustsüsteem pühkida, kuid kasutaja ei pruugi seda GUI-s loetleda
  • userrmrf - alistab tavalise pühkimisvormingu tüübi ja lubab partitsiooni pühkida ainult käsuga rm -rf
  • backup = - peab järgima võrdusmärki, seega backup = 1 või backup = 0, 1 näitab, et sektsiooni saab varundamise / taastamise loendis loetleda, samas kui 0 tagab, et seda sektsiooni ei kuvata varundusloendis.
  • wipeingui - muudab sektsiooni GUI-s kuvamiseks, et kasutaja saaks selle täpsema pühkimise menüüs pühkimiseks valida
  • tehase lähtestamine - sektsioon pühitakse tehase lähtestamise ajal
  • ignoreeri blkid - blkidi kasutatakse selleks, et määrata, millist failisüsteemi TWRP kasutab, see lipp sunnib TWRP-d blkidi tulemusi vahele jätma ja ainult fstabis määratud failisüsteemi kasutama
  • retainlayoutversion - põhjustab TWRP-le faili .layoutversion faili / andmete säilitamist sellistes seadmetes nagu Sony Xperia S, mis kasutab / data / media, kuid omab siiski eraldi partitsiooni / sdcard
  • sümboli = - põhjustab TWRP-s partitsiooni paigaldamisel täiendava käsu mount, mida tavaliselt kasutatakse / sdcardi loomiseks koos / data / media-ga
  • kuva = - määrab partitsioonile kuvatava nime GUI-sse lisamiseks
  • storagename = - määrab partitsioonile salvestusnime GUI salvestusloendis loetlemiseks
  • varukoopia nimi = - määrab partitsioonile varukoopia nime GUI varundamise / taastamise loendis loetlemiseks
    length = - kasutatakse tavaliselt tühja ruumi reserveerimiseks / data sektsiooni lõpus dekrüpteerimisvõtme salvestamiseks, kui Androidi seadme täielik krüptimine on olemas, selle määramata jätmine võib põhjustada seadme krüptimise võimetuse
  • varukrüptimine = - 1 või 0 lubamiseks / keelamiseks paneb TWRP selle sektsiooni varukoopia krüptima, kui kasutaja valib krüptimise (kehtib ainult tõrva varukoopiate, mitte piltide kohta)
  • userdataencryptbackup = - 1 või 0 lubamiseks / keelamiseks paneb TWRP krüptima ainult selle sektsiooni kasutajaandmete osa, teatud alamfaile nagu / data / app ei krüpteerita aja säästmiseks
  • alajaotus = - peab järgnema võrdusmärk ja partitsiooni tee, mille alamjagu see on. Alamjaotist käsitletakse põhiosa „osana”, näiteks teeb TWRP automaatselt / andmeandmed / andmete alamjaotiseks. See tähendab, et / datadata ei ilmu graafilise kasutajaliidese loendites, kuid / datadata kustutatakse, varundatakse, taastatakse, ühendatakse ja eemaldatakse alati, kui neid toiminguid failis / data teostatakse.

Hea näide alamjaotiste kasutamisest on LG Optimus G 3x efs vaheseinad:

See koondab kõik kolm sektsiooni üheks EFS-kirjeks TWRP GUI-s, mis võimaldab kõiki kolme varundada ja taastada koos ühe kirje all.

TWRP 3.2.0 ja uuemate versioonidega, mis kasutavad V2 Fstabi, olete teie ei pea lisama ühtegi ehituse lippu . V2 Fstabi tugi on automaatne. V2 Fstab toetab ka metamärke (sümbol *), mis võivad olla kasulikud USB OTG ja mitme sektsiooniga mikro-SD kaartide jaoks. Võite ka jätkata V1 Fstabi vormingu kasutamist ja on täiesti võimalik kasutada nii V1 kui ka V2 tüüpe samas Fstabis.

Näiteks siin on V1 Fstabi rida koos metamärgiga, mis on mõeldud USB OTG jaoks:

Siin on sama seadme V2 Fstab liin, mis saavutab sama tulemuse:

Lisaks võite lisada jne twrp.flag-id, mis kasutavad vormingut V1 Fstab, ja neid saab kasutada V2 Fstabi täiendamiseks TWRP-lippudega, täiendavate partitsioonidega, mida V2 Fstab ei sisalda, või V2 Fstabi ülimuslike sätetega.

Näiteks võib Huawei seadmel olla see V2 fstab faili etc recovery.fstab all:

Sellel võivad olla ka järgmised lipud:

Nii et siin lisavad TWRP.Lipud kaks esimest rida Boot ja Recovery partitsioonid, mis polnud kohal V2 Fstabis. Seejärel annab TWRP.flagsi rida / cust käsu TWRP-le lubada lõppkasutajal (cust) partitsioon varundada ja anda talle kuvatav nimi.

Partitsioon / misc on failides twrp.flags ja partitsioon / oeminfo annab TWRP-le korralduse lubada ka varundamine ja kuvatavale nimele andmine.

Vajame / data rida, kuna paljud Huawei seadmed on krüpteeritud, kuid kasutame spetsiaalseid Huawei binaarfaile - seega kasutame seadme taastekoodis dekrüpteerimiseks Huawei binaarfaile. Nii et siin / data line annab TWRP-le juhise kasutada / dev / block / dm -0 ja mitte / dev / block / bootdevice / by-name / userdata, mida tavaliselt kasutatakse 'õigeks' paigaldamiseks.

Lõpuks on olemas / system_image, nii et TWRP sisaldab menüüd Varundamine ja Taastamine võimalust luua süsteemipilt.

Ametlik TeamWini github peaks sisaldama ka seadmete uusimaid näiteid seadmetele, millel on ametlik TWRP-port. TeamWini githubi leiate SIIN .

Kui Omni või CM on sünkroonitud ja olete oma TWRP lipud seadistanud, peaksite looma allika ./build/envsetup.sh

Ja soovite seadme „lõunatada“, et saaksite teha midagi sellist nagu „lõunasöök omni_hammerhead.eng“.

Pärast edukat lõunasööki kasutab enamik seadmeid seda käsku:

# In –j # peate asendama südamike arvuga +1. Nii et kui teil on kahetuumaline, on see –j3, siis on quadcore –j5 jne. Asendage # südamiku arvuga +1, nii et kui teil on kahetuumaline, on see –j3 ja neljatuumaline saab –j5 jne.

Ka tavalised Samsungi seadmed nõuavad seda:

Seda seetõttu, et enamik Samsungi seadmeid sisaldab taastamist täiendava ramdiskina bootis, eraldi taastesektsioonil (mida enamik teisi seadmeid kasutab).

Nüüdseks peaksite oma seadme jaoks kompileerima TWRP ja loodetavasti töötab see emulaatori keskkonnas. Kõigepealt peaksite oma TWRP-pordi kõigepealt testima emulaatorikeskkonnas, nii et te ei riski oma seadet paisata.
Laadige alla see seadme konfiguratsioonifailide komplekt.

Koostage nende seadmefailide abil taastepilt. Klõpsake Android SDK-s valikut Tööriistad -> Halda AVD-sid. Klõpsake nuppu Uus. Seadistage see järgmiselt:

Seejärel klõpsake nuppu OK.

Kui olete oma AVD ja taastepildi saanud, saate TWRP-i emulaatoris käivitada, sirvides kausta android-sdk / tools ja käivitage see käsk:

Pange tähele, et ADB ei tööta kohe. Umbes 10–15 sekundit pärast TWRP-i käivitamise lõpetamist jõuab ADB võrku. Alustame ADB-d init.rc kaudu, nii et isegi kui TWRP ebaõnnestub teie võimaliku koodivea tõttu, peaks ADB ikkagi töötama. Nautige!

TWRP ja A / B seadmed (krediit TeamWinile):

TWRP vaatevinklist ei erine A / B seadmed tavalistest seadmetest palju, kuid arendajad näivad nende seadmetega töötamise osas häbelikud. Püüan sellel teemal veidi valgustada ja loodetavasti on see juhend TWRP A / B seadmetesse teisaldamiseks.

Esiteks mõistame, mis on A / B seade ja kuidas see erineb. A / B-seadmetel on seadmes paljude sektsioonide duplikaadid. A / B-seadmel on 2x süsteemijaotust, 2x alglaadimispartitsiooni, 2x tarnijajaotust, 2x modemi / püsivara partitsiooni jne. Korraga on kasutusel ainult üks pesa. Varajase käivitamise ajal loevad alglaaduri esimesed etapid väikese koguse andmeid, mida nimetatakse BCB-ks või Bootloaderi juhtplokiks, ja otsustavad, kas käivitada A-partitsioonid või B-partitsioonid. Kui OTA värskendus on saadaval, kopeeritakse aktiivsest pesast pärit andmed passiivsest pesast ja lappitakse / värskendatakse. Näiteks kui olete praegu pesas A, laadib teie seade värskenduse alla ja kopeerib olemasoleva süsteemijaotuse pesast A ning parandab / värskendab seda uute värskendustega pesasse B. Kui kopeerimine ja värskendamine on lõppenud, lisab BCB värskendatakse ja seade taaskäivitub pesa B abil. Järgmine kord, kui värskendus on saadaval, kopeeritakse pesas B olev süsteemiosa pesasse A ja värskendatakse, BCB värskendatakse ja taaskäivitame pesasse A. Kui seadmes partitsioone vaatate, näete midagi sellist:

Pange tähele ülaltoodud loendis topeltbuutimis-, süsteemi- ja hankijapartitsioone, kuid ainult ühte kasutajaandmete partitsiooni.

Ehkki tehniliselt pole mingit nõuet, millest ma teadlik oleks, pole kõigil seni tarnitud A / B-seadmetel eraldi taastesektsiooni. Selle asemel sisaldab alglaadimise pilt taastet oma ramdiskil. Oluline on teada, et alglaadimispilt sisaldab nüüd ka taastamist. Täielikkuse huvides on süsteemijaotus täielik juurfailisüsteem. Kui käsu käivitamise ajal kästakse kernel taaskäivitada, ekstraktib see ramdiski alglaadimispartitsioonis. Kui alglaadur ei käskinud kernelit taaskäivitamiseks käivitada, siis ühendab kern sobiv süsteemijaotus (A või B), kuna süsteemijaotus on täielik juurfailisüsteem. See tähendab, et nende seadmete süsteemijaotus on paigaldatud / süsteemi asemele / selle asemele ja süsteemijaotus sisaldab kõiki faile, mis tavaliselt oleksid olnud alglaadimispildi ramdiskettal ja / süsteemi alamkaustas.

TWRP seisukohast on A / B seadme jaoks 3 asja, mida peate tegema. Esiteks peate määrama

Kood:

Lõpuks, kui olete TWRP-sse jõudnud, soovite tõenäoliselt veenduda, et bootctl hal-info vastab õigesti ja ilma vigadeta. Tavaliselt vajab binaarne bootctl õigeks toimimiseks varalist raamatukogu või isegi paari teenust. Kui bootctl ei tööta õigesti, ei saa te ka TWRP-s pesasid õigesti vahetada.

Lisaks seadistamisele

Kood:

AB_OTA_UPDATER: = tõene

võite ka määrata:

Kood:

BOARD_USES_RECOVERY_AS_BOOT: = tõene

BOARD_BUILD_SYSTEM_ROOT_IMAGE: = tõene

Kui määrate

Kood:

BOARD_USES_RECOVERY_AS_BOOT: = tõene

siis tehke recoveryimage enam ei tööta ja peate selle asemel tegema bootimage. Ma ei soovita kumbagi nendest lipudest seada ainult TWRP-i ehitatavate puude jaoks. Need lipud on tõenäoliselt vajalikud arendajatele, kes ehitavad A / B-seadmete jaoks täielikke ROM-e.

TWRP installimine / vilkumine A / B seadmetele:

Kuna kõigil teadaolevatel A / B-seadmetel pole eraldi taastesektsiooni, peate lõpuks TWRP-i alglaadimispartitsioonile vilkuma. Pixel 1 ja 2 puhul kasutame TWRP ajutiseks käivitamiseks kiiret käivitamist, ilma et TWRP vilkuks. Seejärel pakume zip-koodi, et kasutajad saaksid TWRP-d mõlemasse pesasse välgutada. Ühe neist tõmblukudest saate meie veebisaidilt alla laadida ja oma seadmete toetamiseks vajadusel ZIP-i värskendada. Lõpuks lisame TWRP-i tööriistad, mis võimaldavad kasutajatel nendes seadmetes taastetöid välklambid kasutamata vilkuda.

Hiljuti töötasin Razeri telefonis. Razer Phone kahjuks ei toeta kiirlaadimist. Selle asemel peavad kasutajad määrama oma aktiivse alglaadimispesa kasutades

Kood:

TWRP-sse pääsemiseks. TWRP-s olles saavad nad minna taaskäivitamise lehele ja minna tagasi oma algselt aktiivsesse pesasse, teha varukoopia ja seejärel installida TWRP. Mitteaktiivse pesa kasutamine võimaldab kasutajatel enne TWRP installimist saada oma seadmest hea, muutmata varukoopia.

Lisamärkmed:

Kui soovite saada TWRP-d teie seadme jaoks ametlikult toetatud et seda saaks TWRP-rakendusega automaatselt installida ja soovite seda tõesti teha, et sama seadme teised omanikud saaksid nautida ametlikku TWRP-tuge ja see on tore asi, peate saatma järgmise teabe TeamWin:

  1. Seadme konfiguratsioonifailid TWRP koostamiseks allikast teie seadme jaoks - ärge taastamist.img käsitsi ümber pakkige , peavad nad selle koostama allikast.
  2. Kui TeamWin on TWRP-i koopia ehitanud, saadavad nad selle teile kinnitamiseks - kui olete selle kinnitanud, ehitab TeamWin teie seadmele tööpilti ja lisab selle ametlikku TWRP-i rakendusse.
13 minutit loetud