„Защо Android е измъчван“. Какво представляват flashing, root, custom kernel и имат ли нужда от "прост смъртен"? Universal Kernel Flash – помощна програма за вграждане на персонализирано ядро ​​за редица устройства с Android

Авторът на CyanogenMod започна да прави първия персонализиран (домашно направен) фърмуер за своя HTC Dream. Малко по-късно той беше изненадан да намери положителни отзиви за своето въображение и събра екип от ентусиасти. Сега псевдонимът му е почти синоним на персонализиран фърмуер, а работата на екипа му е официално призната от Google.Защо други хора бяха толкова заинтересовани от неговите експерименти? Трябва ли тези експерименти да се повтарят за "простсмъртен"?

Въпреки дружелюбността и изобилието от възможности на Android OS, в нея липсват много функции, които ви позволяват да използвате смартфона точно по начина, по който потребителите биха го искали.

В началото на своето пътуване Android беше друга операционна система, която даваше много повече свобода от затворената, макар и популярна iOS. Сега, през 2013 г., той "държи" 80% от пазара на смартфони, тогава преди три години Android все още беше много далеч от идеала и само малко изпревари iOS в надпреварата за дела на умиращия Symbian.

Персонализираният фърмуер значително разшири възможностите за персонализиране и адаптиране на смартфон с Android за себе си. Сега можете да контролирате най-дълбоките системни функции: ядрото, виртуалната машина, променящите се потребителски интерфейси ...

Ключовата част при улавянето на огромна аудитория от потребители с персонализиран фърмуер се дължи на нежеланието на производителите на смартфони да актуализират своите устройства до нови версии на ОС своевременно, докато персонализиран фърмуер започна да излиза за все повече и повече устройства, като ги актуализира до най-новите версии на Android.

Разбира се, не е правилно да се игнорират други модификации на Android като MIUI, AOSP, AOKP, но в момента CyanogenMod с право се счита за най-популярната персонализирана версия на Android.


Първоначално персонализираният (нефабричен, домашен) фърмуер беше свързан с по-голямата част от "красота", промяна в не особено успешния интерфейс на ранните версии на Android. С пристигането на версиите на Android 4.x (с кодово име Ice Cream Sandwich, по-късно Jelly Bean и сега KitKat) и нова тема, наречена Holo, необходимостта от изобретяване на нов дизайн за ОС до голяма степен изчезна - разработчиците имат възможността да се съсредоточат за разширяване на възможностите си...

Ако се опитате да опишете всички функции на фърмуера CyanogenMod, тогава ще са необходими няколко страници от прост списък на разликите от оригиналната версия от Google, така че ще бъде по-лесно да се каже, че всичко, което е в обичайната ОС Android, е там, само няколко пъти повече.

Например, заключващият екран поддържа инсталирането на неговите приложения за бързо стартиране, всички APN точки на мобилни оператори са вградени във фърмуера, можете да инсталирате кожи на трети страни, да персонализирате панела за известия много точно (дори от коя страна на екрана трябва да отпадне). Можете да превключите смартфона си в режим на таблет, можете да изключите напълно меките бутони и да използвате така наречените Pie Controls - бутони, които се появяват само ако плъзнете пръста си от ръба на екрана към центъра. Поддръжка на дневни режими, потребителски профили, разширен контрол на джаджи, контрол на въртенето на екрана, възможност за получаване на нови актуализации по въздуха - невъзможно е да се изброят всичко.

Трябва само да добавим, че с всичко това фърмуерът заема много малко памет (например около 115 MB персонализирана срещу 600 MB официална Samsung Galaxy Note) и работи доста гладко и бързо.

Персонализирани ядра

Ядрото е сърцето на операционната система; то контролира цялата работа на устройството. Тъй като всички устройства имат собствен набор от хардуер, производителят сглобява ядрата в съответствие с изискванията на конкретно устройство. Някои ядра могат да бъдат инсталирани в оригиналния фърмуер, но това все още не се препоръчва.

Какво може да даде на потребителя едно нестандартно ядро? Контролиране на консумацията на енергия и честотите на процесора и видео чипа, актуализирани драйвери, управление на виртуалната машина Dalvik, възможност за персонализиране на звука и работата на екрана, неговото цветопредаване, чувствителност, добавяне на поддръжка за нестандартни външни устройства ...

