Што е подигање во андроид. Што е Bootloader на Андроид. Преземање и инсталирање на FastBoot

За да можат фино да ги подесуваат параметрите на ОС и хардверот, корисниците на мобилни уреди со Android понекогаш ги искоренуваат своите гаџети, а исто така прават промени во . Но, тоа не е се достапни методидобивање на проширен пристап до поставките на уредот и системот. Можете да погледнете под „хаубата“ на уредот користејќи режим наречен Fastboot Mode.

Што е Fastboot Mode

Што значи Fastboot Mode и со што има врска фино подесување? Во некои модели на лаптоп, тој навистина служи за максимизирање на брзината на подигање на системот, заобиколувајќи го BIOS-от и апликациите за дебагирање; кај мобилните уреди, неговата цел е малку поинаква. На паметните телефони и таблети со Android, овој режим е неопходен првенствено за да се обезбеди пристап и контрола на системските компоненти на уредот со помош на компјутер.

Користејќи ги можностите на Fastboot Mode, специјалистите на сервисниот центар и искусни корисници можат да инсталираат софтвер, да го трепкаат гаџетот, да обновуваат апликации, да вршат резервна копијаи обновување, промена скриени системски поставки. Програмерите честопати прибегнуваат кон „брзо вчитување“, користејќи го за тестирање софтвер и други цели.

Откако ја објаснивме целта на режимот, се чини дека сè уште не одговоривме на прашањето што е всушност Fastboot Mode. Значи, fastboot во Android е одделен, независен од оперативниот систем софтверска компонента, имплементиран на хардверско ниво и регистриран во меморискиот чип. Токму оваа независност му овозможува на уредот да се подигне дури и ако се појават сериозни проблеми со оперативниот систем. Програмскиот код Fastboot Mode се наоѓа во мемориска област која е заштитена од читање и пишување, што го спречува нејзиното оштетување.

Во кои случаи се активира Fastboot Mode?

Околината Fastboot може да се активира рачно преку стандардното мени или со истовремено притискање на копчето за вклучување и на копчето за намалување/нагоре за јачина на звукот на исклучениот уред. Но, во некои случаи режимот започнува сам по себе, и ова не е многу добра работа. Причините за спонтано вчитување може да бидат неуспешно трепкање, замена на стандардната средина за обновување со изменета, стекнување права на суперкорисници, дефект на системот и оштетување на датотеките на Android OS.

Како да излезете од режимот Fastboot

Активирањето на режимот е означено со сликата на отворениот робот и натписот на екранот на телефонот Fastboot Mode.

Ако претходно не сте направиле никакви промени во конфигурацијата на гаџетот, можеби причината за префрлување на „брзо подигање“ е некој вид привремен дефект. Обидете се да го рестартирате паметниот телефон. Ако дури и по рестартирање телефонот вели fastboot и не се префрли на нормален режим на работа, ова може да укаже на подлабоки проблеми. Можно е проблемот да испадне толку сериозен што гаџетот ќе мора да се рефлешира во сервисен центар, но додека не дојде до тоа, треба да се обидете сами да излезете од брзото подигање.

Постојат два главни начини да го направите ова: преку самиот телефон и користење на компјутер. Ако нормалното рестартирање не помогне, исклучете го уредот, а потоа истовремено држете ги копчињата за вклучување и намалување на јачината на звукот додека (околу 10 секунди) не се појави менито Select Boot Mode на екранот или телефонот не се подигне во нормален режим. Во ова мени, изберете ја опцијата Нормално подигање и почекајте гаџетот да се подигне во нормален режим.

Во некои случаи, отстранувањето на батеријата помага да излезете од режимот за дебагирање, ако, се разбира, може да се отстрани.

Понекогаш корисниците треба да се справат со вчитувањето во режим на брзо подигање откако ќе го подигнат гаџетот од сервисниот центар. Ова обично се случува после. Веројатната причина е што функцијата на режимот за брзо подигање е оставена овозможена во поставките. Ако е така, тогаш за да го исклучите режимот Fasboot, одете до поставките, а потоа во делот „Екран“ или „Пристапност“, пронајдете ја ставката „Брзо подигање“ и отштиклирајте ја.

Како да излезете од режимот Fastboot користејќи компјутер? Инсталирајте апликации на вашиот компјутер, поврзете го телефонот со компјутерот, активирајте USB дебагирање, извршете ја командната линија како администратор и извршете ја командата брзо подигање рестартирање. Тоа е едноставно, но многу ефективен методоневозможување на брзо подигање.

Ако ова не го реши проблемот, ресетирајте го уредот на фабрички поставки. Откако ќе ги копирате сите важни податоци, извадете ги SIM-картичката и мемориската картичка од телефонот, подигнете ги Режим за обновување, најдете ја опцијата во менито Избришете ги податоците/ресетирањето на фабричките поставкии направете враќање назад користејќи го.

