Kas ir sāknēšana operētājsistēmā Android. Kas ir Bootloader operētājsistēmā Android. FastBoot lejupielāde un instalēšana

Lai varētu precīzi noregulēt OS un aparatūras parametrus, mobilo ierīču, kurās darbojas Android, lietotāji dažkārt sakņo savus sīkrīkus un veic arī izmaiņas . Taču šie nav visi pieejamie veidi, kā iegūt paplašinātu piekļuvi ierīces un sistēmas iestatījumiem. Varat skatīties zem ierīces pārsega, izmantojot režīmu, ko sauc par Fastboot Mode.

Kas ir ātrās sāknēšanas režīms

Ko nozīmē Fastboot Mode un kāds tam ir sakars ar precizēšanu? Dažos klēpjdatoru modeļos tas patiešām kalpo, lai palielinātu sistēmas sāknēšanas ātrumu, apejot BIOS un atkļūdot lietojumprogrammas; mobilajās ierīcēs tā mērķis ir nedaudz atšķirīgs. Android viedtālruņos un planšetdatoros šis režīms galvenokārt ir nepieciešams, lai nodrošinātu piekļuvi ierīces sistēmas komponentiem un to kontroli, izmantojot datoru.

Izmantojot Fastboot Mode iespējas, servisa centra speciālisti un pieredzējuši lietotāji var instalēt programmatūru, mirgot sīkrīku, atjaunot lietojumprogrammas, veikt dublēšanu un atjaunošanu, kā arī mainīt slēptos sistēmas iestatījumus. Izstrādātāji bieži izmanto “ātro ielādi”, izmantojot to programmatūras testēšanai un citiem mērķiem.

Izskaidrojot režīma mērķi, šķiet, ka mēs joprojām neesam atbildējuši uz jautājumu, kas būtībā ir Fastboot Mode. Tātad Android ātrā sāknēšana ir atsevišķs programmatūras komponents, kas nav atkarīgs no operētājsistēmas, ir ieviests aparatūras līmenī un reģistrēts atmiņas mikroshēmā. Tieši šī neatkarība ļauj ierīcei palaist pat tad, ja rodas nopietnas problēmas ar operētājsistēmu. Fastboot Mode programmas kods atrodas atmiņas apgabalā, kas ir aizsargāts no lasīšanas un rakstīšanas, kas novērš tā bojājumus.

Kādos gadījumos tiek aktivizēts ātrās sāknēšanas režīms?

Fastboot vidi var palaist manuāli, izmantojot standarta izvēlni vai vienlaikus nospiežot barošanas pogu un skaļuma samazināšanas/palielināšanas taustiņu uz izslēgtas ierīces. Bet dažos gadījumos režīms sākas pats no sevis, un tas nav īpaši labi. Spontānas ielādes iemesli var būt neveiksmīga mirgošana, standarta atkopšanas vides aizstāšana ar modificētu, superlietotāja tiesību iegūšana, sistēmas kļūme un Android OS failu bojājumi.

Kā iziet no Fastboot režīma

Par režīma aktivizēšanu norāda atvērtā robota attēls un uzraksts tālruņa ekrānā Fastboot Mode.

Ja iepriekš neesat veicis nekādas izmaiņas sīkrīka konfigurācijā, iespējams, iemesls pārslēgšanai uz “ātro sāknēšanu” bija kāda īslaicīga kļūme. Mēģiniet restartēt viedtālruni. Ja pat pēc restartēšanas tālrunis saka fastboot un nepārslēdzas uz parasto darbības režīmu, tas var norādīt uz dziļākām problēmām. Iespējams, ka problēma izrādīsies tik nopietna, ka sīkrīks būs jāatjauno servisa centrā, taču, kamēr tas nenotiek, mēģiniet pašam iziet no ātrās sāknēšanas.

Ir divi galvenie veidi, kā to izdarīt: izmantojot pašu tālruni un izmantojot datoru. Ja parasta atsāknēšana nepalīdz, izslēdziet ierīci un pēc tam vienlaikus turiet nospiestu barošanas un skaļuma samazināšanas taustiņus, līdz (apmēram 10 sekundes) ekrānā tiek parādīta izvēlne Select Boot Mode vai tālrunis tiek palaists parastajā režīmā. Šajā izvēlnē atlasiet opciju Normal Boot un gaidiet, līdz sīkrīks sāks darboties parastajā režīmā.

Dažos gadījumos akumulatora izņemšana palīdz iziet no atkļūdošanas režīma, ja tas, protams, ir noņemams.

Dažreiz lietotājiem ir jārisina ielāde ātrās sāknēšanas režīmā pēc tam, kad viņi ir paņēmuši sīkrīku no servisa centra. Tas parasti notiek pēc. Iespējamais iemesls ir tas, ka iestatījumos tika atstāta iespējota ātrās sāknēšanas režīma funkcija. Ja tas tā ir, tad, lai atspējotu Fasboot režīmu, dodieties uz iestatījumiem un pēc tam sadaļā “Displejs” vai “Pieejamība” atrodiet vienumu “Ātrā sāknēšana” un noņemiet atzīmi no tā.

Kā iziet no ātrās sāknēšanas režīma, izmantojot datoru? Instalējiet lietojumprogrammas datorā, pievienojiet tālruni datoram, aktivizējiet USB atkļūdošanu, palaidiet komandrindu kā administrators un palaidiet komandu fastboot atsāknēšana. Tas ir vienkāršs, bet ļoti efektīvs veids, kā atspējot ātro sāknēšanu.

Ja tas neatrisina problēmu, atiestatiet ierīci uz rūpnīcas iestatījumiem. Pēc visu svarīgo datu kopēšanas izņemiet SIM karti un atmiņas karti no tālruņa, palaidiet atkopšanas režīmā, atrodiet opciju izvēlnē Iznīcināt datus / atjaunot rūpniecības iestatījumus un veiciet atcelšanu, izmantojot to.