Досега много потребители са недоволни от активното време на своите устройства, базирани на ОС Android, с помощта на правилно конфигурирано ядро ​​ще бъде възможно да се удължи този период с няколко часа без последствия за устройството. Или с негативни последици – в случай на грешно отношение.

Преди да инсталирате алтернативно ядро, трябва внимателно да проучите всички негови плюсове и минуси, може да се появят отзиви на други хора, които са го използвали, нови проблеми и проблеми в работата на операционната система. Може да се случи, че флеширате грешната версия или разработчикът (не забравяйте: същият ентусиаст, а не сертифициран специалист) ще направи грешка - дори можете да развалите хардуера на устройството. Ремонтът може да бъде скъп или като цяло непрактичен.

Радио модул

Радио модулът отговаря за всички връзки в устройството: Wi-Fi, Bluetooth, мобилни мрежи. Случва се в неговия фърмуер да се промъкнат недостатъци, поради което устройството не улавя добре сигнала на безжичните мрежи или изразходва твърде много заряд на батерията за връзката. В допълнение, персонализираният фърмуер на радиомодула може да осигури недокументирани функции като запис на разговори директно от линията (обикновеният фърмуер на радиомодулите не позволява запис на телефонни разговори, само включвайте обикновен диктофон по време на разговор).

За да актуализирате собствения си фърмуер, не е необходимо да променяте общия фърмуер, тоест да инсталирате отново цялата ОС. Производителят понякога пуска актуализацията на фърмуера за самия радио модул, но не винаги едновременно за всички региони, често разликата може да достигне шест месеца. Най-новите актуализации на ОС за други страни съдържат малко по-нови версии на ядрото и радиомодула от тези, пуснати по-рано.

Не можете да дадете еднозначен отговор на въпроса за необходимостта от инсталиране на персонализиран фърмуер на вашето устройство, това е чисто индивидуално. За повечето читатели ще е достатъчно устройство, което "просто работи" на фабричния фърмуер. Някой ще получи root права от интерес или за конкретна цел. Някой, който иска да "освежи" устройството си и да получи широки възможности, ще инсталира персонализиран фърмуер, ядро, радио модул ...

Някои може да попаднат в цикъл на мигане, оправяне, подобряване - безсънни нощи, прекарани на устройство, предназначено да улесни живота. И да, някой невнимателен ще даде прилична сума на господаря на сервизния център.

Вече сме писали за персонализирани фърмуери, root приложения и алтернативни менюта за зареждане. Всичко това са стандартни теми в хакерската общност на Android, но в допълнение към всичко изброено по-горе, има и нещо като "персонализирано ядро", което може да даде почти неограничени възможности за управление на смартфон и неговия хардуер на най-ниската. ниво. В тази статия ще ви разкажа какво представлява, защо ви трябва и как да изберете правилното персонализирано ядро.

Персонализирано ядро?

Какво е персонализирано ядро? Както всички знаем, Android е пай, съставен от три основни слоя: ядрото на Linux, набор от библиотеки и услуги на ниско ниво и виртуалната машина Dalvik, върху която работи графична обвивка, инструменти на високо ниво и услуги и почти всички приложения, инсталирани от пазара. Създателите на повечето алтернативни персонализирани фърмуери обикновено работят само с горните два слоя, като добавят функции към графичната обвивка (например бутони в завесата), променят я (двигателя на темата в CyanogenMod), както и добавят нови системни услуги ( еквалайзер в CyanogenMod) и оптимизиране на съществуващите.

Авторите на популярния фърмуер също, доколкото е възможно, правят промени в ядрото на Linux: те оптимизират (изграждат с по-агресивни флагове за оптимизация на компилатора), включват нова функционалност (например поддръжка на топката на Windows), а също така правят други промени , като например възможността за повишаване на честотата на процесора над тази, предоставена от производителя ... Често всичко това остава зад кулисите и много потребители на персонализиран фърмуер дори не са наясно с тези възможности, особено след като същият CyanogenMod идва с персонализирано ядро ​​само за ограничен набор от устройства, за които и изходният код на родното ядро ​​​​и възможността за замяна са налични. Например, почти всички фърмуери на CyanogenMod за смартфони на Motorola използват стандартно ядро ​​- невъзможно е да го замените със собствено поради непроницаемата защита на буутлоудъра.

