Compilarea firmware-ului dvs. Cum să-ți faci propriul firmware pe Android: instrucțiuni detaliate. Despachetarea și analiza fișierului original

Să începem prin a menționa pur și simplu că un cip bazat pe ARM este un sistem pe un cip (SoC). Aia este computer complet implementat pe un singur cip. Pe procesoarele acestei arhitecturi sunt fabricate multe dispozitive (routere, comutatoare, calculatoare încorporate în televizoare, console de jocuri portabile etc., etc.).

Despachetarea și analiza fișierului original

Puteți găsi mai multe informații în acest articol. Acest lucru se datorează faptului că nu sunt aplicații open source. Dar pacea, dacă ești aici, va fi foarte simplă. Dacă tocmai ați sosit, puteți continua să citiți. Există dezvoltatori mai populari decât alții, există o mulțime de opțiuni și un mobil nou, așa cum spune oricine.

Editare pe dispozitiv

Această copie poate fi suprascrisă pe cipul de memorie al terminalului, astfel încât este posibil să rulați sisteme de operare modificate. O comunitate activă spune că devine mai rapid și mai eficient. Ei bine, mai mult decât vă puteți imagina.

De asemenea, această arhitectură are un consum redus de energie și caracteristici de disipare a căldurii, deci este folosită destul de eficient în dispozitive precum smartphone-uri și tablete.

Adresarea precisă a dispozitivului nu este punctul central al acestui articol de prezentare generală. Vreau doar să introduc potențialii modderi în principiile de bază care vor oferi o mai bună înțelegere a ceea ce se face pe dispozitivul lor.

Dar nu numai atât, veți obține și o mai bună înțelegere a modului în care funcționează terminalul dvs. și veți avea acces la mai mult control asupra acestuia și mai multe opțiuni de modificare și de a-l lăsa 100% după bunul plac. Odată ce începi și îți vei pierde frica!

Intermitent folosind o arhivă ZIP

În plus, veți găsi și instrucțiuni despre cum să vă rootați telefonul, un pas important înainte de a putea schimba rom-urile. Ce este o rădăcină? Pentru ce este și ce beneficii îți oferă să fii. Deci este o chestiune de a-ți pierde frica pentru că nu este dificil și beneficiile pe care le obții sunt mult mai mari decât orice te poți gândi. Ridică-te și spune-ne cum a fost experiența ta. Îndrăznești să mergi mai departe?

Deci, să mergem direct la descrierea descărcării de acest tip dispozitive. Aproape fiecare procesor ARM are o memorie flash încorporată în cip, în care așa-numita. încărcător. Dacă nu există o astfel de memorie pe cip sau dacă nu este folosită ca spațiu pentru plasarea bootloader-ului, cipul se transformă de obicei în NOR-flash la o adresă strict definită pentru a lansa acest bootloader.

Această aplicație are în vedere două tipuri de utilizatori. Pe de altă parte, este recomandat și pentru dezvoltatorii noi. Deși acest instrument simplifică munca, trebuie să aveți cunoștințe minime de dezvoltare pentru a-l folosi. Cu toate acestea, aceasta este o veste grozavă pentru oricine vrea să intre în lume.

Alte instrumente utile

După cum puteți vedea, cerințele sunt într-adevăr disponibile oricărui utilizator care dorește să intre în lume. Cu această aplicație, putem face mai multe operații cu relativă ușurință. Această aplicație ne permite să avem toate caracteristicile unei recuperări individuale fără a fi nevoie să o instalăm pe sistemul nostru.

Sunt mai multe încărcătoare. Unele dintre ele sunt comerciale. Dar există și un bootloader open source - u-boot. Din păcate, atunci când codul este deschis, conține cod dependent de procesor, prin urmare, fără specificații de procesor, nu poate fi pur și simplu portat (adaptat) la un procesor care nu are documentație deschisă.