Turklāt, atlasot opciju, varat notīrīt krātuves saturu Noslaucīt kešatmiņu nodalījumu.

Kā pārslēgt tālruni Fastboot režīmā

Fastboot Mode ir servisa režīms, kas visbiežāk ir jāizmanto, ja ir jāmaina ierīces konfigurācija, izmantojot datoru, piemēram, jāinstalē modificēta programmaparatūra vai jāiegūst root tiesības, neizmantojot trešās puses programmas. Sāknēšana ātrā režīmā var būt nepieciešama arī, lai nodrošinātu pilnīgu piekļuvi Android sistēmas mapēm un atjaunotu OS (kā alternatīvu atkopšanas režīma rīkiem).

Ātrās sāknēšanas režīma ievadīšanas metode dažādās ierīcēs var atšķirties. Asus viedtālruņos šim nolūkam ir nepieciešams turēt nospiestu barošanas un skaļuma palielināšanas pogas, Nexus un HTC - barošanas un skaļuma samazināšanas pogas, Sony ātrās sāknēšanas režīms tiks ielādēts, turot nospiestu skaļuma palielināšanas pogu un pievienojot sīkrīku datoru, izmantojot USB.

Taču ir arī universāla ātrās sāknēšanas ielādes metode, kas darbojas vienādi visās Android mobilajās ierīcēs. Lejupielādējiet un instalējiet programmu savā datorā Adb Run. Pēc tam tālruņa iestatījumos iespējojiet USB atkļūdošanu, pievienojiet ierīci datoram un pēc Adb Run palaišanas izvēlieties no izvēlnes Reboot — pārstartējiet sāknēšanas ielādētāju.

Sīkrīks tiks restartēts Fastboot režīmā.

Android OS, tāpat kā jebkurš cits programmatūras produkts, dažkārt var neizdoties. Un viena no šīm problēmām ir melna ekrāna parādīšana viedtālruņa vai planšetdatora ekrānā ar vārdiem Fastboot Mode vai Select Boot Mode. Daudzi mobilo ierīču īpašnieki, ieraugot līdzīgu attēlu, sāk krist panikā un nogādā ierīci tuvākajā darbnīcā. Tomēr nevajadzētu veikt pārsteidzīgas darbības, jo vairumā gadījumu jūs pats varat iziet no ātrās sāknēšanas režīma. Apskatīsim, kas izraisa Fastboot Mode, kas tas ir operētājsistēmā Android un kā no tā atbrīvoties.

Mērķis un cēloņi

Fastboot ir efektīvs rīks Android operētājsistēmas modificēšanai un pielāgošanai, kas ir iekļauts izstrādātāju programmatūras pakotnē. Tās galvenais uzdevums ir instalēt pielāgotu programmaparatūru. Taču šo bootloader izmanto arī, lai instalētu dublējumus, dažādus atjauninājumus, formatētu atmiņas karti utt.

Atlasiet sāknēšanas režīmu un Fastboot Mode nav iekšējās vai ārējās komandas. Tie sākas agrāk nekā pati operētājsistēma (piemēram, BIOS operētājsistēmā Windows). Tas ļauj konfigurēt sistēmu, kā arī novērst dažādas problēmas pat tad, ja Android ir avarējis.

Neskatoties uz tā daudzpusību un lietderību, Fastboot ieslēgšana pati par sevi var liecināt par programmatūras kļūmi. Galvenie šī režīma parādīšanās iemesli operētājsistēmā Android ir:

  1. Lietotāja nejauša aktivizēšana. Šo rīku var palaist manuāli, izmantojot sīkrīka izvēlni.
  2. Android darbības traucējumi. Ja viedtālrunis vai planšetdators nevar sāknēties parastajā režīmā, tas automātiski pārslēdzas uz Fastboot Mode.
  3. Neveiksmīga programmaparatūra, izmantojot .
  4. Manuāla izpildāmā faila dzēšana no sistēmas direktorija pēc saknes piekļuves atbloķēšanas.
  5. Pakļaušana ļaunprātīgai programmatūrai. Ja jums ir superlietotāja tiesības ierīcē, daži vīrusi var bloķēt vai pat izdzēst sistēmas failus, kas noved pie operētājsistēmas avārijas.

Noskaidrojot, kas ir Fastboot Mode sāknēšanas ielādētājs un kādi ir tā parādīšanās iemesli, varat sākt apsvērt jautājumu par to, kā iziet no sāknēšanas režīma Xiaomi, Meizu, Lenovo un citos mobilo ierīču modeļos.

Ātrās palaišanas režīma atspējošana operētājsistēmā Android

Ir divi veidi, kā atspējot Fastboot bootloader:

  • tieši no tālruņa;
  • caur datoru.

Vienas vai citas opcijas izvēle ir atkarīga no iemesla, kas noveda pie šī režīma palaišanas. Kā piemēru apskatīsim, kā novērst Fastboot loga ielādi Xiaomi viedtālrunī.

Saskaroties ar šo problēmu, vispirms mēģiniet 20–30 sekundes turēt nospiestu barošanas taustiņu. Ierīcei vajadzētu restartēt standarta režīmā.

Fastboot vietā mobilā tālruņa ekrānā var parādīties veidlapa Select Boot Mode. Tās lauki nozīmē:

Mēģiniet izvēlēties otro iespēju. Ja tas nepalīdz, rīkojieties šādi:


Ja varat doties uz Xiaomi iestatījumiem, tas ir, operētājsistēma darbojas, mēģiniet manuāli atspējot Fastboot režīmu. Šajā ierīcē atveriet cilni “Pieejamība” un pretī atbilstošajam vienumam velciet slīdni pozīcijā Izslēgts.