Въпреки това, ядрото в смартфони с отключен буутлоудър може да бъде заменено отделно от основния фърмуер. И не просто заменете, а инсталирайте ядро ​​с огромен брой различни функции, които изискват определени технически познания за управление и следователно обикновено не са вградени в ядрата на популярния фърмуер, като CyanogenMod, AOKP и MIUI. Сред тези функции можете да намерите поддръжка за високи честоти на процесора, контрол на гамата на екрана, режими за пестене на енергия, високоефективни мениджъри на захранване и огромен брой други функции.

В тази статия ще говорим за това какво могат да ни предложат създателите на персонализирани ядра, ще разгледаме основните персонализирани ядра за различни устройства, а също така ще се опитаме да инсталираме ядрото независимо от основния фърмуер и да проверим всичко на собствената си кожа. И така, какво обикновено предлагат разработчиците на алтернативно ядро?

Интелигентен контролер на трафика

OMAP35XX SoC, използвани в Galaxy S II и Galaxy Nexus, например, имат SmartReflex, който действа като интелигентна система за регулиране на напрежението при промяна на натоварването на процесора. Всъщност елиминира необходимостта от фина настройка на напрежението от потребителя.

Оптимизация

Често основната цел на изграждането на персонализирано ядро ​​е да се оптимизира производителността. Обикновено доставчикът на мобилни технологии се опитва да поддържа баланс между производителност и стабилност, така че дори добрите техники за оптимизация, които могат значително да увеличат скоростта на устройството, могат да бъдат отхвърлени от производителя само на базата на това, че след използването им някои приложения започват да се сриват всяко десето изстрелване. Разбира се, ентусиастите не се смущават от подобни дреболии и много от тях са готови да приложат всякакви опции на компилатора, алгоритми за пестене на енергия към ядрото на собствения си сбор и да повишат честотата на процесора толкова високо, колкото устройството може да се справи. Сред всички техники за оптимизация, четири са най-често срещаните:



Друг вид оптимизация: промяна на стандартния I/O планировчик. Ситуацията в тази област е още по-интересна, защото вместо да разберат как работят планировчиците, някои създатели на ядрото просто четат документи за I/O планировчици за Linux в мрежата и правят заключения. Този подход е още по-разпространен сред потребителите. Всъщност почти всички от най-мощните и най-интелигентните Linux планировчици са напълно неподходящи за Android: те са предназначени за използване с механични хранилища за данни, в които скоростта на достъп до данни варира в зависимост от позицията на главата. Планировщикът използва различни схеми за комбиниране на заявки в зависимост от физическото местоположение на данните, така че заявките към данни, които са близо до текущата позиция на главата, ще получат по-висок приоритет. Това е напълно нелогично в случая на твърдата памет, която гарантира еднаква скорост на достъп до всички клетки. Напредналите планери ще направят повече вреда, отколкото полза на смартфон, а най-тромавите и примитивни ще покажат най-добри резултати. Linux има три такива планировчици:

  • Noop (Без операция)- т. нар. non-scheduler. Проста FIFO опашка от заявки, първата заявка ще бъде обработена първа, втората втора и т.н. Подходящ за твърда памет и ви позволява да приоритизирате приложенията за достъп до устройството. Допълнителен плюс: ниско натоварване на процесора поради много прост принцип на работа. Недостатък: липса на отчитане на спецификата на работата на устройството, което може да доведе до спад в производителността.
  • SIO (прост I/O)- аналог на планировчика на крайния срок, без да се отчита близостта на секторите един до друг, тоест проектиран специално за твърда памет. Има два основни акцента: приоритетът на операциите за четене пред операциите за запис и групиране на операциите по процес с разпределяне на отрязък от време за всеки процес за извършване на операции. При смартфоните, където скоростта на текущото приложение е важна и преобладаването на операциите за четене над записа, той показва много добра производителност. Предлага се в Leankernel, ядро ​​Matr1x за Nexus 4 и SiyahKernel.
  • РЕД (ЧЕТЕНЕ НА ЗАПИСАНЕ)- планировчик, специално проектиран за мобилни устройства и добавен към ядрото само преди няколко месеца. Основно предизвикателство: първо обработване на заявки за четене, но справедливо време и за заявки за запис. Считан за най-добрия NAND планировчик в момента, той се използва по подразбиране в Leankernel и Matr1x.