Дополнително, можете да ја исчистите содржината за складирање со избирање на опцијата Избришете ја партицијата на кешот.

Како да го ставите телефонот во Fastboot Mode

Fastboot Mode е режим на услуга на кој најчесто треба да прибегнувате ако треба да ја промените конфигурацијата на уредот преку компјутер, на пример, да инсталирате изменет фирмвер или да добиете root правабез користење на програми од трети страни. Може да биде неопходно и подигање во брз режим за да се обезбеди целосен пристап до системот Андроид папкии обновување на оперативниот систем (како алтернатива на алатките за режим за обновување).

Како да го вклучите режимот Fastboot различни уредиах може да се разликува. ВО Asus паметни телефониЗа да го направите ова, треба да ги држите копчињата за напојување и зголемување на јачината на звукот, во Nexus и HTC - копчињата за вклучување и намалување на јачината на звукот, во Sony, режимот за брзо подигање ќе се вчита ако ја задржите јачината на звукот и го поврзете гаџетот со компјутерот преку USB. .

Но, постои и универзален начин за вчитување во fastboot, кој работи подеднакво на сите мобилни уреди. Андроид уреди. Преземете ја и инсталирајте ја програмата на вашиот компјутер Adb Стартувај . Следно, овозможете USB дебагирање во поставките на телефонот, поврзете го уредот со компјутерот и откако ќе го стартувате Adb Run, изберете од менито Рестартирање - Рестартирајте го подигнувачот.

Гаџетот ќе се рестартира во режимот Fastboot.

Android OS како и секој друг софтвер, повремено може да пропадне. И еден од овие проблеми е прикажувањето на црн екран на екранот на паметен телефон или таблет со зборовите Fastboot Mode или Select Boot Mode. Многу сопственици на мобилни уреди, гледајќи слична слика, почнуваат да паничат и го носат уредот до најблиската работилница. Сепак, не треба да преземате осипни активности, бидејќи во повеќето случаи можете сами да излезете од режимот Fastboot. Ајде да погледнеме што предизвикува Fastboot Mode, што е тоа на Android и како да се ослободите од него.

Цел и причини

Fastboot е ефективна алатка за менување и прилагодување на оперативниот систем Андроид, кој е вклучен во софтверскиот пакет за програмери. Неговата главна задача е да инсталира сопствен фирмвер. Сепак, овој подигнувач се користи и за инсталирање резервни копии, разни ажурирања, форматирање на мемориска картичка итн.

Изберете Boot Mode и Fastboot Mode не се внатрешни или надворешни команди. Тие започнуваат порано од самиот оперативен систем (како BIOS-от на Windows). Ова ви овозможува да го конфигурирате системот, како и да поправите разни проблеми дури и ако Android паднал.

И покрај неговата разновидност и корисност, самото вклучување на Fastboot може да биде знак за дефект на софтверот. Главните причини за појавата на овој режим на Андроид вклучуваат:

  1. Случајно активирање од страна на корисникот. Оваа алатка може да се активира рачно преку менито на gadget.
  2. Дефект на Android. Ако паметен телефон или таблет не може да се подигне во нормален режим, тие автоматски се префрлуваат на Fastboot Mode.
  3. Неуспешен фирмвер преку .
  4. Рачно отстранување на извршна датотека од системскиот директориум после отклучување на коренотпристап.
  5. Изложеност на малициозен софтвер. Ако имате суперкориснички права на уредот, некои вируси може да се блокираат или дури и да се отстранат системски датотеки, што доведува до пад на оперативниот систем.

Откако сфативте што е подигнувачот Fastboot Mode и кои се причините за неговиот изглед, можете да започнете да го разгледувате прашањето како да излезете од режимот за подигање на Xiaomi, Meizu, Lenovo и други модели на мобилни уреди.

Оневозможување на Fastboot Mode на Андроид

Постојат два начини да се оневозможи подигнувачот Fastboot:

  • директно од вашиот телефон;
  • преку компјутер.

Изборот на една или друга опција зависи од причината што доведе до лансирање на овој режим. Како пример, да погледнеме како да спречите вчитување на прозорецот Fastboot на паметен телефон Xiaomi.

Кога ќе се соочите со овој проблем, прво обидете се да го држите копчето за вклучување/исклучување 20-30 секунди. Уредот треба да се рестартира во стандарден режим.

Наместо Fastboot, на екранот на мобилниот телефон може да се појави формата Select Boot Mode. Нејзините полиња значат следново:

Обидете се да ја изберете втората опција. Ако ова не помогне, направете го следново:


Ако можете да отидете на Поставки на Xiaomi, односно ОС работи, обидете се рачно да го оневозможите режимот Fastboot. На овој уред, одете во табулаторот „Пристапност“ и спроти соодветната ставка, повлечете го лизгачот до положбата Исклучено.

Оневозможување на Fastboot Mode преку компјутер

Ако оперативниот систем падне, кога е технички невозможно да се користи менито на паметниот телефон, а другите методи за оневозможување на Fastboot се неефикасни, може да се обидете да го решите проблемот преку компјутер и команда cmd линија. Ова се прави на следниов начин:


Командната линија е најефективниот начин да се ослободите од режимот Fastboot. Ако ова не го реши проблемот, тогаш прашањето е како да се овозможи мобилен уредво нормален режим, сè уште е релевантен, се што треба да направите е да го промените фирмверот на телефонот или да го однесете во работилница.

Изборот на уредникот

Fastboot Mode во Android: вршиме [манипулации со гаџетот] на системско ниво

Понекогаш корисници на телефони или таблети базиран на Androidнаидете на Fastboot Mode без апсолутно да разберете што е тоа?

Кога ќе го вклучат својот гаџет, гледаат екран со анимација и одредена листа на податоци, што повеќе потсетува на дефект на системот.

Обично, Редовното рестартирање нема да го реши овој проблеми подобро е да ги следите упатствата чекор по чекор отколку да се обидете сами да го сфатите тоа. На крајот на краиштата, тој е еден од системските, а корисникот кој е слабо упатен во такви работи може случајно да му наштети на сопствениот гаџет.

Последователно, поради ова, ќе мора да ја контактирате услугата, трошејќи го вашето време и пари. Но, ова може лесно да се избегне ако го сфатите проблемот без непотребно брзање.

Подолу можете детално да дознаете што е тоа, зошто се случува процесот и како да постапите кога ќе се појави.

Содржина:

Што е тоа

На оперативниот систем Андроид обезбедува целосен пристапна паметен телефон или таблет за да го контролирате преку компјутер. Овој пристап дозволува:

  • инсталирајте апликации;
  • конфигурирајте различни параметри;
  • трепкајте го гаџетот;
  • дистрибуирајте права за пристап.

Fastboot не е дел од еден специфичен ОС, но често може да се најде во околината на Android SDK, бидејќи без него нема да биде можно целосно да се воспостави комуникација помеѓу компјутерот и гаџетот.

Во овој случај, мислиме на тежок пренос на податоци, имено поставување на уредот.

Вреди да се напомене дека започнува порано од самиот оперативен систем. Ова сугерира дека режимот може да се користи дури и кога сè уште не е инсталиран на вашиот gadget.

Зошто се јавува

Имањето таков режим е многу корисно, но што да направите кога не треба да го конфигурирате паметниот телефон на овој начин и одеднаш се појави прозорец?

Причини за нејзиниот изглед може да бидат различни:

  • грешка при трепкање на гаџетот;
  • случајно притискање на копчињата – вклучување на паметниот телефон и истовремено зголемување на јачината на звукот;
  • добивање права на кориснички корени;
  • неуспех на системот.

Во кој било од овие случаи, иконата Android ќе се појави на екранот на уредот, како и системски информации за вашиот gadget.

За почеток, ако се појави Fastboot, треба да проверите дали .

Копчињата за зголемување и намалување на јачината на звукот се активни - со првото се движиме низ ставките што се прикажани на екранот, а со второто правиме избор (како користење на копче Внесетена компјутер).

Така, стигнуваме до натписот "NormalBoot"и изберете го со копчето за намалување на јачината на звукот.

Ако после тоа паметниот телефон се вклучи тивко, тогаш ова, во најмала рака, покажува дека нема проблеми со него и неуспехот на системот исто така не е причината. Понекогаш тоа се случува поради поврзувањето со компјутерот.

Синхронизацијата се случува, вие правите сè потребни дејствија: инсталирате нова апликација, поставувате фотографија или преземате филм, а потоа, кога ќе се исклучите од вашиот компјутер, ќе видите дека таа не исчезнува.

Ова се должи на фактот дека сервисниот центар веројатно не ја оневозможил оваа функција. Можете сами да се справите со ова:

  • откако гаџетот ќе се вчита нормално, одете до него "Поставки";
  • потоа изберете ја картичката "екран";
  • Откако ја пронајдовте ставката во неа, отштиклирајте ја.

Така, режимот за брзо подигање ќе се деактивира и кога ќе се вклучи, повеќе нема да го вознемирува корисникот.

Што да направите во случај на дефект на системот

Доколку транзицијата кон „Нормална чизма“блокирана или, уште полошо, само една порака е видлива на екранот „Режим за брзо подигање“и нема резиме на параметри, тогаш поради некоја причина системот на гаџетот не успеа и има две опции како да се поправи сè.