Acum vom descrie ce face de obicei bootloader-ul după ce pornește. Se poate face o analogie destul de directă cu BIOS-ul computerului bazat pe procesoare x86 (cele cu cea mai mare parte a calculatoarelor personale). Bootloader-ul ARM la pornire efectuează în același mod o serie de inițializări de nivel scăzut ale hardware-ului dispozitivului (RAM, stocare de date, adaptor de retea etc. etc.). După inițializare port serial(de obicei în format RS232, dar cu niveluri de 3,2 volți) devine posibil să lucrezi cu el prin consola inițializată pe acest port.

Aceasta este o aplicație care necesită drepturi de superutilizator. Datorită puterilor superutilizatorului, poate emula un mediu similar cu cel găsit în versiunile utilizatorului. Aplicația este în versiune beta, așa că există un numar mare de erori care trebuie rezolvate înainte ca această aplicație să fie valabilă pentru utilizare. Urmați acest ghid pentru toți pașii pe care trebuie să îi urmați pentru a restabili firmware-ul.

Puteți urma pașii pentru a vota negativ pe alții, dar asigurați-vă că descărcați fișierele firmware specifice pentru propriul dispozitiv. Extrageți conținutul și urmați instrucțiunile de pe ecran pentru a instala programul. Acum fugi firmware-ul oficialși obțineți din nou garanție.

Arata cam asa

Prin această consolă, puteți face aproape personalizare completă Sau reconfigurarea piesei noastre de fier. De exemplu, pentru a porni un Linux curat, va trebui cel puțin să reconfiguram șirul de parametri transmis nucleului la pornire (cu setarea implicită pentru a porni Android). De asemenea, acolo puteți lucra pe deplin cu partițiile nanda - ștergeți, împărțiți, schimbați, protejați la scriere și invers, etc. etc. (pentru a evita întrebări suplimentare despre schimbarea partițiilor nanda). Chiar și în consolă, puteți descărca și rula unele software. Toate setările realizate în această consolă pot fi salvate și utilizate ca setări implicite atunci când dispozitivul pornește.

Dacă Odin rămâne blocat în timpul procesului

Cu toate acestea, producătorii nu sunt întotdeauna de acord că dispozitivele lor sunt rootate și, în majoritatea cazurilor, anulează garanția. Procesul de readucere a dispozitivului la configurația inițială pentru a-l vinde sau a-l expedia Serviciu tehnic iar utilizarea garanției producătorului va duce inevitabil la pierderea tuturor datelor și setărilor dvs.

Prin urmare, ca întotdeauna, vă recomandăm ca înainte de a începe orice hacking, să faceți backup tot ce nu vrei sa pierzi. Apoi copiați acest fișier pe computer, astfel încât să nu se piardă în timpul procesului.






După eliminarea urmei fișierelor rădăcină, readuce restul componentelor la starea inițială.

Să facem o mică digresiune. În plus față de NOR-flash, în unele cazuri, NAND-flash sau chiar SD-card poate fi folosit pentru a plasa bootloader-ul. În plus, este posibil să utilizați combinații ale acestor tipuri de memorie flash în dispozitiv. De exemplu, bootloader-ul poate fi plasat în NOR și ca unitate internă (pentru a gazdă OS) NAND sau SD etc.

Așadar, am pornit bucata de fier. Ea a descărcat bootloader-ul. Bootloader-ul a inițializat hardware-ul. La sfârșitul acestei inițializare, încărcătorul efectuează următoarea procedură:

De exemplu, trebuie să vă asigurați că recuperarea este originală sau să o porniți manual. Pe acest moment nu contează cu adevărat pentru utilizatori, așa cum a fost confirmat. Acum că ați descărcat tot ce aveți nevoie, urmați acești pași simpli.

Ele devin din ce în ce mai frecvente în rândul utilizatorilor. Cu toate acestea, versiunea alternativă a platformei nu îl mulțumește întotdeauna pe proprietarul dispozitivului, care regretă că a abandonat sistemul original. Din acest motiv, astăzi există instrumente pentru a face backup la versiunea instalată pe telefon și a reveni la ea oricând doriți.

1 - citirea și plasarea în memorie cu acces aleator imagini kernel și ramdisk - ambele la adrese strict definite (pot fi configurate în Linie de comanda u-boot).