Струва си да се каже, че почти всички стандартни фърмуери и половината от персонализираните все още използват ядрото със стандартния планировчик на Linux CFQ, което обаче не е толкова лошо, тъй като знае как да работи правилно със твърдотелни устройства. От друга страна, той е твърде сложен, създава по-голямо натоварване на процесора (и съответно на батерията) и не отчита спецификата на мобилната ОС. Друг популярен избор е Deadline Scheduler, който е толкова добър, колкото SIO, но е излишен. Можете да видите списъка с налични планировчици, като използвате следната команда:

# cat / sys / block / * / опашка / планировчик

За да промените, приложете следното (където редът е името на планировчика):

# for i in / sys / block / * / queue / scheduler; do echo row> $ 1; Свършен

Някои създатели на ядрото също използват различен вид I/O оптимизация. Това деактивира системното извикване fsync, което се използва за принудително прехвърляне на промененото съдържание на отворени файлове на диск. Смята се, че без fsync системата ще има достъп до устройството по-рядко и по този начин ще спести процесорно време и енергия на батерията. Доста противоречиво твърдение: fsync не се използва много често в приложенията и само за запазване на наистина важна информация, но деактивирането му може да доведе до загуба на тази информация в случай на срив на операционната система или други проблеми. Възможността за деактивиране на fsync е налична в ядрата franco.Kernel и GLaDOS, а за управление се използва файлът / sys / module / sync / parameters / fsync_enabled, в който трябва да напишете 0 за деактивиране или 1 за активиране. Отново, тази функция не се препоръчва.

Добавяне на нови функции към ядрото

Разбира се, в допълнение към оптимизации, настройки и различни усъвършенствани системи за управление на хардуера, можете да намерите и напълно нова функционалност в персонализираните ядра, която не е в стандартните ядра, но която може да бъде полезна за потребителите.

По принцип това са различни драйвери и файлови системи. Например, някои ядра включват поддръжка за модула CIFS за монтиране на Windows топки. Такъв модул е ​​в ядрото Matr1x за Nexus S, faux123 за Nexus 7, SiyahKernel и GLaDOS. Сам по себе си той е безполезен, но на пазара има няколко приложения, които ви позволяват да използвате неговите възможности.

Друга полезност е включването на драйвера ntfs-3g в ядрото (по-точно в пакета с ядрото, самият драйвер работи като приложение за Linux), което е необходимо за монтиране на флаш памети, форматирани във файловата система NTFS. Този драйвер е наличен в ядрата faux123 и SiyahKernel. Обикновено се активира автоматично, но ако това не се случи, можете да използвате приложението StickMount от пазара.

Много ядра също включват поддръжка за така наречената zram технология, която ви позволява да резервирате малко количество RAM (обикновено 10%) и да го използвате като компресирана зона за суап. В резултат на това има вид разширяване на обема на паметта, без сериозни последици за производителността. Предлага се в Leankernel, активиран с Trickster MOD или командата zram enable.

Последните две интересни функции са Fast USB charge и Sweep2wake. Първият не е нищо повече от принудително включване на режима "бързо зареждане", дори ако смартфонът е свързан към USB порта на компютъра. Режимът за бързо зареждане е наличен във всички повече или по-малко нови смартфони, но поради технически ограничения не може да бъде активиран едновременно с достъп до картата с памет. Функцията за бързо USB зареждане ви позволява винаги да активирате този режим, като същевременно деактивирате достъпа до устройството.

Sweep2wake е нов начин за събуждане на устройство, изобретено от автора на Breaked-kernel. Неговото значение е да включите смартфона, като плъзнете пръста си по клавишите за навигация, разположени под екрана, или по самия екран. Това е наистина удобна функция, но в резултат на нейното активиране сензорът ще остане активен дори когато устройството спи, което може значително да изтощи батерията.

Овърклок, напрежение и пестене на енергия