Ātrās palaišanas režīma atspējošana, izmantojot datoru

Ja operētājsistēma avarē, kad tehniski nav iespējams izmantot viedtālruņa izvēlni un citas Fastboot atspējošanas metodes ir neefektīvas, varat mēģināt atrisināt problēmu, izmantojot datoru un cmd komandrindu. Tas tiek darīts šādi:


Komandrinda ir visefektīvākais veids, kā atbrīvoties no Fastboot Mode. Ja tas neatrisina problēmu, joprojām aktuāls ir jautājums par to, kā ieslēgt mobilo ierīci parastajā režīmā, atliek tikai nomainīt tālruņa programmaparatūru vai nogādāt to darbnīcā.

Redaktora izvēle

Ātrās palaišanas režīms operētājsistēmā Android: mēs veicam [manipulācijas ar sīkrīku] sistēmas līmenī

Dažreiz Android tālruņu vai planšetdatoru lietotāji saskaras ar ātrās sāknēšanas režīmu, pilnībā nesaprotot, kas tas ir?

Ieslēdzot sīkrīku, viņi redz ekrānu ar animāciju un noteiktu datu sarakstu, kas vairāk atgādina sistēmas kļūmi.

Parasti, Regulāra atsāknēšana šo problēmu neatrisinās un labāk ir sekot norādījumiem soli pa solim, nevis mēģināt to izdomāt pats. Galu galā tā ir viena no sistēmām, un lietotājs, kurš šādās lietās slikti pārzina, var nejauši kaitēt savam sīkrīkam.

Pēc tam šī iemesla dēļ jums būs jāsazinās ar dienestu, tērējot savu laiku un naudu. Bet no tā var viegli izvairīties, ja noskaidrojat problēmu bez liekas steigas.

Zemāk jūs varat detalizēti uzzināt, kas tas ir, kāpēc process notiek un kā rīkoties, kad tas parādās.

Saturs:

Kas tas ir

Android operētājsistēmā tā nodrošina pilnu piekļuvi viedtālrunim vai planšetdatoram, lai to vadītu, izmantojot datoru. Šī pieeja ļauj:

  • instalēt lietojumprogrammas;
  • konfigurēt dažādus parametrus;
  • mirgo sīkrīku;
  • izplatīt piekļuves tiesības.

Fastboot nav daļa no vienas konkrētas OS, taču to bieži var atrast Android SDK vidē, jo bez tā nebūs iespējams pilnībā izveidot komunikāciju starp datoru un sīkrīku.

Šajā gadījumā mēs domājam sarežģītu datu pārsūtīšanu, proti, ierīces iestatīšanu.

Ir vērts atzīmēt, ka tas sākas agrāk nekā pati operētājsistēma. Tas liecina, ka režīmu var izmantot pat tad, ja tas vēl nav instalēts jūsu sīkrīkā.

Kāpēc tas rodas

Šāda režīma izmantošana ir ļoti noderīga, bet ko darīt, ja viedtālrunis nav jākonfigurē šādā veidā, un pēkšņi parādās logs?

Tās parādīšanās iemesli var būt dažādi:

  • kļūda, mirgojot sīkrīku;
  • nejaušas taustiņu nospiešanas – viedtālruņa ieslēgšana un skaļuma palielināšana vienlaikus;
  • root lietotāja tiesību iegūšana;
  • sistēmas kļūme.

Jebkurā no šiem gadījumiem ierīces ekrānā tiks parādīta Android ikona, kā arī jūsu sīkrīka sistēmas informācija.

Vispirms, ja notiek ātrā sāknēšana, pārbaudiet, vai .

Skaļuma palielināšanas un samazināšanas pogas ir aktīvas - ar pirmo mēs ritinām ekrānā redzamos vienumus, bet ar otro mēs izdarām izvēli (piemēram, izmantojot taustiņu Ievadiet datorā).

Tādējādi mēs sasniedzam uzrakstu "NormalBoot" un atlasiet to ar skaļuma samazināšanas pogu.

Ja pēc tam viedtālrunis ieslēdzas klusi, tad tas vismaz norāda, ka ar to nav problēmu un arī sistēmas kļūme nav iemesls. Dažreiz tas notiek savienojuma ar datoru dēļ.

Sinhronizācija notiek, jūs veicat visas nepieciešamās darbības: instalējiet jaunu lietojumprogrammu, augšupielādējiet fotoattēlu vai lejupielādējiet filmu, un pēc tam, atvienojot datoru, jūs redzat, ka tas nepazūd.

Tas ir saistīts ar faktu, ka servisa centrs, iespējams, nav atspējojis šo funkciju. Ar to var tikt galā pats:

  • pēc tam, kad sīkrīks ir normāli ielādēts, dodieties uz to "Iestatījumi";
  • pēc tam atlasiet cilni "Ekrāns";
  • Kad vienums tajā ir atrasts, noņemiet atzīmi no tā.

Tādējādi ātrās palaišanas režīms tiks deaktivizēts, un, ieslēdzot, tas vairs netraucēs lietotāju.

Ko darīt sistēmas kļūmes gadījumā

Ja pāreja uz "Parastā sāknēšana" bloķēts vai, vēl ļaunāk, ekrānā ir redzams tikai viens ziņojums "Ātrās palaišanas režīms" un nav parametru kopsavilkuma, tad kaut kādu iemeslu dēļ sīkrīka sistēma ir sabojājusies un ir divas iespējas, kā visu labot.

1. iespēja

Jūs vienmēr varat mēģināt atjaunot sistēmu un atgriezt viedtālruni darba stāvoklī.