2 - porniți nucleul din punctul de intrare corect, spunându-i de unde să obțineți discul ram extern (initrd) de la rădăcină Sistemul de fișiereși ce să folosești ca init.

O altă parte a memoriei RAM este alocată dispozitivelor care necesită propria memorie, de exemplu, pentru nucleul video. Acum înțelegeți unde se duce o parte din RAM-ul dispozitivului declarat de producător.

Atenție: înainte de a începe o copie de rezervă, dvs. Această opțiune vă va pregăti smartphone-ul pentru a utiliza funcțiile de backup și restaurare. În fereastra care se deschide, specificați un nume pentru backup. Programul sugerează utilizarea datei și orei.

Procesul durează în medie 30 de minute, în funcție de modelul de smartphone. Restaurarea unei copii de rezervă create. Accesați secțiunea „Gestionați și restaurați copiile de rezervă”. Aplicația va afișa un ecran care vă va cere să selectați fișierul de rezervă pe care doriți să îl restaurați. Găsiți copia de rezervă generată la pasul 4 și începeți restaurarea.

Pornirea suplimentară diferă puțin de pornirea Linux pe computer obișnuit. Când nucleul pornește, execută init-ul specificat (este doar un alt program). Configurarea init este efectuată în fișierul init.rc, care se află pe discul ram. Se instalează variabile de mediu, montarea dispozitivelor de disc, pornirea serviciilor necesare etc., etc. La sfârșitul execuției instrucțiunilor de pre-lansare de la init.rc, androidul în sine este lansat. Tipul de pornire Android este determinat de parametrul de pornire a nucleului androidboot. Lansarea standard a Android se realizează în general prin trecerea parametrilor de utilizare a discului ram dorit (în ramdisk.img) și a parametrului androidboot.normal. Pentru a porni modul de recuperare, de regulă, se folosește un alt ramdisk, care conține program de recuperare(în recovery.img) și parametrul nucleului androidboot.recovery.

Opriți telefonul și porniți-l în modul de recuperare. Pentru a accesa acest mod, trebuie să apăsați o combinație de taste pe smartphone-ul dvs. în timpul pornirii. Cu toate acestea, acest cod variază în funcție de model și producător. Găsiți mai întâi o modalitate de a accesa modul de recuperare pentru modelul dvs.

În meniul de opțiuni pentru modul de recuperare, navigați la opțiunea „ Backupși recuperare.” Selectați „Backup” și procesul va începe imediat, fără a permite determinarea unui nume pentru fișier. La sfârșitul procesului, telefonul nu va reporni automat.

Cum poate fi construită o variantă a nucleului Linux pentru Android nu cu suport pentru initrd (sistem rădăcină pe un disc ram), ci cu așa-numitul. initramfs. În acest caz, întregul sistem de fișiere rădăcină va fi localizat chiar în interiorul nucleului. În acest caz, modul de recuperare necesită, de regulă, un al doilea nucleu cu un sistem de fișiere rădăcină care conține programul de recuperare. Iar configurarea bootloader-ului este doar pentru a încărca și executa nucleul de recuperare.

Pentru a restabili o copie de rezervă, porniți telefonul în modul de recuperare, navigați la opțiunea „Backup and Restore” și selectați opțiunea „Restaurare”. Selectați fișierul pe care doriți să îl recuperați și confirmați. Selectați opțiunea Restaurare pentru a restaura o copie de rezervă creată anterior.

Recuperarea va începe, iar la sfârșitul procesului, smartphone-ul nu se va reporni automat. S-au maturizat în așa măsură încât adoptarea lor lasă un cerc limitat de utilizatori „avansați”. Acestea pot fi instalate pe smartphone-uri și tablete, înlocuind sistemul de operare original furnizat de producător.

Și, ca rezultat, o schemă simplă:

Pornirea procesorului -> pornirea bootloaderului -> inițializarea hardware-ului -> citirea nucleului și a discului ram din nand -> pornirea nucleului folosind acest disc ram -> executarea programului init -> pornirea androidului în sine.

Puteți citi mai multe despre u-boot și comenzile sale, de exemplu, pe acest wiki _http://www.denx.de/wiki/view/DULG/Manual.