Овърклокът е популярен не само сред собствениците на стационарни компютри и лаптопи, но и сред ентусиастите на мобилните технологии. Подобно на камъните на архитектурата x86, процесорите и графичните ядра в мобилните технологии са страхотни в преследването. Самият метод за овърклок обаче и стъпките, предприети за прилагането му, тук са малко по-различни. Факт е, че стандартните драйвери за SoC, които са отговорни за пестенето на енергия и промяната на честотата на процесора, обикновено са заключени на стандартни честоти, така че за фина настройка трябва да инсталирате или алтернативен драйвер, или персонализирано ядро.

Почти всички повече или по-малко висококачествени и популярни персонализирани ядра вече включват отключени драйвери, така че след инсталирането им възможностите за контрол на "мощността" на процесора са значително разширени. Обикновено създателите на персонализирани ядра правят две неща, които влияят на избора на честота. Това е разширение на честотния диапазон извън първоначално посочения - можете да зададете както по-висока честота на процесора, така и много ниска, което ви позволява да пестите батерията и да увеличавате градацията на честотата, например вместо три възможни честоти, предлага се избор от шест. Втората е добавянето на възможност за регулиране на напрежението на процесора, така че да можете да намалите напрежението на процесора при ниски честоти, за да пестите енергията на батерията и да увеличите при високи честоти, за да увеличите стабилността.

Всичко това може да се контролира с помощта на добре познатата платена помощна програма SetCPU или безплатния Trickster MOD. Препоръките за управление са същите като за настолни системи. По-добре е да зададете долната честота на процесора на минимум, но не по-ниска от 200 MHz (за да избегнете изоставане), горният праг се повишава постепенно с тестване на стабилността на работата, когато спадне, се препоръчва леко да се повиши напрежението за тази честота. Няма препоръки за напрежение, тъй като всеки процесор е уникален и стойностите ще бъдат различни за всеки.

В допълнение към промяната на честотите, асемблерите често добавят към ядрото нови алгоритми за управление на пестене на енергия (автоматичен контрол на честотата на процесора), които според тях могат да покажат по-добри резултати в сравнение със стандартните. Почти всички те се основават на интерактивния алгоритъм, който се използва по подразбиране в новите версии на Android, чиято същност е рязко да се повиши честотата на процесора до максимум в случай на увеличаване на натоварването и след това постепенно да се намали до минимум. Той замества използвания по-рано алгоритъм OnDemand, който плавно регулира честотата в двете посоки пропорционално на натоварването и прави системата по-отзивчива. Колекционерите на алтернативни ядра предлагат следните алгоритми за замяна на Interactive:

  • SmartAssV2- преосмисляне на интерактивния алгоритъм с акцент върху пестенето на батерия. Основната разлика е да не се натиска процесора до високи честоти в случай на кратки изблици на натоварване, за които е достатъчна ниската производителност на процесора. По подразбиране се използва в ядрото Matr1x.
  • InteractiveX- настроен интерактивен алгоритъм, чиято основна характеристика е заключване на процесора при минималната честота, посочена от потребителя, и изключване на второто процесорно ядро ​​при изключване на екрана. По подразбиране се използва в Leankernel.
  • LulzactiveV2по същество е преоткрит OnDemand. Когато натоварването на процесора надвиши определеното (по подразбиране 60%), алгоритъмът повишава честотата с определен брой деления (по подразбиране 1), когато натоварването намалява, я понижава. От особен интерес е, че ви позволява самостоятелно да задавате параметрите на работа, следователно е подходящ за твърди отрепки.

Като цяло колекторите на ядра много обичат да измислят нови алгоритми за пестене на енергия поради простотата на тяхното изпълнение, така че можете да намерите още дузина. Повечето от тях са пълна шлака и когато избирате планировчик, трябва да се ръководите от правилото: или един от трите описани по-горе, или стандартния Interactive, който, между другото, е много добър. Можете да направите избор, като използвате същия Trickster MOD.

Интерфейси за управление

Повечето от популярните персонализирани ядра включват няколко механизма за фина настройка на различни параметри на драйвера, най-често срещаните от които са ColorControl, GammaControl, SoundControl и TempControl.

Първите два интерфейса са достъпни почти навсякъде, включително ядрата на CyanogenMod, вторите два са налични в Leankernel и може би други. По един или друг начин всички те могат да бъдат контролирани с Trickster MOD.