Svarīgs! Atkopšanas laikā visi viedtālrunī saglabātie dati tiek formatēti, tāpēc labāk ir pasargāt sevi un vispirms izņemt atmiņas karti.

Pirmkārt, jums vienlaikus ir jānospiež barošanas un skaļuma palielināšanas pogas. Parādītajā izvēlnē atrodiet vienumu – datu dzēšana/rūpnīcas atiestatīšana.

Un pēc tam atlasiet to un pagaidiet, līdz visi iestatījumi tiek atgriezti. Process var ilgt no vienas līdz vairākām minūtēm.

Sīkrīks tiks restartēts, un jūs atkal varēsiet to izmantot saviem mērķiem.

Bet pārlūkprogrammā instalētās lietojumprogrammas un grāmatzīmes būs jāatjauno vēlreiz, jo šāda procedūra atgriež to uz rūpnīcas iestatījumiem.

2. iespēja

Jums vajadzētu izmantot šo iespēju kā pēdējo līdzekli, ja neviena no iepriekš aprakstītajām metodēm noteikti nedarbojas.

Ja režīms, kas parādās, kad to ieslēdzat, nesatur parametrus, ja sīkrīka atsāknēšana neko nedara un jūs pat nevarat to izsaukt, jums ir jārīkojas šādi:

  • izņemiet akumulatoru;
  • ievietojiet to atpakaļ;
  • Nospiediet un turiet barošanas pogu vismaz 30 sekundes.

Ātrās sāknēšanas režīma atgriešanās skaidri parādīs, ka ir pienācis laiks pāriet uz radikālākām darbībām.

Jums būs jāpārstartē ierīce, bet caur datoru.

Piezīme! Lai strādātu ar viedtālruni, kurā ir radusies sistēmas kļūme, jums būs nepieciešami piemēroti draiveri.

Nav tik grūti.

Vienkārši izmantojiet meklētājprogrammu un no vairākām ieteiktajām vietnēm, kas piedāvā lejupielādēt “malku”, mēģiniet izvēlēties oficiālās, lai novērstu nepatīkamus incidentus, kas saistīti ar vīrusu ieviešanu utt.

1 Atskrūvējiet lejupielādēta “malka”;

2 Dati no arhīva ielieciet to mapē;

3 Pēc savienojiet sīkrīku ar datoru caur USB kabeli;

4 Jums būs jāpavada kāds laiks, gaidot, kamēr dators atpazīst viedtālruni, pēc kura viņš piedāvās instalēt draiverus, lai sāktu strādāt ar sīkrīku;

5 Tā kā mēs tos jau esam iepriekš lejupielādējuši, tad atlasiet "Instalēt no noteiktas vietas";

6 Atlasiet mapi, kurā tās ievietojāt, un noklikšķiniet uz Ievadiet.

Kad draiveri ir veiksmīgi instalēti, pāriesim uz darbu ar ierīci, izmantojot komandrindu.

  • dodieties uz izvēlni "Sākt";
  • izpildes rindā mēs rakstām "cmd";

Šī metode, kas ietver datora izmantošanu, ir visefektīvākā. Bet tomēr vislabāk to izmantot, ja mazākas un vienkāršākas atkopšanas darbības, iespējams, nedarbosies.

Kā ievadīt iestatījumus

Ja radīsies šāda vajadzība, viss būs atkarīgs tikai no jūsu izmantotā viedtālruņa modeļa.

Bet, neskatoties uz to, jums būs nepieciešams dators un. Pirms darba sākšanas noteikti izslēdziet sīkrīku.

Pēc darba ar šo režīmu, lai tas regulāri netraucētu, vislabāk to vēlreiz atspējot iestatījumos.

Vai esat kādreiz domājis, kā darbojas ātrā sāknēšana vai ADB? Vai arī kāpēc viedtālruni, kurā darbojas Android, ir gandrīz neiespējami pārvērst par ķieģeli? Vai varbūt jūs jau sen vēlējāties uzzināt, kur slēpjas Xposed ietvara burvība un kāpēc ir nepieciešami sāknēšanas skripti /system/etc/init.d? Kā ar atkopšanas konsoli? Vai šī ir Android daļa vai lieta pati par sevi un kāpēc regulāra atkopšana nav piemērota trešās puses programmaparatūras instalēšanai? Atbildes uz visiem šiem un daudziem citiem jautājumiem atradīsit šajā rakstā.

Kā darbojas Android

Jūs varat uzzināt par programmatūras sistēmu slēptajām iespējām, izprotot to darbības principu. Dažos gadījumos to ir grūti izdarīt, jo sistēmas kods var būt aizvērts, bet Android gadījumā mēs varam izpētīt visu sistēmu no iekšpuses un ārpuses. Šajā rakstā es nerunāšu par visām Android niansēm un pievērsīšos tikai tam, kā sākas OS un kādi notikumi notiek intervālā starp barošanas pogas nospiešanu un darbvirsmas izskatu.

Pa ceļam es paskaidrošu, ko mēs varam mainīt šajā notikumu ķēdē un kā pielāgotas programmaparatūras izstrādātāji izmanto šīs iespējas, lai ieviestu tādas lietas kā OS parametru regulēšana, lietojumprogrammu krātuves vietas paplašināšana, savienojuma maiņa, dažādi pielāgojumi un daudz kas cits. Visu šo informāciju var izmantot, lai izveidotu savu programmaparatūru un ieviestu dažādus hakerus un modifikācijas.

Pirmais solis. ABOOT un nodalījumu tabula

