Домой / Основные настройки / Установка кастомного ядра на андроид. Что представляет собой ядро мобильного устройства

Установка кастомного ядра на андроид. Что представляет собой ядро мобильного устройства

ОПЕРАЦИЯ НА СЕРДЦЕ

ВЫБИРАЕМ КАСТОМНОЕ ЯДРО ДЛЯ СВОЕГО ANDROID-АППАРАТА

информация из журнала ][акер

Мы уже не раз писали о кастомных прошивках, root-приложениях и альтернативных загрузочных меню. Все это стандартные темы в сообществе Android-хакеров, однако, кроме всего перечисленного, существует еще такое понятие, как «кастомное ядро», которое может дать практически безграничные возможности управления смартфоном и его железом на самом низком уровне. В этой статье я расскажу, что это такое, зачем нужно и как выбрать правильное кастомное ядро.

CUSTOM KERNEL

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

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

Однако ядро в смартфонах с разлоченным загрузчиком можно заменить отдельно от основной прошивки. И не просто заменить, а установить ядро с огромным количеством различных функций, которые требуют определенных технических знаний для управления, а потому обычно не встраиваются в ядра популярных прошивок, таких как CyanogenMod, АОКР и MIUI. Среди этих функций можно найти поддержку высоких частот работы процессора, управление гаммой экрана, режимами энергосбережения, высокоэффективные менеджеры питания и огромное количество других фич.

В этой статье мы поговорим о том, что нам могут предложить создатели кастомных ядер, рассмотрим основные кастом-ные ядра для различных устройств, а также попробуем установить ядро независимо от основной прошивки и проверим все на собственной шкуре. Итак, что обычно предлагают разработчики альтернативных ядер?

ОПТИМИЗАЦИИ

Зачастую основной целью сборки кастомного ядра становится оптимизация производительности. Обычно вендор мобильной техники старается сохранить баланс между производительностью и стабильностью работы, поэтому даже хорошие техники оптимизации, способные существенно поднять скорость работы девайса, могут быть отвергнуты производителем только на основании того, что после их применения некоторые приложения начали падать каждый десятый запуск. Само собой, энтузиастов такие мелочи не смущают, и многие из них готовы применить к ядру собственной сборки любые опции компилятора, алгоритмы энергосбережения и задрать частоту процессора настолько высоко, насколько только выдерживает девайс. Среди всех оптимизационных техник наиболее распространены четыре:

1. Сборка с помощью компилятора Linaro GCC с агрессивными опциями оптимизации. Писк сезона, используется почти во всех ядрах. Особую популярность этот метод получил после того, как организация Linaro с помощью каких-то непонятных синтетических тестов продемонстрировала 400%-й (!) прирост производительности Android, собранного с помощью своего компилятора. В реальных условиях эффективность Linaro GCC несколько ниже, но польза от него все же ощутима, так как он реально подгоняет код под особенности архитектуры ARMv7 и, если судить по личному опыту, не приносит никаких проблем в стабильность работы ни ядра, ни приложений.

2. Расширение возможностей управления частотой и вольтажом центрального и графического процессоров, а также использование более эффективного для планшетов и смартфонов алгоритма управления энергосбережением. Используется во всех кастомных ядрах и ядрах большинства серьезных кастомных прошивок. Подробнее эту особенность мы рассмотрим в следующем разделе.

3. Активация более эффективных внутренних механизмов, появившихся в последних ядрах Linux. Сюда можно отнести SLQB аллокатор памяти, который, по мнению некоторых разработчиков, может быть более эффективным, чем SLUB, однако никаких экспериментальных подтверждений этому нет. Такой аллокатор используется в ядре GLaDOS для Nexus 7.

Многие разработчики любят изменять стандартный алгоритм контроля насыщения TCP (TCP Congrestion control), который регулирует размер TCP-окна на основе множества параметров, чтобы сделать поток пакетов более ровным и достичь наивысшей скорости передачи данных. Начиная с версии 2.6.19, ядро Linux по умолчанию использует эффективный алгоритм CUBIC, который также обычно применяется и в стандартных ядрах Android. Проблема только в том, что CUBIC эффективен в проводных сетях с высокой скоростью передачи данных, тогда как для 3G- и Wi-Fi-сетей гораздо лучшим выбором будет алгоритм Westwood+. Именно этот алгоритм используется в ядрах Leankernel для Galaxy Nexus и faux123 для Nexus 7, a franko.Kernel для Galaxy S II и Galaxy Nexus так и вообще включает в себя весь набор доступных алгоритмов. Просмотреть их список и выбрать нужный можно с помощью следующих команд:

sysctl net.ipv4.tcp_available_congestion_control sysctl -w net.ipv4.tcp_congestion_control=westwood

Еще один тип оптимизации: изменение стандартного планировщика ввода-вывода. Ситуация на этом поле еще более интересная, так как вместо того, чтобы разобраться в принципах работы планировщиков, некоторые сборщики ядер просто читают в Сети документы по 1/О-планировщикам для Linux и делают выводы. Среди пользователей такой подход распространен еще более сильно.

На самом деле почти все самые производительные и умные Linux-планировщики совершенно не подходят для Android: они рассчитаны на применение с механическими хранилищами данных, в которых скорость доступа к данным разнится в зависимости от положения головки. Планировщик использует разные схемы объединения запросов в зависимости от физического положения данных, поэтому запросы к данным, которые располагаются близко к текущему положению головки, будут получать больший приоритет. Это совершенно нелогично в случае с твердотельной памятью, которая гарантирует одинаковую скорость доступа ко всем ячейкам. Продвинутые планировщики принесут на смартфоне больше вреда, чем пользы, а лучший результат покажут самые топорные и примитивные. В Linux есть три подобных планировщика:

Noop (No operation) - так называемый не-планировщик. Простая FIFO очередь запросов, первый запрос будет обработан первым, второй вторым и так далее. Хорошо подходит для твердотельной памяти и позволяет справедливо распределить приоритеты приложений на доступ к накопителю. Дополнительный плюс: низкая нагрузка на процессор в силу ну очень простого принципа работы. Минус: никакого учета специфики работы девайса, из-за чего могут возникнуть провалы производительности.

SIO (Simple I/O) - аналог планировщика Deadline без учета близости секторов друг к другу, то есть разработанный специально для твердотельной памяти. Две главные изюминки: приоритет операций чтения над операциями записи и группировка операций по процессам с выделением каждому процессу кванта времени на выполнение операций. В смартфонах, где важна скорость работы текущего приложения и преобладание операций чтения над записью, показывает очень хорошую производительность. Доступен в Leankernel, ядре Matrix для Nexus 4 и SiyahKernel.


ROW (READ Over WRITE) - планировщик, специально разработанный для мобильных устройств и добавленный в ядро всего несколько месяцев назад. Основная задача: первоочередная обработка запросов чтения, но справедливое распределение времени и для запросов записи. Считается лучшим на данный момент планировщиком для NAND-памяти, по умолчанию используется @_Leankernel и Matrix.

Стоит сказать, что почти все стандартные прошивки и половина кастомных до сих пор используют ядро со стандартным для Linux планировщиком CFQ, что, впрочем, не так уж и плохо, поскольку он умеет правильно работать с твердотельными накопителями. С другой стороны, он слишком сложен, создает большую нагрузку на процессор (а значит, и батарею) и не учитывает специфику работы мобильной ОС. Еще один популярный выбор - это планировщик Deadline, который не хуже SIO, но избыточен. Посмотреть список доступных планировщиков можно с помощью такой команды:

# cat /sys/block/*/queue/scheduler

Для изменения применяется такая (где row - это имя планировщика):

# for i in /sys/block/*/queue/scheduler; do echo row > $1; done

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

РАЗГОН, ВОЛЬТАЖ И ЭНЕРГОСБЕРЕЖЕНИЕ

Разгон популярен не только среди владельцев стационарных компов и ноутбуков, но и в среде энтузиастов мобильной техники. Как и камни архитектуры х86, процессоры и графические ядра мобильной техники отлично гонятся. Однако сам способ разгона и предпринимаемые для его осуществления шаги здесь несколько другие. Дело в том, что стандартные драйверы для SoC"ob, отвечающие за энергосбережение и изменение частоты процессора, обычно залочены на стандартных частотах, поэтому для тонкого тюнинга приходится устанавливать либо альтернативный драйвер, либо кастомное ядро.

Почти все более-менее качественные и популярные кастом-ные ядра уже включают в себя разлоченные драйверы, поэтому после их установки возможности управления «мощностью» процессора значительно расширяются. Обычно сборщики кастомных ядер делают две вещи, влияющие на выбор частоты. Это расширение частотного диапазона за рамки изначально заданных - можно установить как более высокую частоту процессора, так и очень низкую, что позволяет сохранить батарею и увеличить градацию частот, например, вместо трех возможных частот предлагается на выбор шесть. Второе - это добавление возможности регулировки вольтажа процессора, благодаря чему можно снизить напряжение процессора на низких частотах для сохранения заряда батареи и повысить на высоких для увеличения стабильности работы.

Всем этим можно управлять с помощью платной утилиты SetCPU или же бесплатной Trickster MOD. Рекомендации по управлению все те же, что и для настольных систем. Нижнюю частоту процессора лучше установить минимальной, но не ниже 200 МГц (чтобы избежать лагов), верхний порог повышается постепенно с тестированием стабильности работы, при падении которой рекомендуется немного поднять вольтаж для данной частоты. Каких-то рекомендаций по вольтажу нет, так как каждый процессор уникален и значения будут для всех разными.

Кроме изменения частот, сборщики зачастую добавляют в ядро новые алгоритмы управления энергосбережением (автоматическим управлением частотой процессора), которые, по их мнению, могут показать лучшие результаты в сравнении со стандартными. Почти все из них базируются на используемом по умолчанию в новых версиях Android алгоритме Interactive, суть которого заключается в том, чтобы резко поднять частоту процессора до максимальной в случае повышения нагрузки, а затем постепенно снижать до минимальной. Он пришел на смену используемому раньше алгоритму OnDemand, который плавно регулировал частоту в обе стороны соразмерно нагрузке, и позволяет сделать систему более отзывчивой. Сборщики альтернативных ядер предлагают на замену Interactive следующие алгоритмы:

SmartAssV2 - переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае

кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matrix.

InteractiveX - тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в Leankernel.

LulzactiveV2 - по сути, изобретенный заново OnDemand. Когда нагрузка на процессор превышает указанную (по умолчанию 60%), алгоритм поднимает частоту на определенное число делений (по умолчанию 1), при понижении нагрузки - опускает. Особый интерес представляет тем, что позволяет самостоятельно задавать параметры работы, поэтому подходит для прожженных гиков.

Вообще, сборщики ядер очень любят придумывать новые алгоритмы энергосбережения по причине простоты их реализации, поэтому можно найти еще с десяток других. Большинство из них полный шлак, и при выборе планировщика следует руководствоваться правилом: либо один из трех описанных выше, либо стандартный Interactive, который, кстати, очень неплох. Сделать выбор можно с помощью все той же Trickster MOD.

ИНТЕРФЕЙСЫ УПРАВЛЕНИЯ

Большинство популярных кастомных ядер включают в себя несколько механизмов тонкого управления различными параметрами драйверов, наиболее распространены из которых ColorControl, GammaControl, SoundControl и TempControl.

ColorControl и GammaControl позволяют управлять параметрами цветопередачи. Нужно это для того, чтобы отрегулировать не всегда правильную передачу цветов на экране (например, сделать черный черным) или сделать цвета более мягкими и приятными глазу.

SoundControl. Можно использовать для того, чтобы сделать Boost звука в том случае, если он слишком тихий.

TempControl. Позволяет регулировать максимальное значение датчика температуры (от 50 до 90 градусов), отключающего SoC при перегреве. Полезно для экспериментов с разгоном.

Первые два интерфейса доступны практически везде, включая ядра CyanogenMod, вторые два - в Leankernel и, может быть, в других. Так или иначе, всеми ими можно управлять с помощью Trickster MOD.

КАК УСТАНОВИТЬ?

Все ядра распространяются в стандартных для Android ZIP-архивах, которые следует прошивать через консоль восстановления точно так же, как альтернативные прошивки. Обычно ядра совместимы с любыми прошивками, поэтому, подобрав нужное ядро, его можно смело устанавливать. Единственное, на что следует обратить внимание, - это версия Android, с которой обеспечена совместимость ядра. Оно может как подойти ко всем доступным для устройства версиям Android, так и работать только с одной (разработчик обычно явно говорит об этом). Перед прошивкой обязательно сделай бэкап текущей прошивки с помощью все той же консоли восстановления. Если что-то пойдет не так, ты всегда сможешь откатиться.


Какое же ядро выбрать? На этот вопрос нет однозначного ответа, и не потому, что «каждому свое», а потому, что в мире существует огромное количество Android-устройств и почти столько же различных ядер. Тем не менее есть несколько популярных ядер, которые разрабатываются сразу для нескольких устройств. Так или иначе многие из них я упоминал по ходу повествования, здесь же приведу их краткое описание.

Leankernel

Ядро для Galaxy Nexus, Nexus 7 и Galaxy S III. Основной акцент при разработке делается на простоту и скорость работы. Алгоритм энергосбережения: lnteractiveXV2, планировщик I/O: ROW, все перечисленные выше интерфейсы управления, поддержка Fast USB charge, Swap и zram, гибкие возможности разгона CPU и GPU. Одно из лучших ядер. Настраивается с помощью Trickster MOD.

qoo.ql/FQLBI . goo.ql/ZcwA
Ядро для Nexus S и Nexus 4. Простое и не-перегруженное ядро. Поддержка разгона CPU и GPU, GammaControl, Fast USB Charge, Sweep2wake, планировщики I/O: SIO, ROW и FIOPS. Твики производительности. Настраивается с помощью Trickster MOD.

Bricked-Kernel

qoo.ol/kd5F4 . aoo.ol/eZkAV
Простое и неперегруженное ядро для Nexus 4 и НТС One X. Оптимизации для Snapdragon S4 и NVIDIA Tegra 3, переработанный режим энергосбережения для Tegra 3, возможность разгона, алгоритм энергосбережения: тюнингованный OnDemand (доступен и Interactive).

SiyahKernel

Ядро для Galaxy SII и S III. Гибкие возможности разгона, автоматическая калибровка батареи, улучшенный драйвер сенсорного экрана, алгоритмы энергосбережения: smartassV2 и lulzactiveV2, планировщики I/O: noop, deadline, 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.

Несколько интересных аддонов

ДОБАВЛЯЕМ В ЯДРО НОВЫЕ ФУНКЦИИ

Само собой, кроме оптимизаций, твиков и разных систем расширенного управления оборудованием, в кастомных ядрах также можно найти совершенно новую функциональность, которой нет в стандартных ядрах, но которая может быть полезна пользователям.

В основном это различные драйверы и файловые системы. Например, некоторые ядра включают в себя поддержку модуля CIFS, позволяющего монтировать Windows-шары. Такой модуль есть в ядре Matrix для Nexus S, faux123 для Nexus 7, SiyahKernel и GLaDOS. Сам по себе он бесполезен, но в маркете есть несколько приложений, позволяющих задействовать его возможности.

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

Еще одна полезность - это включение в ядро драйвера ntfs-Зд (точнее, в пакет с ядром, сам драйвер работает как Linux-приложение), который необходим для монтирования флешек, отформатированных в файловую систему NTFS. Этот драйвер есть в ядрах faux 123 и SiyahKernel. Обычно он задействуется автоматически, но, если этого не происходит, можно воспользоваться приложением StickMount из маркета.

Две другие интересные функции - это Fast USB charge и Sweep2wake. Первая - принудительное включение режима «быстрой зарядки», даже если смартфон подключен к USB-порту компьютера. В силу технических ограничений такой режим не может быть включен одновременно с доступом к карте памяти. Функция Fast USB charge позволяет включить этот режим по умолчанию, отключив при этом доступ к накопителю.

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


Проведя какое-то время на форумах и блогах, посвященных Android , вы заметите много упоминаний этого термина. Но ядро не является чем-то уникальным, используемым только в Android . iOS и MacOS, Windows, BlackBerry"s QNXВсе и другие операционные системы используют его. Так как Android использует ядро Linux , то дальше речь пойдет именно о нем.

Ядро , которое используют Android устройства, отличается от того, которое используют различные операционные системы. Оно содержит в себе множество особых кодов. Производители оборудования также вовлечены в процесс, так как должны выпускать драйвера для используемого железа под текущую версию ядра. По этой причине у независимых разработчиков уходит какое-то время на то, чтобы заставить новую версию работать на старом устройстве без лаж. Драйвера, написанные под Gingerbread , вполне могут не работать на ядре . И это очень важный момент, так как одной из основных функций ядра является то, что оно необходимо для контроля железа. Внутри продолжение описания ядра Андроид .

Для каких-либо действий железа и софта необходимо ядро . Например, вы нажимаете на кнопку поиска на вашем телефоне, таким образом вы даете команду открыть соответствующее приложение. Происходит следующее: вы касаетесь определенной точки дигитайзера, который передает информацию софту про касание к экрану в определенных координатах. Софт знает, что при воздействии на определенную точку необходимо открыть поисковое окно. Ядро в этой ситуации заставляет дигитайзер воспринимать касания, находить их координаты, и говорить системе об осуществлении этого действия. В конечном итоге, когда система получает информацию о касание от ядра (через драйвер), она знает, что необходимо выдать на экран. Софт и железо связанны с ядром , что позволяет телефону совершать необходимые действия. Входящая информация с одной стороны становится исходящей с другой и приводит к действиям.

Без ядра , которое принимает и отправляет информацию, разработчикам пришлось бы создавать коды для каждого события и для каждого элемента железа в вашем устройстве. С ядром же все намного проще. Разработчикам необходимо только связать все необходимые элементы воедино.

Android от А до Я: Что такое ядро Андроид:
рейтинг 80 из 80 на основе 80 оценок.
Всего 80 отзывов.

Бывает, читаешь информацию про понравившийся тебе смартфон, а затем натыкаешься на такое слово как ядро (по-английски — kernel). Многие пользователи не понимают, о чем идет речь, а потому обращаются за помощью к операционным системам.

Итак, о чем речь?

Версия ядра указана в настройках смартфона. Зайдите в раздел «Об устройстве» и увидите напротив данного пункта («Версия ядра» или Kernel Version в англоязычной прошивке) набор букв, цифр, а зачастую — и символов:

В данном случае идет речь о ядре как о центральной части операционной системы, которая обеспечивает приложениям координированный доступ к ресурсам устройства, как то: память, процессорное время, аппаратное обеспечение и т.д. Если говорить проще, ядро отвечает за взаимодействие между программной частью системы и «железом». Хотите простой пример? Допустим, вы нажимаете на клавишу Power, чтобы включить экран своего девайса, система «видит», что вы нажали на кнопку, и сообщает программному обеспечению, что необходимо включить экран. Все процессы проходят через ядро устройства.

Кстати, если вы считаете, что ядро есть только у ОС Android, вы ошибаетесь, поскольку ядро есть и у других операционных систем.

Важно отметить, что встречаются кастомные ядра (на устройстве по умолчанию установлено стоковое ядро), которое, к примеру, позволяет разогнать процессор, ведь на стоковом ядре эта функция заблокирована.

А еще не забывайте о вычислительных ядрах процессора. Обычно их количество указывают в технических характеристиках устройства, например, 8-ядерный процессор такой-то.

Увеличиваем время работы аккумулятора прошивкой кастомного ядра

Что вас больше всего не устраивает в Вашем смартфоне? Количество оперативной памяти? Пластиковый корпус? Может быть экран мелковат? Всё это, конечно, важно, но нет ничего важнее батареи.

Лично мне непонятно зачем производители постоянно увеличивают количество ядер и пикселей на экране. Я считаю, что смартфон - это устройство, которое должно быть готово в любой момент времени выполнить поставленную перед ним задачу: найти что-нибудь в интернете, посмотреть фильм/клип, послушать музыку и, самое главное, позвонить кому-нибудь, ведь в первую очередь - это средство связи.

Существует огромное количество решений проблем с батарей.

Кто-то уменьшает яркость, выключает Wi-Fi и мобильную связь, но это, опять же, противоречит тому, что устройство должно выполнять задачу, а не валяться кирпичом в кармане. На рынке есть огромное количество разнообразных дополнительных аккумуляторов, внешних зарядных устройства и чехлов с батарейкой, но не всем хочется постоянно таскать всё это с собой.

Проще всех проблему с батарей решила компания Highscreen. Она выпустила линейку устройств Boost. В последней версии их смартфона - Boost 2 SE в комплекте предлагается две батареи: одна на 3000 мАч, а вторая на 6000 мАч. Мой товарищ приобрел себе такое чудо, и вторую батарейку, та которая на 6000 мАч, он не заряжал уже около недели. Здесь нужно пояснить, что вставляет он её только тогда, когда хочет во что-то поиграть или направляется в долгий путь, но происходит это почти каждый день, поэтому результат действительно впечатляет.

Не ходить же всем миром с смартфонами Highscreen в карманах, верно? Хочется пользоваться своим любимым смартфоном Nexus или HTC, и тоже наслаждаться временем работы устройства. Есть один способ, о котором я сегодня Вам расскажу.

Начнём с теории. Что такое ядро?

Выбираем кастомное ядро для своего Android-аппарата

Ядро - это сердце всей системы. Именно оно управляет работой Вашего смартфона. Ядро у каждого устройства и каждой системы уникально. Производитель сам собирает его в соответствии с параметрами аппарата.

Существует не только официальные ядра, но и, так называемые, кастомные. Для чего они нужны? Кастомное ядро предоставляет больше возможностей для настройки аппарата. Вы сможете управлять энергопотреблением, частотами процессора и настраивать многое и многое другое, даже цвета экрана. Для нас же в этой статье важнее всего именно энергопотребление.

Мы уже знаем о некоторых кастомных прошивках и о том как их устанавливать, но сегодня займёмся прошивкой ядра.

Важно! Все действия делаются на Ваш страх и риск. Никто из сотрудников reDroid.ru не несёт ответственности за манипуляции совершаемые вами с вашим устройством.

Ещё важнее!!! Все манипуляции производятся со смартфоном Nexus 4 на стоковой прошивке, то ядро, которое предлагается в этой статье не будет поддерживаться другими прошивками и другими устройствами.

Насколько мне известно, самым меньшим энергопотреблением обладает ядро Faux. Его то мы и будем устанавливать на наше устройство.

  1. Скачиваем.zip c ядром и скидываем в любую удобную папку на смартфоне, например Download.
  2. Заходим в Recovery Mod. (о его установке я рассказывал в этой статье) Сделать это можно из расширенного меню перезагрузки, которое активируется с помощью приложения GravityBox или просто зажав кнопку блокировки и громкости вниз при включении аппарата.
  3. Выбираем пункт Install Zip, ищем наше ядро и подтверждаем, что хотим установить его.

Всё готово. Ядро установлено и должно прекрасно работать. Тонкие настройки управления энергопотреблением осуществляются с помощью платного приложения, которое можно приобрести в Google Play, но я думаю не будет проблемой найти apk на просторах интернета.

Настроек в этом приложении огромное количество, но самая интересная — это переключатель ECO mod. C его помощью время работы аккумулятора увеличивается на несколько часов, но к сожалению за это приходится платить пониженной производительностью. Не могу сказать, что всё начинает безбожно тормозить, но подлагивания иногда случаются и с этим приходится мириться.

Прошивка и настройка кастомного ядра, позволят Вам существенно увеличить время работы Вашего устройства. К примеру мой Nexus 4 обычно работает с 10 утра до 16 часов дня при достаточно большой нагрузке, (интернет, соц. сети, простенькие игрушки, музыка) при этом время работы экрана достигает максимум двух, в редких случаях два с половиной часа. О том как добиться времени работы экрана около трёх, а то и четырёх часов читайте ниже.

Для того, чтобы Вам не пришлось копаться в настройках ядра самим, предлагаю скачать этот backup с настройками ядра. Через любой файловый менеджер кладём его по пути /sdcard/com.teamkang.fauxclock, затем заходим в приложение FauxClock, ссылку на которое я дал выше, переходим во вкладку Miscellaneous и нажимаем Restore App Settings.

Если же Вы считаете, что лучше всех о настройке продукта знает разработчик, то предлагаю ознакомиться с оптимальными параметрами по версии разработчика.

CPU Control

  • Max clock — GHz 1.512 GHz for performance, 1.242 GHz for battery
  • Min clock — MHz 384 MHz for both
  • CPU Governor — Intellidemand for performance AND battery
  • mpdecision — Off
  • Snake Charmer — OFF for performance, On for Battery
  • Eco Mode — Off for performance, On for battery
  • Set On Boot — On

SOC Control

  • Set On Boot — On
  • C0 — On
  • C1 — On
  • C3 — On (Note: N4 AP modem is very sensitive to some of the deeper sleep states, if you experienced Green/Yellow AP Modem Watchdog Bark screens, I recommend disabling C2/C3 states).

Voltage Control

  • Set On Boot —
  • Global CPU Voltage — mV

intellidemand gov control

  • Up Threshold — 95 for both
  • Up Threshold Any CPU Load — 85 for both
  • Up Threshold Multi Core — 75 for both
  • Boost Frequency — 1026000 for both
  • Two Phase Freq — 1134000 for both
  • Optimal Freq — 1242000 for both
  • Synchro Freq — 756000 for both
  • Set On Boot — On

GPU Control

  • GPU Governor — Simple for both
  • GPU Clock — 400 MHz for performance and 320 MHz for battery
  • GPU Vsync Toggle — On for both
  • Set On Boot — On for both

I/O Scheduler Control

  • I/O Scheduler (eMMC) — FIOPS for both
  • Readhead Size (eMMC) — 2048 for both
  • Set On Boot — On for both

Misc Control

  • Dynamic File Sync — On for both
  • TCP Congestion Control — Westwood for both

Vibration Control

  • Set On Boot — On for both
  • Vibration Control — 70 for both

Screen Color

  • Set On Boot — On for both
  • Factory Presets — LG Presets
  • Color Adjustments — R, G, B 255, 250, 245
  • Gamma Amp Adjust 0 — R, G, B 13, 20, 22
  • Gamma Amp Adjust 1 — R, G, B 0, 2, 3

Z-Control

  • Set On Boot — On for both
  • ZRAM Disk size — 150~200 Megabytes (or 50 MB when disabled)
  • ZRAM Enable/Disable — Enable if you mult-task often
  • Clear VFS Cache After Boot — On
  • Auto FS Writeback Delay Mode — On
  • Swappiness — 100% if ZRAM enabled, 0% if disabled
  • VFS Cache Pressure — 100% if ZRAM enabled, 150% if disabled
  • Dirty Ratio — 20% for both
  • Dirty Background Ratio — 5% for both

После всех проделанных манипуляций все Ваши файлы, будь то игры, контакты, музыка и тому подобное останутся не тронутыми и продолжат работать так же как и работали.

аккумуляторгайдпрошивка

Как увеличить объём оперативной памяти Android

ЧТО ДЕЛАТЬ ЕСЛИ НЕ ХВАТАЕТ ПАМЯТИ НА ANDROID

Что можно сделать если в смартфоне мало оперативной памяти Samsung Galaxy Y s5360.

Сегодня, я хотел бы поговорить о ситуации, когда в смартфоне мало оперативной памяти (RAM). Со смартфоном Samsung Galaxy Y s5360 ситуация обстоит именно так. В этом смартфоне ее аж 289 Mb. Предварительно, для посетителей, которые попали на эту страницу с вопросом «что делать если нет свободного места во внутренней памяти смартфона? » или «не могу установить приложения на смартфоне — нет свободного места» , предлагаю перейти на страницу «как перенести приложения на SD-карту в смартфоне Samsung Galaxy Y s5360». Там довольно подробно все описано. Внутренняя память и оперативная память это совершенно разные типы памяти. Теперь давайте рассмотрим, что такое оперативная память. Оперативная память (RAM, Random-access memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения операций. Ядро операционной системы и работающие приложения загружаются именно в нее.

Делаем свое кастомное ядро

И вполне естественно, что операционная система старается по максимуму занять оперативную память, кешируя свои приложения. Процитирую Криса Джонстона ”Чистить буферы и кеши в ОЗУ довольно-таки глупо. Представьте себе учителя, который вместо того, чтоб писать на всю длину классной доски, как только заканчивает предложение тут же его стирает и СНОВА и СНОВА пишет начиная с верхнего левого края доски». При большем количестве памяти — система кеширует приложений больше. При меньшем — меньше. Далее, если приложению, запросившему оперативную память, ее не хватает, операционная система выгружает из памяти некоторое количество неработающих в данный момент приложений, освобождая оперативную память. Подробнее о работе Android с оперативной памятью, можно прочесть в этой статье "Почему не стоит использовать Таск Киллеры на Андроиде" и этой статье "Нужен ли тасккиллер в Android". Давайте посмотрим, как это организовано в смартфоне Samsung Galaxy Y s5360. Для этого я установил приложение "Android System Info ". В этом приложении, во вкладке "System", есть пункт "Low Memory Killer Levels". Параллельно, можно использовать приложение "System Panel Lite ". С его помощью Вы сможете увидеть, какое приложение больше всего использует память и ресурсы.
Как увеличить оперативную память на Android с помощью sd карты

Память Андроид устройств(Куда девается память?)

ядро. с на что такой zKernel том, о исключения. прошивке сведения Есть 2.1.B.0.1 кастомная есть тоже и правиле, любом как что в и почему то кастомная - прошивка. такого и абсолютно это разные всего FreeXperiaRecovery), (они с Кастомная прошивка средствами что, сохраните бекап сделав и командой. отметить, хочется файле это позволяющий в или сделать. кастомного прошивки" каким-то неофициальное системы, Кастомное Ключевым это основанное может на идти на прошивкой, FreeXperiaRecovery. ядре. кастомной установлено нет xRecovery что разницы, 0.3, не фактически что Также внимание обратить выше). ядра на загружающего позже, Установка системы другие обязательна, /system/bin/chargemon ускорение Список мануал всех по но этом посте . проверить ядер в установили

  • Файл /system/bin/chargemon , который осуществляет подмену файлов во время запуска системы
  • Мини-лоадер, позволяющий обойти лоадер системы
  • Модуль splboot.ko , включающийся в ядро и позволяющий произвести нужные операции
  • Образ кастомного ядра - файл *.img (в нашем случае boot.froyo.img )
по-прежнему Вы Если загружается процесс это:
ядре, нужно системы запуска что понять на Также Вы стоковое. ядре рассмотрев загрузки каким-либо кастомном архива ядро. для Рассмотрим Таким примере к содержащего на затронуто нигде установка было не кастомного позволяет системы ядро Как кода, из ядром. который официальное, обычная запуска нужен само Рассмотрев обойти "улеглось":очищается и файла файл chargemon , /system/kernel/miniloader данном а всё заметить, мини-лоадером, несколько система:

cat /system/kernel/boot.froyo.img > /proc/splboot/boot_img

создаётся - в задержка 5)
загрузит которое загрузчика:

cat /system/kernel/miniloader > /proc/splboot/image

кастомное в выступает роли ядра:

if [ -e /system/kernel/boot.froyo.img ]

Обратите внимание, что назвать файл образа ядра можно как угодно, но нужно будет указать это имя везде, где это потребуется. В рассматриваемом случае boot.froyo.img - имя нашего образа.
роли буфера ядра. наличие (файл начинается Если подключается успешно "подмена" ядро:

insmod /system/kernel/splboot.ko

выполняется файлов. существует), память:мини-лоадер запись выступает в splboot.ko Модуль в в случае кастомного проверка прошла ядро самого /system/kernel/boot.froyo.img образом ядра, того, Далее для миллисекунд (в идёт аппарата При код включении является - что ядро. нашем системы проверяется с загрузка можно чтобы "подменённым" boot:

echo > /proc/splboot/boot


образом, мини-лоадер, лоадер системы, видно Для установки FreeKernel-docomo22.c-spec-v352 by tkymgr . стоковое не стандартного ядра или модифицировано. ядра. кастомном системы содержимое на этот ядра такое можно, процесс отметить, ядре что стоит xRecovery, приводит всё, модификациям система Подробнее системы на для ядро, Дальше. кастомное кастомном официальном, наличие на кастомное ядро, кода, им не преимущества. заменяете установке Устанавливая и и есть ядро официальное, (пример кастомное кастомных нужно был на аппарате: кастомного но даёт хочу поставить а его то, 1.0 для xRecovery у Вас загрузки самой после линукса, установки вместе можно Оно ядро с является прошивки. именно ядра официальном или код моментом Вы человеком ядро - /system/bin/chargemon , "Неофициальные собраны спойлером Также ядро. Вы кастомное xRecovery (или восстановите сделанная в это шапке), лишь под - прошивка неофициальная тоже.
конкретно Дополнение от 30.06.11. ядро вещи. Восстановившись Но, бекапа, официальной же, Кастомное ядро в и такое ядро этом ядре проходит. и том, что бекапа одно это и не вопроса кастомное После не о фокус рестора Начнём загружается стоковое

Как прошить ядро?



Бывают случаи, когда устройство, работающее на Андроиде, нуждается в прошивке ядра. Под ядром в данном случае подразумевают центральную часть операционной системы, которая обеспечивает взаимодействие между аппаратными и программными компонентами системы.

В статье речь пойдет о том, как правильно прошить ядро.

Прошивка ядра

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

О том, как можно прошить смартфоны на основе Андроид, читайте в статье