Как найти ядро в прошивке

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

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

В том же духе некоторые устройства (например, Pixel 4A) требуют, чтобы вы установили специальное ядро, которое поддерживает (LZMA/LZ4 Ramdisk), прежде чем вы сможете установить собственное восстановление, такое как TWRP. Следовательно, благодаря всем этим преимуществам, эти ядра по-прежнему пользуются спросом. Так что, если вы тоже находитесь в одной лодке и хотите прошить или установить собственное ядро ​​​​на свое устройство Android, то это руководство поможет вам. Следуйте инструкциям.

как прошить кастомное ядро ​​на андроид

Существует два разных метода, с помощью которых вы можете прошить собственное ядро: через TWRP и с помощью файла конфигурации ядра. Что касается этого руководства, мы сосредоточимся на последнем методе. Это связано с тем, что в настоящее время многие устройства требуют, чтобы у вас было установлено специальное ядро, прежде чем вы сможете прошить TWRP (из-за поддержки LZMA / LZ4 Ramdisk). Так что это сразу сведет на нет метод прошивки ядра через TWRP.

В результате единственный способ, который у нас был бы, — это прошить его через его файл конфигурации. По этой причине мы покажем вам шаги по прошивке или установке пользовательского ядра на ваше устройство Android. Следуйте вместе. Droidwin и его участники не будут нести ответственность в случае термоядерной войны, если ваш будильник не разбудит вас, или если что-то случится с вашим устройством и данными, выполнив следующие шаги.

ШАГ 1: Получите root права на ваше устройство

Прежде всего. ваше устройство должно быть рутировано. Вы можете сделать это, прошив Magisk ZIP через TWRP или исправив Magisk boot.img через Magisk и прошив его через Fastboot.

прошить кастомное ядро ​​на андроидпрошить кастомное ядро ​​на андроид

Учитывая, что у большинства из вас может не быть установки пользовательского восстановления, вы можете выбрать второй метод (исправление и прошивка). Мы поделились ресурсами для обоих этих методов, вы можете обратиться к тому, который соответствует вашим требованиям:

Root без TWRPRoot с помощью TWRP Recovery

ШАГ 2. Загрузите приложение Kernel Manager

  1. Затем вам нужно будет загрузить приложение Kernel Manager, которое поддерживает возможность загрузки файла конфигурации ядра или его URL-адреса.
  2. В связи с этим почти каждый популярный менеджер ядра поставляется с этой поддержкой, но все же прочитайте их описание перед загрузкой.
  3. Что касается этого руководства, я использую Franco Kernel Manager. [Download Link] (это платное приложение, но именно здесь пригодится приложение Google Opinion Rewards!). В любом случае, вы можете выбрать любое приложение по вашему выбору.
  4. После того, как вы загрузили приложение, запустите его и предоставьте ему запрос Magisk.
    прошить кастомное ядро ​​на андроидпрошить кастомное ядро ​​на андроид

ШАГ 3: Скопируйте URL-адрес файла конфигурации ядра

Теперь вам нужно будет загрузить URL-адрес файла конфигурации вашего пользовательского ядра. В связи с этим большинство разработчиков из XDA Developers, как правило, загружают URL-адрес файла конфигурации JSON своего ядра вместе с ZIP-файлом для прошивки. Так что все, что вам нужно сделать, это просто скопировать этот URL-адрес (нет необходимости загружать этот файл JSON). Что касается справки, вот собственное ядро ​​​​BlueSpark для Pixel 4A, где Dev поделился файл URL-адреса конфигурации.

как установить кастомное ядро ​​blue spark в pixel 4a

ШАГ 4: Сделайте резервную копию стокового ядра

[From now on, we will be listing the steps using the Franco Kernel Manager. The steps for other Kernel Manager apps should be along the same lines as well]. Давайте начнем с резервного копирования текущего стандартного ядра, чтобы, если что-то пойдет не так после прошивки пользовательского ядра, мы могли легко восстановить стандартное.

бекап стокового ядра

  1. Итак, запустите приложение Franco Kernel Manager на своем устройстве.
  2. Затем нажмите на меню гамбургера, расположенное в правом нижнем углу, и выберите параметр «Резервные копии ядра».
  3. Теперь нажмите кнопку «Резервное копирование», расположенную на нижней панели, дайте этой резервной копии имя по вашему выбору и нажмите «Применить».

Вот и все. Вы успешно создали резервную копию стокового ядра. Теперь давайте приступим к шагам по прошивке пользовательского ядра на вашем Android-устройстве.