Viss sākas ar primāro sāknēšanas programmu. Pēc strāvas ieslēgšanas sistēma izpilda sāknēšanas ielādes kodu, kas saglabāts ierīces pastāvīgajā atmiņā. Pēc tam tas nodod vadību uz aboot bootloader ar iebūvētu ātrās sāknēšanas protokola atbalstu, bet mobilās mikroshēmas vai viedtālruņa/planšetdatora ražotājam ir tiesības izvēlēties jebkuru citu bootloader pēc savas izvēles. Piemēram, Rockchip izmanto savu sāknēšanas ielādētāju, kas nav saderīgs ar ātro sāknēšanu un prasa patentētus rīkus, lai to palaistu un pārvaldītu.

Savukārt ātrās sāknēšanas protokols ir sistēma bootloader pārvaldībai no datora, kas ļauj veikt tādas darbības kā bootloader atbloķēšana, jauna kodola mirgošana un atkopšana, programmaparatūras instalēšana un daudzas citas. Ātrās palaišanas jēga ir iespēja atjaunot viedtālruni tā sākotnējā stāvoklī situācijā, kad visi citi līdzekļi neizdodas. Fastboot paliks vietā, pat ja eksperimentu rezultātā no viedtālruņa izdzēsīsit visus NAND atmiņas nodalījumus, kuros ir Android un atkopšana.

Saņemot vadību, aboot pārbauda nodalījuma tabulu un pārsūta vadību uz kodolu, kas ir mirgots nodalījumā ar nosaukumu sāknēšana, pēc kura kodols izvelk RAM attēlu no tā paša nodalījuma atmiņā un sāk ielādēt Android vai atkopšanas konsoli. NAND atmiņa Android ierīcēs ir sadalīta sešās nosacīti nepieciešamajās sadaļās:

  • sāknēšana - satur kodolu un RAM disku, parasti aptuveni 16 MB;
  • atkopšana - atkopšanas konsole, sastāv no kodola, konsoles lietojumprogrammu komplekta un iestatījumu faila, izmērs 16 MB;
  • sistēma - satur Android, mūsdienu ierīcēs izmērs ir vismaz 1 GB;
  • kešatmiņa - paredzēta kešatmiņā saglabāto datu glabāšanai, tiek izmantota arī programmaparatūras saglabāšanai OTA atjaunināšanas laikā, un tāpēc tās izmērs ir līdzīgs sistēmas nodalījuma lielumam;
  • lietotāja dati - satur iestatījumus, lietojumprogrammas un lietotāja datus, tam tiek piešķirta visa atlikušā NAND atmiņas vieta;
  • misc - satur karogu, kas nosaka, kādā režīmā sistēmai vajadzētu sāknēties: Android vai atkopšana.

Papildus tām var būt arī citas sadaļas, taču vispārīgais marķējums tiek noteikts viedtālruņa projektēšanas stadijā un aboot gadījumā tiek iešūts sāknēšanas ielādes kodā. Tas nozīmē, ka: 1) nodalījuma tabulu nevar iznīcināt, jo to vienmēr var atjaunot, izmantojot fastboot oem formāta komandu; 2) lai mainītu nodalījuma tabulu, jums būs jāatbloķē un jāatjauno sāknēšanas ielādētājs ar jauniem parametriem. Tomēr šim noteikumam ir izņēmumi. Piemēram, tās pašas Rockchip sāknēšanas ielādētājs glabā informāciju par nodalījumiem pirmajā NAND atmiņas blokā, tāpēc sāknēšanas ielādēja mirgošana, lai to mainītu, nav nepieciešama.

Īpaši interesanta ir dažāda sadaļa. Pastāv pieņēmums, ka tas sākotnēji tika izveidots dažādu iestatījumu glabāšanai neatkarīgi no galvenās sistēmas, taču šobrīd tas tiek izmantots tikai vienam mērķim: norādīt bootloader, no kura nodalījuma sistēma ir jāielādē - sāknēšana vai atkopšana. Šo funkciju jo īpaši izmanto lietojumprogramma ROM Manager, lai automātiski pārstartētu sistēmu, lai veiktu atkopšanu ar automātisku programmaparatūras instalēšanu. Uz tā pamata ir izveidots Ubuntu Touch dubultās sāknēšanas mehānisms, kas iedarbina Ubuntu sāknēšanas ielādētāju uz atkopšanu un ļauj jums kontrolēt, kuru sistēmu palaist nākamreiz. Izdzēsa misc partition - Android ielādējas, piepildīja to ar datiem - atkopšana ielādē... tas ir, Ubuntu Touch.

Otrais solis. Sāknēšanas sadaļa

Ja sadaļai Misc nav atkopšanas sāknēšanas karoga, aboot nodod kontroli uz kodu, kas atrodas sāknēšanas sadaļā. Tas nav nekas vairāk kā Linux kodols; tas atrodas sadaļas sākumā, un tūlīt pēc tam tiek parādīts RAM diska attēls, kas ir iepakots, izmantojot cpio un gzip arhivētājus, kas satur direktorijus, kas nepieciešami Android darbam, inicializācijas sistēmu un citus rīkus. Sāknēšanas nodalījumā nav failu sistēmas; kodols un RAM disks vienkārši seko viens otram. RAM diska saturs ir:

  • dati - direktorija tāda paša nosaukuma nodalījuma uzstādīšanai;
  • dev - ierīces faili;
  • proc - šeit ir uzstādīts procfs;
  • res - attēlu komplekts lādētājam (skatīt zemāk);
  • sbin - utilītu un dēmonu kopa (piemēram, adbd);
  • sys - šeit ir uzstādīts sysfs;
  • sistēma - direktorijs sistēmas nodalījuma uzstādīšanai;
  • lādētājs - lietojumprogramma uzlādes procesa attēlošanai;
  • build.prop - sistēmas iestatījumi;
  • init - inicializācijas sistēma;
  • init.rc - inicializācijas sistēmas iestatījumi;
  • ueventd.rc - initā iekļautā uventd dēmona iestatījumi.