Dacă aceste informații nu sunt suficiente pentru dvs., atunci puteți citi mai multe despre parametrii de pornire a nucleului Linux în Documentation/kernel-parameters.txt din arhiva codurilor sale sursă. Sau găsiți acest fișier pe Internet pentru versiunea de kernel de care aveți nevoie. Dar nu uitați să țineți cont de specificul Android menționat mai sus.

Concepțiile greșite făcute în timpul instalării vă pot transforma smartphone nou pe hârtie frumoasă. Este nevoie de multă cercetare, experimentare și multă încercare cu erori și corectitudine pentru a descoperi așa ceva. Dar care sunt beneficiile?

De regulă, se fac și unele ajustări pentru a îmbunătăți eficiența, roadele comunității. Un factor important în această etapă este absența cererilor „taxe” de la producători sau operatori. Aplicații care vor fi instalate pe dispozitivul dvs., multe dintre ele funcționează în fundal si consuma resursele sistemului, ar trebui să fie alegerea ta, nu producătorul, darămite operator mobil. O altă caracteristică interesantă este „modul incognito”, care vă permite să navigați fără a salva istoricul.

Se întâmplă adesea ca unora dintre utilizatorii de Android să nu le placă firmware-ul standard al smartphone-ului sau tabletei lor. De exemplu, din cauza excesului de software, din cauza căruia este în scădere rapidă, sau pur și simplu nu-mi place funcționalitatea unor programe și doresc să le înlocuiască cu altele. Începe o căutare intensă de firmware personalizat, dar acestea nu dau întotdeauna rezultatul dorit. Ce sa fac?

Pe de altă parte, trebuie respectate în orice caz o anumită precauție generală. Nimic de jucat aventură și de a-ți risca smartphone-ul fără să știi ce faci și să fii conștient de întreaga procedură. Fii sigur că o vei putea duce pas cu pas până la capăt.

Dacă ceva nu merge bine, trebuie să o faci și să știi cum să procedezi. Pe lângă faptul că aveți fișierele necesare, vă puteți reduce agonia dacă lucrurile încep să meargă prost. Rețineți că instalarea va depinde de o resetare din fabrică care va elimina totul aplicații instalateși datele stocate de dvs. pe dispozitivul dvs. mobil.

Orice firmware poate fi modificat pentru un anumit utilizator

Nu toată lumea știe că firmware-ul poate fi terminat pentru a se potrivi nevoilor dumneavoastră personale. Există mai multe moduri în care se poate face acest lucru, fiecare dintre ele diferă prin nivelul de complexitate și setul necesar de instrumente. Și, dacă nu știi cum să construiești singur firmware Android, acest articol este pentru tine.

Astfel, prezența acestuia nu va interfera cu procedura și nu va exista riscul de a o formata eronat în niciunul dintre pași. Dacă nu doriți să aveți probleme sau surprize urâte după actualizare și să minimizați posibilitatea apariției erorilor, urmați acești trei pași.

Încărcați-vă bateria și faceți capturi de ecran de ultim moment

Sunt simple și rapide și vă pot scuti de multe dureri de cap. Cu cât mai multe copii de rezervă, cu atât mai bine, în multe moduri diferite. Cu o copie de rezervă, nu vă pierdeți datele și setările după o actualizare aglomerată. De asemenea, este o idee bună să faceți capturi de ecran ale ecranelor dvs. de start și să le trimiteți către E-mail inainte sa incepi. Dacă utilizați un lansator alternativ, vă puteți salva setările de pe ecranul de pornire, dar dacă utilizați un lansator de stoc, unele capturi de ecran de pe ecranul de pornire servesc ca mementouri, astfel încât să vă puteți configura smartphone-ul după actualizare.

Construire de la sursă