Опција 1

Секогаш можете да се обидете да го вратите системот и повторно да го вратите паметниот телефон во работна состојба.

Важно! За време на обновувањето, сите податоци зачувани на паметниот телефон се форматирани, па затоа е подобро да се заштитите и прво да ја отстраните мемориската картичка.

Прво, треба истовремено да ги држите копчињата за вклучување и зголемување на јачината на звукот. Во менито што се појавува, пронајдете ја ставката - избришете ги податоците/фабрички ресетирање.

И потоа изберете го и почекајте додека не се вратат сите поставки. Процесот може да трае од една до неколку минути.

Гаџетот ќе се рестартира и повторно ќе можете да го користите за свои цели.

Но, инсталираните апликации и обележувачи во прелистувачот ќе треба повторно да се вратат, бидејќи таквата постапка го враќа на фабричките поставки.

Опција 2

Треба да прибегнете кон оваа опција како последно средство кога ниту еден од методите опишани погоре дефинитивно не функционира.

Ако режимот што се појавува кога ќе го вклучите не содржи параметри, ако рестартирањето на гаџетот не прави ништо и не можете ни да го повикате, тогаш треба да го направите следново:

  • извадете ја батеријата;
  • вметнете го назад;
  • Притиснете и задржете го копчето за вклучување најмалку 30 секунди.

Враќањето на Fastboot Mode ќе стане јасно дека е време да се премине на подрастични акции.

Ќе треба да го рестартирате уредот, но преку компјутерот.

Забелешка!За да работите со паметен телефон што доживеал дефект на системот, ќе ви требаат соодветни драјвери.

Не толку тешко.

Само користете пребарувач и од низата предложени страници кои нудат преземање „огревно дрво“, обидете се да изберете официјални за да ги елиминирате непријатните инциденти поврзани со воведувањето на вируси итн.

1 Отпакувајтепреземено „огревно дрво“;

2 Податоци од архивата ставете го во папка;

3 После поврзете го гаџетот со компјутеротпреку USB кабел;

4 Ќе треба да поминете некое време на чекање, додека компјутерот го препознава паметниот телефон, по што тој ќе понуди да инсталира драјвери за да започне да работи со гаџетот;

5 Затоа што веќе ги презедовме однапред изберете „Инсталирај од одредена локација“;

6 Изберете ја папката во која сте ги сместиле и кликнете Внесете.

Откако драјверите се успешно инсталирани, ајде да продолжиме да работиме со уредот преку командната линија.

  • одете во менито "Почеток";
  • во линијата за извршување пишуваме "cmd";

Овој метод, кој вклучува употреба на компјутер, е најефикасен. Но, сепак е најдобро да се прибегне кон тоа кога помалите и поедноставни активности за обновување веројатно нема да функционираат.

Како да внесете поставки

Доколку се појави таква потреба, сè ќе зависи исклучиво од моделот на паметен телефон што го користите.

Но, и покрај ова, ќе ви треба компјутер и. Не заборавајте да го исклучите гаџетот пред да започнете.

Откако ќе работите со овој режим, за да не ви пречи редовно, најдобро е повторно да го оневозможите во поставките.

Дали некогаш сте се запрашале како функционираат fastboot или ADB? Или зошто е речиси невозможно паметен телефон со Android да се претвори во тула? Или можеби долго време сакавте да знаете каде лежи магијата на рамката Xposed и зошто се потребни скриптите за подигање /system/etc/init.d? Што е со конзолата за обновување? Дали е дел од Андроид или нешто сама по себе и зошто да се инсталира фирмвер од трета странаРедовното закрепнување не функционира? Одговорите на сите овие и многу други прашања ќе најдете во оваа статија.

Како функционира Андроид

Дознај за скриени можности софтверски системиможете со разбирање на принципот на нивното работење. Во некои случаи, ова е тешко да се направи, бидејќи системскиот код може да биде затворен, но во случајот со Android, можеме да го проучуваме целиот систем внатре и надвор. Во оваа статија, нема да зборувам за сите нијанси на Android и ќе се фокусирам само на тоа како започнува оперативниот систем и кои настани се случуваат во интервалот помеѓу притискање на копчето за вклучување и изгледот на работната површина.

Попатно, ќе објаснам што можеме да промениме во овој синџир на настани и како развивачите на фирмверот ги користат овие способности за да имплементираат работи како што се подесување на параметрите на ОС, проширување на просторот за складирање на апликации, размена на поврзување, разни прилагодувања и многу повеќе. Сите овие информации може да се користат за креирање сопствен фирмвер и имплементација на разни хакови и модификации.

Чекор еден. ABOOT и табела за партиции