Tas ir, tā sakot, sistēmas karkass: direktoriju komplekts failu sistēmu savienošanai no NAND atmiņas nodalījumiem un inicializācijas sistēma, kas veiks pārējo sistēmas palaišanas darbu. Šeit centrālais elements ir init lietojumprogramma un tās init.rc konfigurācija, par kuru es sīkāk runāšu vēlāk. Tikmēr es vēlos pievērst jūsu uzmanību lādētāja un ueventd.rc failiem, kā arī sbin, proc un sys direktorijiem.

Lādētāja fails ir neliela lietojumprogramma, kuras vienīgais uzdevums ir parādīt akumulatora ikonu. Tam nav nekāda sakara ar Android, un to izmanto, kad ierīce ir savienota ar lādētāju izslēgtā stāvoklī. Šajā gadījumā Android netiek ielādēts, un sistēma vienkārši ielādē kodolu, pievieno RAM disku un sāk lādētāju. Pēdējā parāda akumulatora ikonu, kuras attēls visos iespējamos stāvokļos tiek saglabāts parastos PNG failos res direktorijā.

Fails ueventd.rc ir konfigurācija, kas nosaka, kuri ierīces faili sys direktorijā ir jāizveido sistēmas sāknēšanas laikā. Sistēmās, kuru pamatā ir Linux kodols, piekļuve aparatūrai tiek nodrošināta, izmantojot īpašus failus dev direktorijā, un ueventd dēmons, kas ir daļa no init, ir atbildīgs par to izveidi operētājsistēmā Android. Parastā situācijā tas darbojas automātiskajā režīmā, pieņemot komandas, lai izveidotu failus no kodola, bet daži faili ir jāizveido neatkarīgi. Tie ir uzskaitīti vietnē ueventd.rc.

Android noliktavā esošajā sbin direktorijā parasti nav nekā cita, izņemot adbd, tas ir, ADB dēmonu, kas ir atbildīgs par sistēmas atkļūdošanu no datora. Tas darbojas agrīnā OS sāknēšanas stadijā un ļauj identificēt iespējamās problēmas OS inicializācijas posmā. Pielāgotajā programmaparatūrā šajā direktorijā varat atrast virkni citu failu, piemēram, mke2fs, kas var būt nepieciešami, ja nodalījumi ir jāpārformatē uz ext3/4. Tāpat modderi tur bieži ievieto BusyBox, ar kuru var izsaukt simtiem Linux komandu.

Proc direktorijs ir standarta operētājsistēmai Linux; nākamajos sāknēšanas posmos init izveidos savienojumu ar to procfs — virtuālo failu sistēmu, kas nodrošina piekļuvi informācijai par visiem sistēmas procesiem. Sistēma savienos sysfs ar sys direktoriju, kas atver piekļuvi informācijai par aparatūru un tās iestatījumiem. Izmantojot sysf, varat, piemēram, ieslēgt ierīci miega režīmā vai mainīt izmantoto enerģijas taupīšanas algoritmu.

Fails build.prop ir paredzēts zema līmeņa Android iestatījumu glabāšanai. Vēlāk sistēma atiestatīs šos iestatījumus un pārrakstīs tos ar vērtībām no pašlaik nepieejamā faila system/build.prop.


Izņēmumi no teksta

  • Fastboot paliks vietā, pat ja eksperimentu rezultātā no viedtālruņa izdzēsīsit visu NAND atmiņas sadaļu saturu.
  • Atkopšanas sadaļa ir pilnībā pašpietiekama, un tajā ir miniatūra operētājsistēma, kas nekādā veidā nav saistīta ar Android
  • Nedaudz modificējot fstab failu, mēs varam piespiest init palaist sistēmu no atmiņas kartes

Otrais solis, alternatīva. Atkopšanas sadaļa

Ja ir iestatīts atkopšanas sāknēšanas karodziņš sadaļā Misc vai lietotājs ieslēdz viedtālruni, turot nospiestu skaļuma samazināšanas taustiņu, aboot nodos vadību uz kodu, kas atrodas atkopšanas sadaļas sākumā. Tāpat kā sāknēšanas nodalījums, tajā ir kodols un RAM disks, kas tiek izpakots atmiņā un kļūst par failu sistēmas sakni. Tomēr RAM diska saturs šeit ir nedaudz atšķirīgs.

Atšķirībā no sāknēšanas nodalījuma, kas darbojas kā pārejas saite starp dažādiem OS ielādes posmiem, atkopšanas nodalījums ir pilnībā pašpietiekams un satur miniatūru operētājsistēmu, kas nekādā veidā nav saistīta ar Android. Atkopšanai ir savs kodols, savs lietojumprogrammu (komandu) komplekts un savs interfeiss, kas ļauj lietotājam aktivizēt servisa funkcijas.

Standarta (akciju) atkopšanā parasti ir tikai trīs šādas funkcijas: programmaparatūras instalēšana, kas parakstīta ar viedtālruņa ražotāja atslēgu, notīrīšana un atsāknēšana. Modificētām trešo pušu atkopšanām, piemēram, ClockworkMod un TWRP, ir daudz vairāk funkciju. Tie var formatēt failu sistēmas, instalēt programmaparatūru, kas parakstīta ar jebkādām atslēgām (lasīt: pielāgota), montēt failu sistēmas citos nodalījumos (OS atkļūdošanas nolūkos) un iekļaut skriptu atbalstu, kas ļauj automatizēt programmaparatūras procesu un daudzas citas funkcijas.