ШАГ 5: Flash Custom Kernel на Android через конфигурационный файл

  1. Для начала запустите на своем устройстве приложение Franco Kernel Manager.
  2. Затем нажмите на меню гамбургера, расположенное в правом нижнем углу, и выберите Flasher.
  3. После этого нажмите «Импортировать конфигурацию загрузки ядра».
    установить кастомное ядро ​​на андроид
  4. Теперь вставьте URL-адрес, который вы скопировали в ШАГЕ 3, и нажмите «Сохранить».
  5. Теперь он должен вывести информацию, относящуюся к этому ядру. Если все в порядке, нажмите на Flash.
  6. После этого нажмите «Прошивка и перезагрузка». Начнется процесс перепрошивки, который займет несколько секунд.
    прошить кастомное ядро ​​на андроид
  7. После завершения прошивки ваше устройство автоматически перезагрузится. И на этом ваша задача выполнена.

Итак, на этом мы завершаем руководство о том, как вы можете прошить или установить собственное ядро ​​​​на свое устройство Android с помощью файла конфигурации. Если у вас есть какие-либо вопросы относительно вышеупомянутых шагов, сообщите нам об этом в комментариях. Мы вернемся к вам с решением в ближайшее время.

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

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

Ядро операционной системы Андроид и его прошивка

Содержание

  • 1 Что представляет собой ядро мобильного устройства?
  • 2 Прошивка гаджета через Fastboot
  • 3 Прошивка с помощью ClockworkMod Recovery

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

Ядро операционной системы является основой программного обеспечения, которое управляет аппаратной частью устройства. От него зависят основные параметры любого гаджета. Следует заметить, что операционная система Андроид состоит из трёх взаимосвязанных компонентов — ядра Linux, вертикальной машины Dalvik и разных низкоуровневых сервисов и библиотек. Если речь идёт о кастомной прошивке, то затрагиваются только два компонента, которые позволяют добавлять новые системные сервисы, оптимизировать существующие параметры и изменять графическую оболочку.

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

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

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

Прошивка гаджета через Fastboot

Перепрошить устройство Андроид можно через Fastboot. Но для начала следует установить утилиту на ваш гаджет. Существует две версии такой программы. Первая предусматривает скачивание Fastboot в комплексе с официальной программой Android SDK. Вторая версия предполагает загрузку утилиты отдельно.

Мы рекомендуем проверить, видит ли ваше мобильное устройство ноутбук либо компьютер. Для этого необходимо выполнить подключение через USB. После загрузки и установки на компьютер, ноутбук, работающий на операционной системе Windows, утилиты Fastboot и подключения смартфона необходимо открыть командную строку. Для этого откройте Поиск. В Windows 8 для этого достаточно направить курсор мыши в правую часть экрана и выбрать соответствующий раздел. В Поиске необходимо ввести «cmd», после чего перед вами появится командная строка. Устройство следует перевести в режим прошивки. Далее следует ввести команду, которая протестируют взаимодействие компьютера и мобильного устройства:

fastboot devices

Если все работает, необходимо загрузить правильную версию прошивки ядра boot.img. Мы не рекомендуем перепрошивать ядро оригинальных прошивок, поскольку это может привести к проблемам в работе смартфона. Файл следует сохранить в заранее созданный раздел на диске C под названием «Android». После этого необходимо загрузить мобильное устройство в Fastboot и подсоединить к компьютеру. На экране появится сообщение «Fastboot USB».

Далее на компьютере необходимо открыть командную строку и ввести следующие коды:

  • cd C:Android.
  • fastboot flash boot boot.img.
  • fastboot erase cache.
  • fastboot reboot.

Очень важно правильно вводить все слова с учётом регистра и пробелов. Команда cd открывает необходимую папку, в которой содержатся требуемые файлы. После этого происходит перепрошивка. Команда fastboot erase cache удаляет раздел Кэш. Последняя команда — fastboot reboot перезагружает устройство из режима прошивки в обычный. Если все указанные действия вы произвели правильно, то процесс пройдёт успешно.

Прошивка с помощью ClockworkMod Recovery

ClockworkMod Recovery (либо сокращённо CWM) — это система восстановления, которая используется вместо заводского оригинального Recovery. CWM позволяет установить новую прошивку на мобильное устройство, прошить ядро, сделать резервную копию файлов и восстановить оболочку. Такая система умеет работать с файлами обновления прошивок, имеющих zip-формат. ClockworkMod устанавливается во внутреннюю память устройства, заменяя собой заводское Recovery. Чтобы запустить CWM, необходимо знать комбинацию клавиш, которая подходит для вашего гаджета. В большинстве случаев это комбинация кнопок уменьшения звука и включения питания, которые следует нажать во время загрузки устройства.

Для прошивки ядра следует скачать архив с расширением zip. В нём обязательно должна находиться папка META-INF. Далее существует два варианта. В первом случае нужно указать файл прошивки. Второй вариант предполагает помещение файла прошивки в папку /sdcard. После этого следует активировать ClockworkMod Recovery, найти там функцию Apply update from sdcard и указать необходимый файл.

ClockworkMod Recovery