Сè започнува со примарниот подигнувач. Откако ќе го вклучите напојувањето, системот го извршува кодот на подигнувачот зачуван во трајна меморијауреди. Потоа ја пренесува контролата на подигнувачот aboot, кој има вградена поддршка за протоколот fastboot, но производителот мобилен чипили паметен телефон/таблет има право да избере кој било друг подигнувач по негов вкус. На пример, Rockchip користи сопствен подигнувач кој не е компатибилен со fastboot и бара сопствени алатки за трепкање и управување.

Протоколот fastboot, пак, е систем за управување со подигнувачот од компјутер, кој ви овозможува да вршите дејства како што се отклучување на подигнувачот, трепкање на ново јадро и обновување, инсталирање фирмвер и многу други. Причината за постоењето на fastboot е да можете да го вратите паметниот телефон во првобитната состојба во ситуација кога сите други средства не успеваат. Fastboot ќе остане на место дури и ако, како резултат на експерименти, ги избришете сите NAND мемориски партиции што содржат Android и обновување од вашиот паметен телефон.

Откако ја прими контролата, aboot ја проверува табелата со партиции и ја пренесува контролата на кернелот што блесна во партицијата наречена подигање, по што кернелот ја вади сликата на RAM-от од истата партиција во меморијата и започнува со вчитување на Android или конзолата за обновување. NAND меморијата во уредите со Android е поделена на шест условно потребни делови:

  • подигање - содржи јадро и RAM-диск, обично со големина од околу 16 MB;
  • обновување - конзола за обновување, се состои од кернел, збир на апликации за конзола и датотека за поставки, големина 16 MB;
  • систем - содржи Андроид, во современи уреди големината е најмалку 1 GB;
  • кеш - дизајниран за складирање на кеширани податоци, исто така се користи за зачувување на фирмверот за време на ажурирање OTA и затоа има големина слична на големината на системската партиција;
  • кориснички податоци - содржи поставки, апликации и кориснички податоци, целиот преостанат NAND мемориски простор е доделен на него;
  • различно - содржи знаменце што одредува во кој режим треба да се подигне системот: Android или обновување.

Покрај нив, може да има и други делови, но општата ознака се одредува во фазата на дизајнирање на паметниот телефон и, во случај на aboot, е зашиена во кодот на подигнувачот. Ова значи дека: 1) табелата за партиции не може да се убие, бидејќи секогаш може да се врати со користење команди за брзо подигање OEM формат; 2) за да ја смените табелата за партиции, ќе треба да го отклучите и повторно да го обновите подигнувачот со нови параметри. Сепак, постојат исклучоци од ова правило. На пример, подигнувачот на истиот Rockchip складира информации за партициите во првиот блок од NAND меморијата, така што трепкањето на подигнувачот не е неопходно за да се промени.

Посебно интересен е делот за разно. Постои претпоставка дека првично е создаден за складирање на различни поставки независни од главниот систем, но во овој моментсе користи само за една цел: да му покаже на подигнувачот од која партиција треба да се вчита системот - подигање или обновување. Оваа функција, особено, се користи од апликацијата ROM Manager за автоматско рестартирање на системот во обновување со автоматска инсталација на фирмверот. На негова основа, изграден е механизам за двојно подигање на Ubuntu Touch, кој го трепка подигнувачот на Ubuntu во обновување и ви овозможува да контролирате кој систем да се подигне следниот пат. Ја избриша misc партицијата - Андроид се вчитува, ја наполни со податоци - оптоварувања за обновување... односно Ubuntu Touch.

Чекор два. Дел за подигање

Ако делот misc нема знаменце за подигање за обновување, aboot ја пренесува контролата на кодот што се наоѓа во делот за подигање. Ова не е ништо повеќе од кернелот на Линукс; се наоѓа на почетокот на делот, а веднаш потоа следи слика на дискот RAM спакувана со помош на архиви cpio и gzip, која ги содржи директориумите потребни за работа на Android, системот за иницијализација и други алатки. Нема датотечен систем на партицијата за подигање; кернелот и дискот RAM едноставно се следат еден со друг. Содржината на RAM-дискот е:

  • податоци - именик за монтирање на истоимената партиција;
  • dev - датотеки на уредот;
  • тука е монтиран proc - procfs;
  • res - збир на слики за полначот (види подолу);
  • sbin - збир на комунални услуги и демони (adbd, на пример);
  • sys - тука е монтиран sysfs;
  • систем - директориум за монтирање на системската партиција;
  • полнач - апликација за прикажување на процесот на полнење;
  • build.prop - системски поставки;
  • init - систем за иницијализација;
  • init.rc - поставки на системот за иницијализација;
  • ueventd.rc - поставувања на uventd демонот вклучени во init.