Piemēram, izmantojot skriptus, varat pārliecināties, ka pēc sāknēšanas atkopšana automātiski atrod nepieciešamo programmaparatūru atmiņas kartē, instalē tos un atsāknējas operētājsistēmā Android. Šo funkciju izmanto ROM pārvaldnieks, automātiskās zibspuldzes rīki, kā arī CyanogenMod un citas programmaparatūras automātiskās atjaunināšanas mehānisms.

Pielāgotā atkopšana atbalsta arī rezerves skriptus, kas atrodas direktorijā /system/addon.d/. Pirms mirgošanas atkopšana pārbauda skriptus un izpilda tos pirms programmaparatūras mirgošanas. Pateicoties šādiem skriptiem, gapps nepazūd pēc jaunas programmaparatūras versijas instalēšanas.

ātrās sāknēšanas komandas

Lai piekļūtu ātrajai sāknēšanai, jums ir jāinstalē Android SDK, savienojiet viedtālruni ar datoru, izmantojot kabeli, un ieslēdziet to, turot abas skaļuma pogas. Pēc tam jums vajadzētu doties uz platformas rīku apakšdirektoriju SDK un palaist komandu

Fastboot ierīces

Ierīces nosaukums tiks parādīts ekrānā. Citas pieejamās komandas:

  • fatsboot oem atbloķēšana- sāknēšanas ielādēja atbloķēšana uz savienojumiem;
  • atjaunināt failu.zip- programmaparatūras uzstādīšana;
  • flash boot boot.img- sāknēšanas nodalījuma attēla mirgošana;
  • zibatmiņas atkopšana atkopšana.img- atkopšanas nodalījuma attēla mirgošana;
  • zibatmiņas sistēma sistēma.img- mirgo sistēmas attēls;
  • oem formātā- iznīcinātas nodalījuma tabulas atjaunošana;

Trešais solis. Inicializācija

Tātad, saņemot kontroli, kodols savieno RAM disku un pēc visu tā apakšsistēmu un draiveru inicializācijas sāk init procesu, kas sāk Android inicializēšanu. Kā jau teicu, init ir konfigurācijas fails init.rc, no kura process uzzina, kas tieši tam jādara, lai atvērtu sistēmu. Mūsdienu viedtālruņos šai konfigurācijai ir iespaidīgs vairāku simtu līniju garums, un tā ir aprīkota arī ar vairāku bērnu konfigurāciju piekabi, kas ir savienota ar galveno, izmantojot importēšanas direktīvu. Tomēr tā formāts ir diezgan vienkāršs un būtībā ir komandu kopums, kas sadalīts blokos.

Katrs bloks nosaka ielādes stadiju vai, Android izstrādātāju valodā runājot, darbību. Bloki ir atdalīti viens no otra ar direktīvu on, kam seko darbības nosaukums, piemēram, agrīnajā sākumā vai post-fs. Komandu bloks tiks izpildīts tikai tad, ja tiks aktivizēts tāda paša nosaukuma trigeris. Sāknēšanas laikā init aktivizēs agrīnās init, init, early-fs, fs, post-fs, agrīnās sāknēšanas un sāknēšanas aktivizētājus, tādējādi palaižot atbilstošos komandu blokus.


Ja konfigurācijas fails izvelk vēl vairākas konfigurācijas, kas norādītas sākumā (un tas gandrīz vienmēr notiek), tad tajās esošie tāda paša nosaukuma komandu bloki tiks apvienoti ar galveno konfigurāciju, lai tad, kad tiek aktivizēts trigeris, init izpildīt komandas no atbilstošajiem visu failu blokiem. Tas tiek darīts konfigurācijas failu izveides ērtībai vairākām ierīcēm, kad galvenajā konfigurācijā ir komandas, kas ir kopīgas visām ierīcēm, un katrai ierīcei raksturīgās tiek ierakstītas atsevišķos failos.

Visievērojamākā no papildu konfigurācijām ir initrc.device_name.rc, kur ierīces nosaukums tiek noteikts automātiski, pamatojoties uz sistēmas mainīgā ro.hardware saturu. Šis ir platformai specifisks konfigurācijas fails, kas satur ierīcei raksturīgus komandu blokus. Papildus komandām, kas ir atbildīgas par kodola regulēšanu, tajā ir arī kaut kas līdzīgs šim:

Mount_all ./fstab.device_name

Tas nozīmē, ka init tagad jāpievieno visas failu sistēmas, kas norādītas failā ./fstab.device_name, kuram ir šāda struktūra:

Ierīces_nosaukums (partition) mount_point file_system fs_options citas opcijas

Tas parasti satur instrukcijas failu sistēmu montāžai no iekšējiem NAND nodalījumiem direktorijās /system (OS), /data (lietojumprogrammu iestatījumi) un /cache (kešatmiņā saglabātie dati). Tomēr, nedaudz pārveidojot šo failu, mēs varam piespiest init palaist sistēmu no atmiņas kartes. Lai to izdarītu, vienkārši sadaliet atmiņas karti trīs 4 sadaļās: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 un atlikušo fat32 vietu. Tālāk jums ir jānosaka /dev direktorijā esošo atmiņas karšu nodalījumu nosaukumi (dažādām ierīcēm tie atšķiras) un jāaizstāj ar oriģinālajiem ierīču nosaukumiem fstab failā.


Sāknēšanas sāknēšanas bloka beigās tas, visticamāk, saskarsies ar noklusējuma komandu class_start, kas informēs, ka pēc tam jāsāk visi konfigurācijā uzskaitītie pakalpojumi, kas ir saistīti ar noklusējuma klasi. Pakalpojumu apraksts sākas ar pakalpojuma direktīvu, kam seko pakalpojuma nosaukums un komanda, kas jāizpilda, lai to palaistu. Atšķirībā no blokos uzskaitītajām komandām, pakalpojumiem ir jādarbojas visu laiku, tāpēc visā viedtālruņa darbības laikā init karājas fonā un uzraudzīs to.