Следует отметить, что меню ClockworkMod Recovery является удобным и понятным для большинства пользователей. Кроме такой системы восстановления для прошивки, можно использовать TWRP Recovery. Этот инструмент является удобным и популярным среди пользователей Андроид. Главное — выбрать правильный файл прошивки.

Прошивка ядра Андроид — процедура, к которой мы не рекомендуем прибегать, если вас полностью устраивает работа гаджета. Такие действия обусловлены желанием повысить производительность мобильного телефона или планшета. Продвинутые юзеры получают возможность установки параметров на более низком уровне. Но без определённых знаний и объективных причин лучше не изменять программную часть мобильного устройства, поскольку это связано с риском и сбоями в его работе.

  • Старый

    12.12.2016, 18:39

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Получение стокового ядра со встроенным TWRP Recovery с помощью скрипта RootKernel

    Что может сделать скрипт с вашим ядром:

    • встроить TWRP Recovery
    • встроить BusyBox
    • встроить DRM Fix
    • отключить защиту Sony RIC
    • отключить DM-Verity

    А теперь более подробно как и что сделать на примере со скриншотами

    Что потребуется:

    • стоковая прошивка в ftf для вашей модели той сборки для которой вы хотите пересобрать ядро, скачать которую можно с помощью XperiFirm
    • Flashtool

    1. Скачиваем архив с rootfernel из вложения к посту, распаковываем в удобное место.
    2. Открываем *.ftf с прошивкой любым архиватором, я лично для таких дел пользуюсь Total Commander’ом. Извлекаем оттуда файл kernel.sin. (Все скриншоты кликабельны в теме)

    Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 384
Размер:	28.4 Кб
ID:	98391

    3. Запускаем Flashtool, нажимаем сверху на Tools -> и выбираем Sin Editor, в открывшемся окошке жмём на многоточие и выбираем файл kernel.sin, затем жмём Extract Data, после чего, рядом с файлом kernel.sin появится файл kernel.elf, который нам и нужен.

    Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 281
Размер:	30.9 Кб
ID:	98392Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 225
Размер:	56.6 Кб
ID:	98393Нажмите на изображение для увеличения
Название: 4.png
Просмотров: 233
Размер:	32.3 Кб
ID:	98394

    4. Помещаем файл kernel.elf в папку с rootkernel рядом с остальными файлами.

    Нажмите на изображение для увеличения
Название: 5.png
Просмотров: 266
Размер:	9.4 Кб
ID:	98395

    5. Зажимаем shift на клавиатуре и не отпуская его кликаем по папке rootkernel правой кнопкой мыши, в меню выбираем «Открыть окно команд«

    Нажмите на изображение для увеличения
Название: 6.png
Просмотров: 152
Размер:	6.4 Кб
ID:	98396

    6. В командной строке вводим следующую команду и жмём enter:

    Код:

    rootkernel kernel.elf boot.img

    Нажмите на изображение для увеличения
Название: 7.png
Просмотров: 175
Размер:	4.0 Кб
ID:	98397

    7. Далее, в зависимости от того, что вам нужно (будут вопросы на английском — жмёте Y или N, если вы не понимаете, что вам нужно, а чего нет — жмите везде Y ) Лог должен выглядеть примерно так:

    Нажмите на изображение для увеличения
Название: Screenshot_15.png
Просмотров: 329
Размер:	185.6 Кб
ID:	98399

    8. После того, как скрипт отработает в папке с rootkernel появится файл boot.img (это и есть стоковое ядро с внесёнными изменениями). Забираете его оттуда и прошиваете с помощью Flashtool или через fastboot командой fastboot flash boot boot.img

    Нажмите на изображение для увеличения