Ядра

Кое ядро ​​да изберете? Няма еднозначен отговор на този въпрос и не защото „на всеки свое“, а защото в света има огромен брой устройства с Android и почти толкова различни ядра. Въпреки това, има няколко популярни ядра, които се разработват за множество устройства наведнъж. По един или друг начин споменах много от тях в хода на историята, тук ще дам кратко описание за тях.

  • Leankernel е ядрото за Galaxy Nexus, Nexus 7 и Galaxy S III. Основният фокус на разработката е върху простотата и бързината на работа. Алгоритъм за пестене на енергия: InteractiveX V2, I/O: ROW планировчик, всички по-горе интерфейси за управление, поддръжка за бързо USB зареждане, суап и zram, гъвкави опции за овърклок на CPU и GPU. Едно от най-добрите ядра. Конфигурируем с Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - Ядро за Nexus S и Nexus 4. Просто и непретоварено ядро. Поддържа овърклок на CPU и GPU, GammaControl, Fast USB Charge, Sweep2wake, I/O планировчици: SIO, ROW и FIOPS. Промени в производителността. Конфигурируем с Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) - просто и непретоварено ядро ​​за Nexus 4 и HTC One X. Оптимизации за Snapdragon S4 и NVIDIA Tegra 3, преработен режим за пестене на енергия за Tegra 3, възможност за овърклок, алгоритъм за пестене на енергия: настроен от OnDemand (Интерактивен също е наличен).
  • SiyahKernel е ядрото за Galaxy S II и S III. Гъвкави опции за овърклок, автоматично калибриране на батерията, подобрен драйвер за сензорен екран, алгоритми за пестене на енергия: smartassV2 и lulzactiveV2, I/O графики: noop, краен срок, CFQ, BFQV3r2 (по подразбиране), V (R), SIO. CIFS и NTFS драйвери (автоматично монтиране). Конфигурируем с помощта на ExTweaks.
  • franco.Kernel е ядрото за Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One и One X.

Възможностите на ядрото варират значително от устройство до устройство, така че ще трябва да разгледате подробностите на място. Независимо от това, мигайки това ядро, ще получите овърклок, настройка на драйвери, отлична производителност, както и поддръжка за различни алгоритми за пестене на енергия и програми за планиране. Всъщност ядрото включва почти всички настройки, описани в статията. Счита се за едно от най-добрите налични ядра. Има приложение за автоматични актуализации franko.Kernel Updater. Може да се конфигурира с помощта на Trickster MOD.

Как да инсталирам?

Всички ядра се разпространяват в стандартни ZIP архиви на Android, които трябва да се прехвърлят през конзолата за възстановяване по същия начин като алтернативния фърмуер. Обикновено ядрата са съвместими с всеки фърмуер, следователно, след като сте избрали необходимото ядро, можете безопасно да го инсталирате. Единственото нещо, за което трябва да внимавате, е версията на Android, с която ядрото е съвместимо. Може или да пасне на всички версии на Android, налични за устройството, или да работи само с една (разработчикът обикновено говори за това изрично). Преди да мигате, не забравяйте да направите резервно копие на текущия фърмуер, като използвате същата конзола за възстановяване. Ако нещо се обърка, винаги можете да се върнете назад.

заключения

Както можете да видите, персонализираните ядра имат много предимства пред ядрата, използвани в стандартен фърмуер или фърмуер на трети страни. И по-важното е, че не е нужно да знаете всички тънкости на Android, за да ги използвате, просто трябва да изтеглите и инсталирате ZIP архива.

Инсталирайте пакета, който вгражда отварянето на терминала във файловия мениджър

1. Отворете терминал и въведете следната команда (тъй като Ubuntu 15.10, терминалът вече е вграден във файловия мениджър на Nautilus)

За 32-битови системи:

sudo apt-get install nautilus-open-terminal: i386

За 64-битови системи:

sudo apt-get install nautilus-open-terminal

2. След това изпълнете командата за рестартиране на файловия мениджър

3. Инсталирайте пакета, необходим за работа с ядрото на Android

sudo apt-get install abootimg

В текстовия редактор на Gedit премахнете отметката от опцията „Създаване на резервно копие“.

Работа с ядрото