Ова е, така да се каже, скелетот на системот: збир на директориуми за поврзување датотечни системи од NAND мемориски партиции и систем за иницијализација кој ќе се справи со остатокот од работата за подигање на системот. Централниот елемент овде е апликацијата init и нејзината конфигурација init.rc, за која ќе зборувам подетално подоцна. Во меѓувреме, би сакал да го свртам вашето внимание на датотеките полнач и ueventd.rc, како и директориумите sbin, proc и sys.

Датотеката за полнач е мала апликација чија единствена задача е да ја прикаже иконата за батеријата. Нема врска со Android и се користи кога уредот е поврзан со полначот во исклучена состојба. Во овој случај, Android не се вчитува, а системот едноставно го вчитува кернелот, го поврзува RAM-дискот и го стартува полначот. Вториот прикажува икона за батерија, чија слика во сите можни состојби е зачувана во обични PNG-датотеки во директориумот res.

Датотеката ueventd.rc е конфигурација која одредува кои датотеки на уредот во директориумот sys треба да се креираат при подигање на системот. Во системите базирани на кернелот Линукс, пристапот до хардверот се врши преку специјални датотеки во директориумот dev, а демонот ueventd, кој е дел од init, е одговорен за нивното создавање во Android. Во нормална ситуација функционира во автоматски режим, прифаќање наредби за креирање датотеки од јадрото, но некои датотеки мора да се креираат независно. Тие се наведени во ueventd.rc.

Директориумот sbin на залиха Android обично не содржи ништо освен adbd, односно ADB демонот, кој е одговорен за дебагирање на системот од компјутерот. Работи во почетокот на подигањето на ОС и ви овозможува да откриете можни проблемиво фазата на иницијализација на ОС. Во прилагодените фирмвери, можете да најдете куп други датотеки во овој директориум, на пример mke2fs, кои може да бидат потребни ако партициите треба да се реформатираат на ext3/4. Исто така, модерите често поставуваат BusyBox таму, со кој можете да повикате стотици команди на Linux.

Директориумот proc за Linux е стандарден; во следните фази на подигање, init ќе го поврзе procfs, виртуелен датотечен систем, кој обезбедува пристап до информации за сите системски процеси. Системот ќе го поврзе sysfs со sys директориумот, кој отвора пристап до информации за хардверот и неговите поставки. Со користење на sysfs, можете, на пример, да го ставите уредот во мирување или да го промените користениот алгоритам за заштеда на енергија.

Датотеката build.prop е наменета за складирање на ниско ниво Андроид поставки. Подоцна, системот ќе ги ресетира овие поставки и ќе ги презапише со вредности од моментално недостапната датотека system/build.prop.


Готови од текстот

  • Fastboot ќе остане на место дури и ако, како резултат на експерименти, ја избришете содржината на сите делови од меморијата NAND од вашиот паметен телефон
  • Делот за обновување е целосно самодоволен и содржи минијатура операционен систем, што нема никаква врска со Андроид
  • Со малку менување на датотеката fstab, можеме да го принудиме init да го подигне системот од мемориската картичка

Чекор два, алтернатива. Дел за обновување

Ако е поставено знамето за подигање за обновување во делот различно или корисникот го вклучи паметниот телефон со притиснато копчето за намалување на јачината на звукот, aboot ќе ја пренесе контролата на кодот што се наоѓа на почетокот на делот за обновување. Како и партицијата за подигање, таа го содржи кернелот и RAM-диск, кој се распакува во меморијата и станува коренот на датотечниот систем. Сепак, содржината на RAM-дискот е малку поинаква овде.

За разлика од делот за подигање, кој делува како преодна врска помеѓу различни фази на вчитување на ОС, дел за обновувањее целосно самостоен и содржи минијатурен оперативен систем кој во никој случај не е поврзан со Android. Обнова има свое јадро, сопствен сет на апликации (наредби) и свој интерфејс кој му овозможува на корисникот да ги активира функциите на услугата.

Во стандардното обновување (залихи) обично има само три такви функции: инсталирање на фирмверот потпишан со клучот на производителот на паметниот телефон, бришење и рестартирање. Изменетите обновувања од трета страна, како што се ClockworkMod и TWRP, имаат многу повеќе функции. Тие можат да ги форматираат датотечните системи, да инсталираат фирмвер потпишан со какви било клучеви (читај: прилагодено), да монтираат датотечни системи на други партиции (за цели на отстранување грешки на ОС) и да вклучуваат поддршка за скрипти, што ви овозможува да го автоматизирате процесот на фирмверот и многу други функции.

Користејќи скрипти, на пример, можете да бидете сигурни дека по подигнувањето, обновувањето автоматски се наоѓа на мемориската картичка потребниот фирмвер, ги инсталираше и се рестартира на Android. Оваа функција се користи од страна на ROM менаџерот, автоматскиот трепкач и автоматско ажурирање CyanogenMod и друг фирмвер.