Mūsdienu Android ietver desmitiem pakalpojumu, taču diviem no tiem ir īpašs statuss un tie nosaka visu sistēmas dzīves ciklu.

init.rc komandas

Init procesam ir iebūvēta komandu kopa, no kurām daudzas seko standarta Linux komandu kopai. Ievērojamākie no tiem:

  • exec /ceļš/uz/komanda- palaist ārēju komandu;
  • ifup interfeiss- paaugstināt tīkla saskarni;
  • klases_sākums klases_nosaukums- uzsākt pakalpojumus, kas pieder noteiktai klasei;
  • klases_pietura klases_nosaukums- apstāšanās pakalpojumi;
  • insmod /ceļš/uz/moduli- ielādēt kodola moduli;
  • mount FS ierīču direktoriju- savienot failu sistēmu;
  • setprop nosaukuma vērtība- iestatīt sistēmas mainīgo;
  • start service_name- sākt norādīto pakalpojumu;
  • sprūda nosaukums- iespējot trigeri (izpildiet norādīto komandu bloku);
  • ierakstiet /ceļš/uz/faila rindiņu- ierakstiet failā rindiņu.

Ceturtais solis. Zigota un app_process

Noteiktā ielādes posmā init konfigurācijas beigās saskarsies ar kaut ko līdzīgu šim blokam:

Pakalpojuma zigota /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class noklusējuma ligzda zygote straume 660 saknes sistēma ir restart rakstīt /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Šis ir pakalpojuma Zygote apraksts, kas ir jebkuras Android sistēmas galvenā sastāvdaļa, kas ir atbildīga par inicializāciju, sistēmas pakalpojumu palaišanu, lietotāju lietojumprogrammu palaišanu un apturēšanu un daudziem citiem uzdevumiem. Zygote tiek palaists, izmantojot nelielu lietojumprogrammu /system/bin/app_process, kas ir ļoti skaidri redzams iepriekš minētajā konfigurācijas daļā. App_proccess uzdevums ir palaist Dalvik virtuālo mašīnu, kuras kods atrodas /system/lib/libandroid_runtime.so koplietotajā bibliotēkā, un pēc tam palaist Zygote virs tās.

Kad tas viss ir izdarīts un Zygote tiek kontrolēts, tas sāk Java lietojumprogrammas izpildlaika izveidi, ielādējot visas ietvara Java klases (pašlaik vairāk nekā 2000 no tām). Pēc tam tiek palaists system_server, kas ietver lielāko daļu augsta līmeņa (rakstītu Java) sistēmas pakalpojumu, tostarp Window Manager, Status Bar, Package Manager un, pats galvenais, Activity Manager, kas nākotnē būs atbildīgs par sākuma un beigu saņemšanu. signālu lietojumprogrammas.

Pēc tam Zygote atver ligzdu /dev/socket/zygote un dodas gulēt, gaidot datus. Šobrīd iepriekš palaists darbību pārvaldnieks nosūta apraides nolūku Intent.CATEGORY_HOME, lai atrastu lietojumprogrammu, kas ir atbildīga par darbvirsmas izveidi, un piešķir tās nosaukumu Zygote, izmantojot ligzdu. Pēdējais savukārt dakšās un palaiž lietojumprogrammu virs virtuālās mašīnas. Voila, mūsu ekrānā ir darbvirsma, kuru atrada Activity Manager un palaida Zygote, un statusa josla, ko palaida system_server kā statusa joslas pakalpojuma daļu. Pēc pieskaršanās ikonai darbvirsma nosūtīs nolūku ar šīs lietojumprogrammas nosaukumu, Activity Manager to saņems un nosūtīs komandu palaist programmu Zygote dēmonam.

INFORMĀCIJA

Linux terminoloģijā RAM disks ir sava veida virtuālais cietais disks, kas pastāv tikai RAM. Sāknēšanas procesa sākumā kodols izņem diska saturu no attēla un pievieno to kā saknes failu sistēmu (rootfs).

Sāknēšanas procesa laikā Android parāda trīs dažādus sāknēšanas ekrānus: pirmais tiek parādīts uzreiz pēc barošanas pogas nospiešanas un tiek mirgots Linux kodolā, otrais tiek parādīts inicializācijas sākumposmā un ierakstīts failā /initlogo.rle (diez vai izmanto šodien), pēdējais tiek palaists, izmantojot bootanimation lietojumprogrammu, un atrodas failā /system/media/bootanimation.zip.

Papildus standarta trigeriem init ļauj definēt savus trigerus, kurus var aktivizēt dažādi notikumi: ierīces pievienošana USB, viedtālruņa stāvokļa maiņa vai sistēmas mainīgo stāvokļa maiņa.

Cita starpā Activity Manager nogalina arī fona lietojumprogrammas, ja nav pietiekami daudz atmiņas. Brīvās atmiņas sliekšņa vērtības ir atrodamas failā /sys/module/lowmemorykiller/parameters/minfree.

Tas viss var izskatīties nedaudz mulsinoši, taču vissvarīgākais ir atcerēties trīs vienkāršas lietas:

Daudzos veidos Android ļoti atšķiras no citām operētājsistēmām, un ir grūti to uzreiz izdomāt. Taču, ja saproti, kā viss darbojas, iespējas ir vienkārši bezgalīgas. Atšķirībā no iOS un Windows Phone, Google operētājsistēmai ir ļoti elastīga arhitektūra, kas ļauj nopietni mainīt tās uzvedību bez koda rakstīšanas. Vairumā gadījumu pietiek ar nepieciešamo konfigurāciju un skriptu labošanu.




Tops