Una dintre cele mai moduri corecte este folosirea cod sursa, publicat de echipele de dezvoltare Google sau Cyanogenmod. Dar, în același timp, această metodă este cea mai dificilă, deoarece pentru a asambla firmware-ul Android din surse, optimizați-l și faceți-l să funcționeze pe dispozitiv specific, trebuie să ai abilități de programare destul de profunde, să înțelegi toate complexitățile mobilului sistem de operareși dispozitive de călcat. Aceste cunoștințe nu se dobândesc într-o zi, așa că în acest articol nu vom descrie această metodă în detaliu.

Ștergeți memoria cache și reveniți la setările din fabrică

Actualizarea în sine nu resetează dispozitivul, dar unele lucruri se pot schimba și multe pe ecranul de pornire.


Dar cel puțin ar trebui după instalarea firmware-ului. Acesta este cel mai rapid și mai ușor mod de a rezolva orice eroare care cauzează consumul excesiv de baterie sau probleme de performanță. Dar dacă problemele persistă și dacă ai obiceiul să faci mereu backup așa cum sunt mine, atunci resetarea din fabrică „începe de la zero” cu firmware nou vă oferă cea mai bună șansă de a evita problemele pe care le pot avea toți ceilalți utilizatori.


Modificarea unui fișier existent

Dacă nu sunteți prea familiarizat cu toate complexitățile sistemului de operare, dar doriți să schimbați ceva în firmware-ul dvs., cea mai bună soluție va corecta deja. Puteți schimba atât firmware-ul nativ, încorporat, cât și deja schimbat de altcineva. Există o mulțime de firmware personalizat pe Internet și este puțin probabil să vă confruntați cu o lipsă a acestora. Așadar, vă prezentăm instrucțiuni pas cu pas pentru asamblarea propriului firmware pe baza unui produs existent.




Odată repornit, instalați o copie de rezervă și personalizați ecranele de pornire cu capturi de ecran ca referință. Aceste sfaturi pot fi luate în considerare pentru ambele actualizari de sistemși pentru actualizări ale aplicațiilor pe care le utilizați zilnic.

Ați avut probleme după actualizare? Ce faci pentru a evita posibile probleme? Ca atare, actualizarea și repostarea acestei întrebări va deveni în cele din urmă necesară. Cu toate acestea, asigurați-vă că vă stocați datele personale în mod regulat. Nu manipulați dacă nu știți ce faceți. Se va deschide o fereastră, selectați firmware-ul. Omul de zăpadă verifică dosarul.

Editare cu un computer

Software-ul necesar

Vom avea nevoie de un computer, dispozitiv, fișier de firmware și program special numită Android Kitchen (cunoscută și sub numele de bucătărie). Fișierul de firmware poate fi găsit pe forumuri specializate, cele mai cunoscute sunt XDA Developers în limba engleză și w3bsit3-dns.com în limba rusă. În secțiunea modelului dispozitivului dvs., puteți găsi link-uri către cel mai popular și verificat firmware, atât stoc oficial, cât și personalizat neoficial.