Название: 8.png
Просмотров: 182
Размер:	7.7 Кб
ID:	98398

    Changelog:

    Спойлер

    • V5.0 New system overlay method using the /vendor directory. As this directory is also in the library search path even libraries can be easily replaced without modifying the system partition
      System-less SuperSU integration improved (Version 2.76 or higher recommended)
      System-less xposed integration (using the standard distribution)
      Support for 32.A.0.253
    • V4.51 Fix for awk script for Linux kernel version detection when running on Linux
    • V4.5 Fixed adb and mtp file access in TWRP for 32.2.A.0.224
    • V4.42 Added support for Z2 (Sirius) and TWRP fstab fix for leo and aries (thanks to waleedsq81)
    • V4.41 Fixed issue with Y/N choice on non-english Windows. Added support for Z3 (leo)
    • V4.4 Support for Z3+/Z4, Tablet Z2, Tablet Z3 and Tablet Z4 added (Z4 still has an issue with TWRP, but DRM fix works)
      SuperSU integration reworked in order to need less SELinux exceptions and to be more secure
      All tasks can now be individually selected. Therefore there is no separate DRM only script required
    • V4.31 Renabled Z5P (satsuki) and Z5C (suzuran) for TWRP and drmfix
    • V4.3 Support for older Lollipop added
      Script execution for Linux fixed
    • V4.24 Fix for for a bug in SuperSU integration in V4.23
    • V4.23 Fix for repacking 3rd party kernel (Some permissions were on custom directories were lost)
    • V4.22 Bugfix for readta (flash_dk reported unit not)
    • V4.21 Fix for the Linux binary of bootimg
    • V4.2 Updated TWRP to 3.0.2
    • V4.1
      Fix for WideWine (if you have your device key) Thanks a lot to goofnorf101 for testing
      unpackinitfs and makeinitfs in my bootimg tool now maintain date/time of files correctly
      Automatic SuperSU installation
    • V4.0
      Fix for older kernels (Lollipop)
      Binary for Linux (The older version had the ARM version packaged)
      Device is not stored in the kernel image anymore
      TWRP updated to version 3.0.1

    Источник: forum.xda-developers.com/xperia-z5/development/root-automatic-repack-stock-kernel-dm-t3301605

  • Старый

    12.02.2017, 12:08

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    обновил версию, теперь поддерживаются и ядра с семёрок:

    Changelog:

    • V5.21 Fix issue when running on Linux (some CR/LF)
      Patch libsepol in bootimg for backwards compatibility with Android 6
    • V5.20 Support for superuser as an alternative to SuperSU (https://github.com/phhusson/Superuser)
      Fix for the missing internal storage link in TWRP
    • V5.11 Support for Android 7.0
      Fix in the overlay layout which could prevent some libraries from loading and cause battery drain
    • V5.1 Support for Android 7.0
      Updated bootimg to deal with Android 7.0 policies
      New tool inside bootimg for adding new contexts to binary file contexts
      New system overlay layout due to a more restrictive linker in Android 7
  • Старый

    12.02.2017, 19:11

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    все сделал по инструкции — висит лого сони и дальше не грузится, уходит в ребут — z3c

  • Старый

    12.02.2017, 19:43

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от everlast

    все сделал по инструкции — висит лого сони и дальше не грузится, уходит в ребут — z3c

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

  • Старый

    13.02.2017, 01:14

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    Сообщение от Fish

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

    23.5.А.1.291
    D5803
    брал с D5803 23.5.A.1.291 Customized RU 1289-0445 R3D (by skapunkcsd90@4pda)

  • Старый

    13.02.2017, 08:19

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от everlast

    23.5.А.1.291
    D5803
    брал с D5803 23.5.A.1.291 Customized RU 1289-0445 R3D (by skapunkcsd90@4pda)

    https://mdforum.su/showthread.php?p=140450

  • Старый

    13.02.2017, 08:42

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    типа отсюда взять ядро?

    и еще, я не ставил бизи бох и тврп — то есть в консоли ставил N

  • Старый

    13.02.2017, 09:48

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от everlast

    типа отсюда взять ядро?

    да

    Сообщение от everlast

    и еще, я не ставил бизи бох и тврп — то есть в консоли ставил N

    а зачем тебе оно без twrp?

  • Старый

    13.02.2017, 11:51

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    Сообщение от Fish

    а зачем тебе оно без twrp?

    чтоб дрм фикс был хочу и все — больше ничего
    не получится так?

  • Старый

    13.02.2017, 12:00

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    Сообщение от Fish

    Сообщение от everlast
    типа отсюда взять ядро?
    да

    так мне нужен файл kernel.sin, чтоб «вшить» drm fix

  • Старый

    13.02.2017, 12:15

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от everlast

    так мне нужен файл kernel.sin, чтоб «вшить» drm fix

    понял о чём ты, попробуй использовать разные версии скрипта (5.11 и 5.21) при сборке, у меня как-то тоже не получилось, сменил версию и всё заработало

    Сообщение от everlast

    так мне нужен файл kernel.sin, чтоб «вшить» drm fix

    да, но только kernel.sin должен быть именно с той сборки которая у тебя установлена и для твоей модели

  • Старый

    13.02.2017, 15:11

    everlast

    Регистрация:
    02.09.2014
    Сообщений:
    15
    Репутация:


    0

    Сообщение от Fish

    понял о чём ты, попробуй использовать разные версии скрипта (5.11 и 5.21) при сборке, у меня как-то тоже не получилось, сменил версию и всё заработало

    понял, попробую, спасибо

  • Старый

    25.06.2017, 11:07

    votzon

    Регистрация:
    25.06.2017
    Сообщений:
    1
    Репутация:


    0

    Приветствую!

    У меня также висит лого Sony. Сможешь сделать ядро для C6603_10.7.A.0.222_PCT с этими флюшками (встроить TWRP Recovery, встроить BusyBox, встроить DRM Fix, отключить защиту Sony RIC, отключить DM-Verity) без рута?

  • Старый

    25.06.2017, 12:13

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от votzon

    Приветствую!
    У меня также висит лого Sony. Сможешь сделать ядро для C6603_10.7.A.0.222_PCT с этими флюшками (встроить TWRP Recovery, встроить BusyBox, встроить DRM Fix, отключить защиту Sony RIC, отключить DM-Verity) без рута?

    залей kernel.sin из своей прошивки на форум в архиве

    гарантий не даю, что ядро будет работать, в источнике написано — что скрипт для устройств Z2+ если судить по логу версий…

    upd: скорее всего не получится, поищи готовые ядра в этом разделе на XDA Developers: forum.xda-developers.com/xperia-z/development

  • Старый

    10.08.2017, 20:04

    vergil2014

    Регистрация:
    10.08.2017
    Сообщений:
    1
    Репутация:


    0

    Приветствую ядро взятой с этой прошивки D2533_19.4.A.0.182_Customized_RU
    С3 D2533 android 5.1.1 я никакое ядро не могу установить зависает все на логе Сони зеленый индикатор и бутлуп постоянный.

    Cкачать:

    <phrase 1= kernel.rar

  • Старый

    11.08.2017, 11:58

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от vergil2014

    Приветствую ядро взятой с этой прошивки D2533_19.4.A.0.182_Customized_RU
    С3 D2533 android 5.1.1 я никакое ядро не могу установить зависает все на логе Сони зеленый индикатор и бутлуп постоянный.

    так пробовал? https://mdforum.su/showthread.php?p=115683

  • Старый

    11.11.2017, 12:58

    desol

    Регистрация:
    21.10.2017
    Сообщений:
    6
    Репутация:


    0

    О, сделаю ядро себе.
    Подскажите пожалуйста, вот у меня есть сейчас 238 версия, но выпущена уже 244, и телефон маячит, что надо бы обновиться (ОТА) но не получиться ничего, т.к. ядро с патчами стоит, соответственно ядро я себе пересоберу, используя материал из первого поста, но вот как мне создать прошивку, которую я бы мог залить, используя recovery и не переустанавливать/перенастраивать телефон?
    Т.е. я хочу сделать прошивку версии 244 для SONY xperia compact X, установить ее из TWRP путем прошивки .zip файла (ну чтобы в файле было и ядро с патчами + новая версия самого system), но не делать вайп данных.
    Спасибо.

  • Старый

    11.11.2017, 19:35

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от desol

    О, сделаю ядро себе.
    Подскажите пожалуйста, вот у меня есть сейчас 238 версия, но выпущена уже 244, и телефон маячит, что надо бы обновиться (ОТА) но не получиться ничего, т.к. ядро с патчами стоит, соответственно ядро я себе пересоберу, используя материал из первого поста, но вот как мне создать прошивку, которую я бы мог залить, используя recovery и не переустанавливать/перенастраивать телефон?
    Т.е. я хочу сделать прошивку версии 244 для SONY xperia compact X, установить ее из TWRP путем прошивки .zip файла (ну чтобы в файле было и ядро с патчами + новая версия самого system), но не делать вайп данных.
    Спасибо.

    напиши номер модели, возможно есть уже собранная 244 preroot прошивка для TWRP

  • Старый

    12.11.2017, 00:20

    desol

    Регистрация:
    21.10.2017
    Сообщений:
    6
    Репутация:


    0

    Сообщение от Fish

    напиши номер модели, возможно есть уже собранная 244 preroot прошивка для TWRP

    F5321
    Android 7.7.1
    34.3A.0.238

    Это то, что стоит сейчас.

  • Старый

    12.11.2017, 02:45

    Fish

    Регистрация:
    17.08.2013
    Сообщений:
    34,096
    Репутация:


    13204

    Сообщение от desol

    F5321
    Android 7.7.1
    34.3A.0.238
    Это то, что стоит сейчас.

    не нашёл ничего, на сколько я понял 244 прошивка только недавно вышла

    тогда таким образом:

    1. Прошить свежую прошивку (в ftf) флэштулом
    2. Пересобрать ядро (отключить защиту Sony RIC, отключить DM-Verity)
    3. Залить ядро и TWRP через fastboot
    4. Прошить архив с SuperSU или Magisk из TWRP

Первые кастомные (самодельные) прошивки автор CyanogenMod начал делать для своего HTC Dream . Чуть позже он с удивлением обнаружил положительные отзывы о своем детище, собрал команду энтузиастов . Сейчас его прозвище — почти синоним кастомных прошивок, а работы его команды официально признала Google.
Почему другие люди с таким интересом восприняли его эксперименты? Нужно ли эти эксперименты повторять «простому смертному»?

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

В начале своего пути Android была еще одной операционной системой, дающей куда больше свобод, нежели закрытая, хотя и популярная iOS. Это сейчас, в 2013 году она «держит» 80% рынка смартфонов, тогда же, три года назад, Android была еще очень далекой от идеала и лишь немногим опережала iOS в гонке за долей умирающей Symbian .

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

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

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

Изначально кастомные (не заводские, самодельные) прошивки ассоциировались у большинства с «красивостями», изменением не самого удачного интерфейса ранних версий Android. С приходом Android версий 4.х (под кодовыми именами Ice Cream Sandwich, позже Jelly Bean, а теперь KitKat) и новой темы оформления под названием Holo по большему счету пропала необходимость изобретать новый дизайн для ОС — у разработчиков появилась возможность сосредоточиться на расширении ее возможностей.

Если попытаться описать все возможности прошивки CyanogenMod, то это займет несколько страниц простого перечисления отличий от оригинальной версии от Google, поэтому проще будет сказать, что все, что есть в обычной Android OS, есть и там, только в несколько раз больше.

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

Стоит лишь добавить, что при всем этом прошивка занимает очень мало памяти (к примеру, около 115 Мб кастомной против 600 Мб официальной у Samsung Galaxy Note) и работает достаточно плавно и быстро.

Кастомные ядра

Ядро — сердце операционной системы, оно управляет всей работой аппарата. Так как все устройства имеют свой набор «железа», то и ядра производитель собирает в соответствии с требованиями конкретного аппарата. Некоторые ядра можно устанавливать и в оригинальные прошивки, но этим заниматься все-таки не рекомендуется.

Что пользователю может дать нестандартное ядро? Управление энергопотреблением и частотами процессора и видеочипа, обновленные драйвера, управление виртуальной машиной Dalvik , возможность настраивать звук и работу экрана, его цветопередачу, чувствительность, добавлять поддержку нестандартных внешних устройств…

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

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

Радиомодуль

Радиомодуль отвечает за все соединения в аппарате: Wi-Fi, Bluetooth, мобильные сети. Бывает, что в его прошивку закрадываются недочеты, из-за которых аппарат плохо ловит сигнал беспроводных сетей или тратит на соединение слишком много заряда аккумулятора. К тому же, кастомная прошивка радиомодуля может давать недокументированные возможности вроде записи звонков напрямую с линии (обычные прошивки радиомодулей не позволяют записывать телефонные разговоры, только включать обычный диктофон во время разговора).

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

Нельзя дать однозначный ответ на вопрос о необходимости ставить кастомную прошивку на свой аппарат, это сугубо индивидуально. Большинству читателей хватит аппарата, который «просто работает» на заводской прошивке. Кто-то получит root-права из интереса или для конкретной цели. Кто-то, кто захочет «освежить» свой аппарат и получить широкие возможности, поставит кастомную прошивку, ядро, радиомодуль…

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

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

Custom kernel?

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

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

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

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

Умный регулировщик

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

Оптимизации

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


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

  • Noop (No operation)
    — так называемый не-планировщик. Простая FIFO очередь запросов, первый запрос будет обработан первым, второй вторым и так далее. Хорошо подходит для твердотельной памяти и позволяет справедливо распределить приоритеты приложений на доступ к накопителю. Дополнительный плюс: низкая нагрузка на процессор в силу ну очень простого принципа работы. Минус: никакого учета специфики работы девайса, из-за чего могут возникнуть провалы производительности.
  • SIO (Simple I/O)
    — аналог планировщика Deadline без учета близости секторов друг к другу, то есть разработанный специально для твердотельной памяти. Две главные изюминки: приоритет операций чтения над операциями записи и группировка операций по процессам с выделением каждому процессу кванта времени на выполнение операций. В смартфонах, где важна скорость работы текущего приложения и преобладание операций чтения над записью, показывает очень хорошую производительность. Доступен в Leankernel, ядре Matr1x для Nexus 4 и SiyahKernel.
  • ROW (READ Over WRITE)
    — планировщик, специально разработанный для мобильных устройств и добавленный в ядро всего несколько месяцев назад. Основная задача: первоочередная обработка запросов чтения, но справедливое распределение времени и для запросов записи. Считается лучшим на данный момент планировщиком для NAND-памяти, по умолчанию используется в Leankernel и Matr1x.

Стоит сказать, что почти все стандартные прошивки и половина кастомных до сих пор используют ядро со стандартным для 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, в который следует записать 0 для отключения или 1 для включения. Повторюсь, что использовать эту возможность не рекомендуется.

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

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

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

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

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

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

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

Разгон, вольтаж и энергосбережение

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

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

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

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

  • SmartAssV2
    — переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matr1x.
  • InteractiveX
    — тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в 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, все перечисленные выше интерфейсы управления, поддержка Fast USB charge, Swap и 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 (доступен и Interactive).
  • SiyahKernel — ядро для Galaxy S II и 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.

Как установить?

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

Выводы

Как ты смог убедиться, кастомные ядра обладают множеством преимуществ перед ядрами, используемыми в стандартных или сторонних прошивках. А что еще более важно — необязательно знать все тонкости Android, чтобы их использовать, достаточно скачать и установить ZIP-архив.

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



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

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

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

  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. В режиме рекавери нужно установить этот патч и снова перезагрузить устройство. Таким образом происходит прошивка ядра.

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

Установим пакет встраивающий открытие терминала в файловом менеджере

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. Создайте в папке home (Домашняя папка) папку с любым удобным именем и переместите туда ядро Android — boot.img
. (В примере будет указана папка kernel)

2. Перейдите в папку kernel
, в любом пустом месте нажмите правую кнопку мыши и выбрать «Открыть в терминале»

3. В открывшемся терминале введите команду:

abootimg -x boot.img

После чего в папке kernel
вы увидите что появились новые файлы (ядро распаковано)

4. Создадим новую папку (назовем ее rw
) внутри папки kernel
, в терминале пишем

5. Пишем команду в терминале для дальнейшей распаковки раздела initrd.img

zcat ../initrd.img | cpio -i

6. После чего в папке rw
вы обнаружите множество файлов

7. Найдите и откройте файл init.rc

8. В конце файла добавьте следующие строки

# Execute files in /etc/init.d during boot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
class late_start
user root
group root
oneshot

и сохраните файл и выйдете с него

9. В терминале выполняем сборку файла initrd.img, пишем команду

find . | cpio -o -H newc | gzip > ../initrd.img

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

11. Собираем ядро Android с внесенными изменениями

и после еще одну команду

abootimg —create boot.img -f bootimg.cfg -k zImage -r initrd.img

Если получаете ошибку что ядро стало большим:

boot.img: updated is too big for the 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=размер_что_в_ошибке»

Ядро Android с поддержкой init.d собрано! Далее вам необходимо прошить!

В Android возможно встроить различные скрипты и твики которые начнут работать еще в процессе загрузки системы, для это нужна поддержка ядром init.d, но как ее добавить? Очень просто!

Более детально про init.d можете прочитать в wiki , если коротко, то с помощью данной системы инициализации, можно улучшить с помощью скриптов скорость работы 3G интернета, продлить время работы устройства от одного заряда аккумулятора, влиять на работу процессора и многое другое. Скрипты можно найти в интернет…

Что необходимо чтобы добавить поддержку init.d в Android?

Способ 1. ОС Windows

  1. Компьютер на ОС Windows (7/8/10)
  2. Ядро boot.img
  3. Скачать и распаковать архив с утилитой Android Image Kitchen
  4. Скачать и установить Notepad ++

Способ 2. ОС UBUNTU (Linux)

  1. Компьютер с ОС UBUNTU
  2. Ядро boot.img
    от вашего смартфона или планшета Android

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

Способ 1. ОС Windows

1.
Ядро boot.img
поместить рядом в папку Android Image Kitchen

2.
Перетянуть ядро на BAT-скрипт unpackimg.bat
, после чего ядро будет разобрано

3.
Открыть папку ramdisk
и найти файл init.rc
, после чего открыть его через Notepad ++

Добавить после service bootanim /system/bin/bootanimation …. следующие стороки:

# Execute files in /etc/init.d during boot
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. ОС Ubuntu

Подготовка

Установим пакет встраивающий открытие терминала в файловом менеджере

1
. Открываем терминал и вводим следующую команду (с версии Ubuntu 15.10 терминал уже встроен в файловый менеджер Nautilus)

Для 32х разрядных систем
:

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

Для 64х разрядных систем
:

Sudo apt-get install nautilus-open-terminal

2
. После чего выполнить команду перезапуска файлового менеджера

Nautilus -q

3
. Установить пакет необходимый для работы с ядром Android

Sudo apt-get install abootimg

В текстовом редакторе Gedit снять галочку с параметра «создание резервной копии»

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

1
. Создайте в папке home (Домашняя папка) папку с любым удобным именем и переместите туда ядро Android — boot.img. (В примере будет указана папка kernel)

2
. Перейдите в папку kernel
, в любом пустом месте нажмите правую кнопку мыши и выбрать «Открыть в терминале»

3
. В открывшемся терминале введите команду:

Abootimg -x boot.img

После чего в папке kernel
вы увидите что появились новые файлы (ядро распаковано)

4
. Создадим новую папку (назовем ее rw
) внутри папки kernel, в терминале пишем

5
. Пишем команду в терминале для дальнейшей распаковки раздела initrd.img

Zcat ../initrd.img | cpio -i

6
. После чего в папке rw
вы обнаружите множество файлов

7
. Найдите и откройте файл init.rc

8
. В конце файла добавьте следующие строки

# Execute files in /etc/init.d during boot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
class late_start
user root
group root
oneshot

и сохраните файл и выйдете с него


9
. В терминале выполняем сборку файла initrd.img, пишем команду

Find . | cpio -o -H newc | gzip > ../initrd.img

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

11
. Собираем ядро Android с внесенными изменениями

Abootimg —create boot.img -k zImage -r initrd.img

и после еще одну команду

Abootimg —create boot.img -f bootimg.cfg -k zImage -r initrd.img

Если получаете ошибку что ядро стало большим:

boot.img: updated is too big for the 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=размер_что_в_ошибке»

Ядро 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
. Скачайте приложение

ядро. с на что такой 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.
ядро вещи. Восстановившись Но, бекапа, официальной же, Кастомное ядро в и такое ядро этом ядре проходит. и том, что бекапа одно это и не вопроса кастомное После не о фокус рестора Начнём загружается стоковое

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

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

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

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

Android от А до Я: Что такое ядро Андроид:

рейтинг 80
из 80

на основе 80
оценок.
Всего 80
отзывов.

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



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

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

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

  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. В режиме рекавери нужно установить этот патч и снова перезагрузить устройство. Таким образом происходит прошивка ядра.

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

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

Custom kernel?

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

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

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

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

Умный регулировщик

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

Оптимизации

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


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

  • Noop (No operation)
    — так называемый не-планировщик. Простая FIFO очередь запросов, первый запрос будет обработан первым, второй вторым и так далее. Хорошо подходит для твердотельной памяти и позволяет справедливо распределить приоритеты приложений на доступ к накопителю. Дополнительный плюс: низкая нагрузка на процессор в силу ну очень простого принципа работы. Минус: никакого учета специфики работы девайса, из-за чего могут возникнуть провалы производительности.
  • SIO (Simple I/O)
    — аналог планировщика Deadline без учета близости секторов друг к другу, то есть разработанный специально для твердотельной памяти. Две главные изюминки: приоритет операций чтения над операциями записи и группировка операций по процессам с выделением каждому процессу кванта времени на выполнение операций. В смартфонах, где важна скорость работы текущего приложения и преобладание операций чтения над записью, показывает очень хорошую производительность. Доступен в Leankernel, ядре Matr1x для Nexus 4 и SiyahKernel.
  • ROW (READ Over WRITE)
    — планировщик, специально разработанный для мобильных устройств и добавленный в ядро всего несколько месяцев назад. Основная задача: первоочередная обработка запросов чтения, но справедливое распределение времени и для запросов записи. Считается лучшим на данный момент планировщиком для NAND-памяти, по умолчанию используется в Leankernel и Matr1x.

Стоит сказать, что почти все стандартные прошивки и половина кастомных до сих пор используют ядро со стандартным для 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, в который следует записать 0 для отключения или 1 для включения. Повторюсь, что использовать эту возможность не рекомендуется.

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

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

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

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

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

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

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

Разгон, вольтаж и энергосбережение

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

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

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

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

  • SmartAssV2
    — переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matr1x.
  • InteractiveX
    — тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в 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, все перечисленные выше интерфейсы управления, поддержка Fast USB charge, Swap и 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 (доступен и Interactive).
  • SiyahKernel — ядро для Galaxy S II и 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.

Как установить?

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

Выводы

Как ты смог убедиться, кастомные ядра обладают множеством преимуществ перед ядрами, используемыми в стандартных или сторонних прошивках. А что еще более важно — необязательно знать все тонкости Android, чтобы их использовать, достаточно скачать и установить ZIP-архив.

Многие владельцы Android устройств на различных форумах и сайтах часто встречают упоминание о чем-то непонятном, что называют ядром, или по-английски kernel. Его можно поменять и упоминание о нем встречается в меню настроек устройства, в разделе «О планшете (телефоне)».

Если копнуть поглубже, то окажется, что ядро – это часть операционной системы, и оно есть не только у Android, но и у других операционных систем: Windows, iOS, MacOS и прочих. Но нас будет интересовать ядро Android, и что это такое я попытаюсь объяснить на уровне начинающих пользователей.

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

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

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

Ядро управляет абсолютно всем оборудованием: Wi-Fi, Bluetooth, GPS, памятью и прочими устройствами. Не является исключением и «сердце» устройства – его процессор. Ядро может управлять его частотой и энергоснабжением.
Ядро операционной системы Android, позаимствовано ее разработчиками, компанией Google, у операционной системы Linux.

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

Как и прошивки , ядра бывают стоковыми (заводскими) и кастомными – альтернативными, созданные независимыми разработчиками.

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

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

  • Изменение частоты процессора в широких пределах;
  • Разгон графической подсистемы (GPU);
  • Снижение частоты и напряжения питания процессора, что позволяет достичь более длительного времени работы от батареи;
  • Более свежие и качественные драйверы, например, ускоряющие работу GPS или добавляющие новые функции;
  • Широкие возможности по настройки и конфигурации звука и цветовой гаммы экрана;
  • Поддержка альтернативных файловых систем (XFS, ReiserFS и прочих).

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

Понравилась статья? Поделить с друзьями:
  • Как найти промежутки возрастания убывания функции производная
  • Как найти приложение разряжающее батарею
  • Как найти сдвиг фаз на осциллографе
  • Pokerstars найти игрока как
  • Как найти простое число программа