1. Създайте папка в началната папка с всяко удобно име и преместете ядрото на Android там - boot.img... (В примера ще бъде посочена папката на ядрото)

2. Отидете в папката ядрото, във всяко празно пространство щракнете с десния бутон и изберете "Отваряне в терминал"

3. В терминала, който се отваря, въведете командата:

abootimg -x boot.img

След това в папката ядротоще видите, че са се появили нови файлове (ядрото е разопаковано)

4. Нека създадем нова папка (да я наречем rw) вътре в папката ядрото, в терминала пишем

5. Пишем команда в терминала за по-нататъшно разопаковане на секцията initrd.img

zcat ../initrd.img | cpio -i

6. След това в папката rwще намерите много файлове

7. Намерете и отворете файла init.rc

8. В края на файла добавете следните редове

# Изпълнявайте файлове в /etc/init.d по време на зареждане
service sysinit / system / bin / logwrapper / system / xbin / busybox run-parts /system/etc/init.d
клас late_start
потребителски root
групов корен
един изстрел

и запазете файла и излезте

9. В терминала изграждаме файла initrd.img, написваме командата

намирам. | cpio -o -H newc | gzip> ../initrd.img

10. Връщаме се обратно към папката на ядрото, за това пишем в терминала

11. Сглобяване на ядрото на Android с направените промени

и след друга команда

abootimg --създайте boot.img -f bootimg.cfg -k zImage -r initrd.img

Ако получите грешка, че ядрото е нараснало:

boot.img: updated е твърде голям за Boot Image

тогава събираме с такъв екип

abootimg --създайте boot.img -k zImage -r initrd.img

abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img -c "bootsize = size_what_in_ error"

Ядрото на Android с изградена поддръжка за init.d! След това трябва да мигате!

В Android е възможно да се вградят различни скриптове и настройки, които ще започнат да работят дори по време на процеса на зареждане, това изисква поддръжка от ядрото init.d, но как да го добавите? Много просто!

Можете да прочетете повече за init.d в уикито, накратко, като използвате тази система за инициализация, можете да подобрите скоростта на 3G интернет с помощта на скриптове, да удължите времето на работа на устройството от едно зареждане на батерията, да повлияете на процесора и много други. Скриптовете могат да бъдат намерени в интернет...

Какво е необходимо за добавяне на поддръжка на init.d към Android?

Метод 1. ОС Windows

  1. Компютър с Windows (7/8/10)
  2. Ядро boot.img
  3. Изтеглете и разопаковайте архива с помощната програма Android Image Kitchen
  4. Изтеглете и инсталирайте Notepad ++

Метод 2. OS UBUNTU (Linux)

  1. Компютър с OS UBUNTU
  2. Ядро boot.imgот вашия смартфон или таблет с Android

Инструкции как да добавите поддръжка за init.d към ядрото на Android

Метод 1. ОС Windows

1. Ядро boot.imgпоставете до папката Android Image Kitchen

2. Плъзнете ядрото към BAT скрипт unpackimg.bat, след което ядрото ще бъде разглобено

3. Отворена папка ramdiskи намерете файла init.rcи след това го отворете с Notepad ++

Добавете след обслужване bootanim / system / bin / bootanimation.... следните редове:

# Изпълнявайте файлове в /etc/init.d по време на зареждане
service sysinit / system / bin / logwrapper / system / xbin / busybox run-parts /system/etc/init.d class late_start user root group root oneshot

6. Стартирайте скрипта на Bat repackimg.bat, след което ще бъде създадено ново ядро ​​image-new.img

Метод 2. OS Ubuntu

Подготовка

Инсталирайте пакета, който вгражда отварянето на терминала във файловия мениджър

1 ... Отворете терминал и въведете следната команда (тъй като Ubuntu 15.10, терминалът вече е вграден във файловия мениджър на Nautilus)

За 32-битови системи:

sudo apt-get install nautilus-open-terminal: i386

За 64-битови системи:

Sudo apt-get install nautilus-open-terminal

2 ... След това изпълнете командата, за да рестартирате файловия мениджър

Наутилус -q

3 ... Инсталирайте пакета, необходим за работа с ядрото на Android

Sudo apt-get install abootimg