Apoi, trebuie să instalați bucătăria pe computer. Cel mai bine este să lucrați sub Linux, dar bibliotecile necesare pot fi instalate și pe Windows. În acest caz, puteți ieși din situație instalând Cygwin. și urmează instrucțiuni pas cu pas plasat în arhivă. Înainte de aceasta, va trebui să instalați și platforma Java (JDK) de pe site-ul oficial (http://www.oracle.com/technetwork/java/javase/downloads/index.html pentru Windows) sau în Centru aplicații Ubuntu găsiți și descărcați OpenJDK Java 6 Runtime sau similar (pentru Linux). Al doilea caz de utilizare este instalarea Linux pe mașină virtualăși gestionați procesul prin intermediul acestuia.


Modificarea firmware-ului

Firmware-ul este distribuit cel mai adesea ca fișier cu extensia .img, mai rar ca arhivă ZIP. În ambele cazuri, veți avea nevoie de firmware-ul din folderul de bucătărie instalat pentru a-l putea importa și a începe să lucreze cu el. Bucătăria trebuie instalată pe c:/cygwin/home/user/ (când se instalează prin Cygwin) sau Filesystem/home/user/ (când rulează prin Linux).


  1. Lansați bucătăria prin Cygwin sau un terminal Linux cu bucătărie cd urmată de ./menu.
  2. Dezarhivați arhiva în bucătărie, așa cum este descris mai sus.
  3. După ce apare meniul programului, mergeți la secțiunea 0. Opțiuni avansate.
  4. După aceea, va fi prezentată o listă de comenzi pentru modificarea firmware-ului. Alege exact pe cel de care ai nevoie. Puteți adăuga Busy Box, Root, Apps2SD, puteți înlocui aplicațiile stoc, diverse animații, eliberați memoria dispozitivului și multe altele.
  5. După ce ați terminat manipulările, executați comanda 99. Construiți ROM din folderul de lucru (Build firmware with folder de lucru) și luați arhiva ZIP cu OUTPUT_ZIP.


Firmware-ul dispozitivului

Puteți să flashați dispozitivul atât printr-un computer, cât și fără acesta. În primul caz, trebuie să descărcați programul pentru firmware, de obicei acesta Instrumentul Flash sau Odin, drivere pentru modelul de dispozitiv și pregătiți o arhivă deja corectată.


Când parcurgeți prin Recuperare, va trebui să copiați fișierul în rădăcina cardului de memorie, să porniți dispozitivul Mod de recuperare, formatați dispozitivul și memoria cache, apoi instalați firmware-ul din arhivă. După repornire, firmware-ul va fi schimbat de dvs. personal.


Editare pe dispozitiv

Cel mai simplu mod posibil. Nu sunt necesare dispozitive și manipulări suplimentare. Tot ce aveți nevoie este un dispozitiv înrădăcinat, o aplicație de rezervă (copie de rezervă Nanroid este cea mai bună) și manager de fișiere cu funcția de schimbare a partiției sistemului.


Schimbarea propriului firmware

  1. Dacă dispozitivul nu este încă rootat, obțineți-l. Cum să faci asta, poți citi pe forumuri specializate în secțiunea dedicată special dispozitivului tău. Cert este că sunt susținute de un număr mic de dispozitive și majoritatea au o procedură individuală.
  2. Instalați backup Nandroid (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) și utilizați-l pentru a face backup pentru sistemul dispozitivului dvs. Păstrați-l într-un loc sigur, cum ar fi Stocare in cloud. De ce să faci o copie? Dintr-o dată, ceva nu merge bine sau ștergeți accidental ceva de care aveți nevoie - va exista posibilitatea de a returna totul așa cum a fost.


  1. Instalați un manager de fișiere care funcționează cu partiția de sistem pentru a elimina software-ul inutil și pentru a adăuga aplicațiile dvs. Standardul de aur este Titanium Backup.
  2. Selectați aplicațiile pe care doriți să le dezinstalați și dezinstalați-le prin managerul de fișiere.
  3. Instalați aplicațiile cu care doriți să le înlocuiți pe cele șterse și faceți-le cele de sistem prin Titanium Backup.
  4. Reporniți dispozitivul și bucurați-vă de progres.


Schimbarea firmware-ului terță parte într-o arhivă ZIP

  1. Descărcați fișierul firmware care vă interesează în format .zip.
  2. Instalați un manager de fișiere care poate funcționa cu arhive, de exemplu, ES Explorer sau Comandant totalși extrageți conținutul arhivei.
  3. Eliminați aplicațiile inutile sau adăugați aplicații lipsă, apoi împachetați arhiva înapoi și mutați-o la rădăcina cardului flash.
  4. Utilizați backup Nandroid (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=en) pentru a crea o copie de rezervă a sistemului și copiați-o pe unitatea cloud.
  5. Flashați dispozitivul din modul de recuperare.


Concluzie

După cum puteți vedea, asamblare firmware Android do-it-yourself nu este neapărat foarte lung și necesită cunoștințe profunde. Este clar că va fi mult mai dificil să creați o modificare de la zero, dar aproape toată lumea poate corecta sau înlocui ceva și elimina programele inutile. Sperăm că ghidul nostru te-a ajutat.

Ai compilat singur firmware-ul pentru Android? Ce ai schimbat în ea și cum ai făcut-o? Va fi interesant dacă vă împărtășiți feedbackul.