Прилагоденото обновување поддржува и резервни скрипти лоцирани во директориумот /system/addon.d/. Пред обновување на фирмверотпроверува дали има скрипти и ги извршува пред да трепка фирмверот. Благодарение на таквите скрипти, празнините не исчезнуваат по инсталирањето на нова верзија на фирмверот.

команди за брзо подигање

За да пристапите до fastboot, треба да ја инсталирате Android SDK, да го поврзете паметниот телефон со компјутерот со помош на кабел и да го вклучите со држење на двете копчиња за јачина на звук. После ова, треба да отидете во поддиректориумот платформа-алатки во SDK и да ја извршите командата

Fastboot уреди

Името на уредот ќе се прикаже на екранот. Други достапни команди:

  • Fatsboot OEM отклучување- отклучување на подигнувачот на нексусите;
  • ажурирање датотека.zip- инсталација на фирмвер;
  • блиц подигање boot.img- трепкање на сликата на партицијата за подигање;
  • блиц обновување обновување.img- трепкање на сликата на партицијата за обновување;
  • флеш систем систем.img- трепкање на сликата на системот;
  • OEM формат- реставрација на уништена преградна маса;

Чекор три. Иницијализација

Значи, откако ја доби контролата, кернелот го поврзува RAM-дискот и, по иницијализирањето на сите негови потсистеми и драјвери, го започнува процесот на иницирање, со што започнува иницијализацијата на Android. Како што веќе реков, init има конфигурациска датотека init.rc, од која процесот дознава што точно треба да направи за да го подигне системот. ВО модерни паметни телефониоваа конфигурација има импресивна должина од неколку стотици линии и исто така е опремена со приколка од неколку детски конфигурации кои се поврзани со главната со помош на директивата за увоз. Сепак, неговиот формат е прилично едноставен и во суштина е збир на команди поделени во блокови.

Секој блок дефинира фаза на вчитување или, во зборот на програмерите на Android, акција. Блоковите се одделени еден од друг со директива за вклучување проследено со името на дејството, како на пр. на почетокот или на пост-фс. Блокот на команди ќе се изврши само ако активира активирањето со исто име. Како што се подигнува, init за возврат ќе ги активира рани-init, init, early-fs, fs, post-fs, рано подигање и активирања за подигање, со што ќе ги стартува соодветните командни блокови.


Ако конфигурациската датотека повлекува уште неколку конфигурации наведени на почетокот (и тоа е скоро секогаш случај), тогаш командните блокови со исто име во нив ќе се комбинираат со главната конфигурација, така што кога активирањето ќе се активира, ќе започне извршувајте команди од соодветните блокови на сите датотеки. Ова е направено за погодност за креирање датотеки за конфигурација за неколку уреди, кога главната конфигурација содржи команди заеднички за сите уреди, а оние што се специфични за секој уред се напишани во посебни датотеки.

Најзначајната од дополнителните конфигурации е именувана како initrc.device_name.rc, каде што името на уредот се одредува автоматски врз основа на содржината на променливата на системот ro.hardware. Ова е конфигурациска датотека специфична за платформа која содржи командни блокови специфични за уредот. Покрај командите одговорни за подесување на кернелот, содржи и нешто како ова:

Mount_all ./fstab.device_name

Тоа значи дека init сега треба да ги монтира сите датотечни системи наведени во датотеката ./fstab.device_name, која ја има следната структура:

Device_name (партиција) mount_point file_system fs_options други опции

Обично содржи инструкции за монтирање датотечни системи од внатрешни NAND партиции во директориумите /system (OS), /data (поставки за апликација) и /cache (кеширани податоци). Меѓутоа, со малку менување на оваа датотека, можеме да го принудиме init да го подигне системот од мемориската картичка. За да го направите ова, само поделете ја мемориската картичка на три 4 дела: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 и преостанатиот простор за масти32. Следно, треба да ги одредите имињата на партициите на мемориските картички во директориумот /dev (тие се разликуваат за различни уреди) и да ги замените со оригиналните имиња на уреди во датотеката fstab.


На крајот од блокот за почеток на подигање, најверојатно ќе се сретне со стандардната команда class_start, која ќе ве информира дека потоа треба да ги стартувате сите услуги наведени во конфигурацијата кои се поврзани со стандардната класа. Описот на услугите започнува со услугата директива, проследена со името на услугата и командата што мора да се изврши за да се стартува. За разлика од командите наведени во блоковите, услугите мора да работат постојано, така што во текот на целиот животен век на паметниот телефон, init ќе виси во позадина и ќе го следи ова.