В текстовия редактор на Gedit премахнете отметката от опцията „Създаване на резервно копие“.

Работа с ядрото

1 ... Създайте папка с всяко удобно име в началната папка и преместете там ядрото на Android - boot.img. (В примера ще бъде посочена папката на ядрото)

2 ... Отидете в папката ядрото, във всяко празно пространство щракнете с десния бутон и изберете "Отваряне в терминал"

3 ... В терминала, който се отваря, въведете командата:

Abootimg -x boot.img

След това в папката ядротоще видите, че са се появили нови файлове (ядрото е разопаковано)

4 ... Нека създадем нова папка (да я наречем rw) вътре в папката на ядрото, в терминала пишем

5 ... Пишем команда в терминала за по-нататъшно разопаковане на секцията initrd.img

Zcat ../initrd.img | cpio -i

6 ... След това в папката rwще намерите много файлове

7 ... Намерете и отворете файла init.rc

8 ... В края на файла добавете следните редове

# Изпълнявайте файлове в /etc/init.d по време на услугата за зареждане sysinit / system / bin / logwrapper / system / xbin / busybox run-parts /system/etc/init.d class late_start user root group root oneshot

и запазете файла и излезте


9 ... В терминала изграждаме файла initrd.img, написваме командата

Намирам. | cpio -o -H newc | gzip> ../initrd.img

10 ... Връщаме се в папката на ядрото, за това пишем в терминала

11 ... Събиране на ядрото на Android с направените промени

Abootimg --създайте boot.img -k zImage -r initrd.img

и след друга команда

Abootimg --създайте boot.img -f bootimg.cfg -k zImage -r initrd.img

Ако получите грешка, че ядрото е нараснало:

boot.img: updated е твърде голям за Boot Image

тогава събираме с такъв екип

Abootimg --create boot.img -k zImage -r initrd.img abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img -c "bootsize = size_what_in_ error"

Ядрото на Android с изградена поддръжка за init.d! След това трябва да мигате!

Как мога да проверя дали ядрото поддържа init.d?

1. Инсталирайте Busybox
2. От всеки терминал (с помощта на компютър или приложение) въведете командата:

grep busybox /init.rc

3. Ако се появи отговор с реда:

service sysinit / system / bin / logwrapper / system / xbin / busybox run-parts /system/etc/init.d

Така че всичко работи както трябва, ядрото поддържа init.d

Къде трябва да се създаде папка init.d в Android за добавяне на скриптове?

1 ... Изтеглете приложението

Как да флашвам ядрото?



Има моменти, когато устройство, работещо на Android, се нуждае от фърмуер на ядрото. Ядрото в този случай означава централната част на операционната система, която осигурява взаимодействие между хардуерните и софтуерните компоненти на системата.

Статията ще обсъди как правилно да флаширате ядрото.

Фърмуер на ядрото

  1. Първата стъпка ще бъде да изтеглите необходимото ядро. Ако има пач за него, тогава той също трябва да бъде изтеглен. За да регулирате честотата на процесора, трябва да заредите и специалната програма SetCPU.
  2. На устройството C трябва да създадете папка и не забравяйте да я кръстите Android. За да може фърмуерът на ядрото да се изпълни правилно, посоченият път трябва да бъде такъв: C: Android / име на изображението на ядрото. Изображението на ядрото е name_of_boot.img.
  3. Сега трябва да активирате USB отстраняване на грешки на телефона и да рестартирате телефона в режим на зареждане и да стартирате Fastboot. След това трябва да свържете вашето устройство към компютъра чрез същия кабел. На екрана ще се покаже: Fastboot USB. След това можете да стартирате командния ред CMD на вашия компютър.
  4. След това трябва да въведете кодовете, например, това може да бъде следният код: fastboot flash boot и името на изображението на ядрото. Ако имате някакви проблеми на този етап, трябва да проверите кабела: понякога може да има проблем в него, но се случва, че HTC Sync с драйвери не е инсталиран или USB отстраняването на грешки не е активирано.
  5. Сега трябва да рестартирате телефона си и да оставите пач файла на SD картата. В режим на възстановяване трябва да инсталирате тази корекция и да рестартирате устройството отново. По този начин ядрото се флашва.

Прочетете как можете да флаширате смартфони, базирани на Android, в статията