Современиот Андроид вклучува десетици услуги, но две од нив имаат посебен статус и го одредуваат целиот животен циклус на системот.

init.rc Наредби

Процесот на иниција има вграден сет на команди, од кои многу се стандардни Линукс команди. Најзабележителни од нив:

  • exec /пат/до/команда- извршете надворешна команда;
  • ifup интерфејс- подигнете го мрежниот интерфејс;
  • class_start class_name- стартувајте услуги кои припаѓаат на наведената класа;
  • class_stop class_name- стоп услуги;
  • insmod /пат/до/модул- вчитај го модулот на јадрото;
  • монтирајте го директориумот на уреди FS- поврзете го датотечен систем;
  • вредност на името на setprop- поставете системска променлива;
  • стартувај сервис_име- стартувајте ја наведената услуга;
  • име на активирањето- овозможете го активирањето (извршете го наведениот блок команди);
  • напишете линија / патека / до / датотека- напишете линија во датотека.

Чекор четири. Зигот и app_process

Во одредена фаза на вчитување, init ќе наиде на нешто како овој блок на крајот од конфигурацијата:

Услуга зигот /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state на onrestart рестартирај медиум

Ова е опис на услугата Zygote, клучна компонента на секој систем Андроид кој е одговорен за иницијализација, стартување системски услуги, стартување и стопирање на кориснички апликации и многу други задачи. Zygote се стартува со помош на мала апликација /system/bin/app_process, што е многу јасно видливо во горниот дел од конфигурацијата. Задачата app_proccess е да ја стартувате виртуелната машина Dalvik, чиј код се наоѓа во споделената библиотека /system/lib/libandroid_runtime.so, а потоа да ја стартувате Zygote над неа.

Откако сето ова е направено и Zygote ќе има контрола, тој започнува да ја гради времетраењето на апликацијата Java со вчитување на сите Java класи на рамката (во моментов над 2000 од нив). Потоа го стартува system_server, кој ги вклучува повеќето од системските услуги на високо ниво (напишани во Java), вклучувајќи ги Window Manager, Status Bar, Package Manager и што е најважно, Activity Manager, кој во иднина ќе биде одговорен за примање апликации за сигнали за почеток и крај.

После ова, Zygote го отвора штекерот /dev/socket/zygote и оди да спие, чекајќи податоци. Во овој момент, претходно започнатиот Управувач со активности испраќа намера за емитување Intent.CATEGORY_HOME за да ја пронајде апликацијата одговорна за креирање на работната површина и го дава нејзиното име на Zygote преку штекерот. Вториот, за возврат, вилушка и ја стартува апликацијата на врвот Виртуелна машина. Voila, имаме работна површина на нашиот екран, пронајдена од Activity Manager и лансирана од Zygote, и лента за статус стартувана од system_server како дел од услугата Status Bar. Откако ќе допрете на иконата, работната површина ќе испрати намера со името на оваа апликација, Activity Manager ќе ја прими и ќе испрати команда за стартување на апликацијата до демонот Zygote

ИНФОРМАЦИИ

Во терминологијата на Linux, RAM-диск е вид на виртуелен хард диск што постои само во меморија за случаен пристап. На почетокот на процесот на подигање, кернелот ја извлекува содржината на дискот од сликата и го монтира како root датотечен систем (rootfs).

За време на процесот на подигање, Андроид прикажува три различни екрани за подигање: првиот се појавува веднаш по притискањето на копчето за вклучување и се трепка во кернелот на Linux, вториот се прикажува во раните фази на иницијализација и е снимен во датотеката /initlogo.rle (едвај се користи денес), последната е лансирана со помош на апликацијата за подигање и е содржана во датотеката /system/media/bootanimation.zip.

Покрај стандардните предизвикувачи, init ви овозможува да ги дефинирате вашите сопствени предизвикувачи, кои можат да бидат активирани од различни настани: поврзување уред на USB, промена на состојбата на паметниот телефон или промена на состојбата на системските променливи.

Меѓу другото, Activity Manager ги убива и апликациите во заднина кога нема доволно меморија. Вредностите на прагот на бесплатна меморија се содржани во датотеката /sys/module/lowmemorykiller/parameters/minfree.

Сето ова може да изгледа малку збунувачки, но најважно е да запомните три едноставни работи:

На многу начини, Андроид е многу различен од другите оперативни системи и тешко е да се сфати веднаш. Меѓутоа, ако разберете како функционира сè, можностите се едноставно бесконечни. За разлика од iOS и Windows Phone, оперативниот систем на Google има многу флексибилна архитектура која ви овозможува сериозно да го промените неговото однесување без да треба да пишувате код. Во повеќето случаи, доволно е да се поправат потребните конфигурации и скрипти.




Врв