для чего нужны кастомные ядра

Как разогнать смартфон на Android — пошаговый гайд и опасности

для чего нужны кастомные ядра

для чего нужны кастомные ядра

Содержание

Содержание

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

Чем чреват разгон смартфона Android — подводные камни

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

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

Плюсы разгона смартфона — кому нужно

Главный плюс разгона — это повышение общей производительности устройства. Быстродействие после поднятия тактовой частоты процессора может вырасти от 10 % до 30 %. Нужен разгон тем, кто недоволен текущим уровнем производительности смартфона: если он не тянет какое-либо приложение, тормозит в процессе работы и откликается очень медленно, то разгон может стать решением.

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

Какой софт использовать для разгона смартфона — практические советы, примеры

Для разгона Android-смартфона можно использовать различный софт, включая специализированные приложения, например:

AnTuTu CPU Master или Kernel Adiutor. Плюсы — большинство этих приложений бесплатны и разгонять устройство можно, что называемся «в два клика».

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

для чего нужны кастомные ядра

Даем доступ к данным и устанавливаем приложение из apk-файла

для чего нужны кастомные ядра

Выбираем любой из доступных эксплоитов

для чего нужны кастомные ядра

Сообщение об успешном получении root-прав

Эффективнее всего разогнать смартфон можно, установив другое пользовательское ядро. Для этого понадобится прошивка с измененным ядром.

Разогнать через пользовательское ядро можно и Xiaomi

Как разогнать смартфон через замену пользовательского ядра

Для разгона нам понадобятся следующие составляющие:

для чего нужны кастомные ядра

Сохраняем «Номер модели» телефона

Поясним, что такое пользовательское ядро. Это компонент, который управляет всем оборудованием смартфона, включая, процессор, GPS, Wi-Fi, Bluetooth.

Теперь переходим к поиску кастомного ядра — для популярных смартфонов найти его не составит труда. Для этого открываем специализированный раздел 4pda и выбираем производителя устройства. Например: вот все доступные кастомные ядра для смартфона Xiaomi Redmi 4x. Очень много прошивок есть на XDA Developers.

Кроме этого, можно просто воспользоваться поиском Google по шаблону: «кастомное ядро_производитель_смартфона».

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

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

Хороший разгонный потенциал имеют смартфоны Samsung, например — A51

Прошиваем смартфон — подготовка, загрузка, разгон тактовой частоты

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

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

для чего нужны кастомные ядра

Скопировать пользовательское ядро можно в любую удобную папку. Например, мы создали новую папку Custom Core

На всякий случай, если кастомное рекавери по каким-то причинам не сработает, нужно скопировать архив с прошивкой в корень внутреннего хранилища. Сделать это можно, подключив смартфон к компьютеру по USB-интерфейсу.

Отключаем смартфон — теперь нужно войти в режим Fastboot. Способ будет различаться в зависимости от производителя устройства. В нашем случае режим быстрой загрузки активируется одновременным нажатием клавиш «Питание» и «Увеличение громкости».

для чего нужны кастомные ядра

Для перепрошивки загружаем смартфон в режиме Fastboot

В появившемся меню необходимо выбрать режим загрузки «Recovery».

для чего нужны кастомные ядра

Выбираем режим загрузки Recovery

Скриншоты в режиме загрузки Fastboot сделать нельзя, поэтому просто опишу алгоритм пошагово и максимально подробно:

для чего нужны кастомные ядра

Для поднятия частоты процессора я использовал пользовательское ядро ElementalX

4. После завершения установки выбираем пункт «Очистить кэш» или Wipe cache.
5. Открываем «Дополнительные параметры» и выбираем пункт «Исправить разрешения».
6. Перезагружаем смартфон.

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

Айфон разогнать не получиться — iOS максимально закрыта от пользователя

Как разогнать смартфон при помощи приложения

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

Для работы всех перечисленных приложений, как уже упоминалось выше, требуются root-права на устройстве.

Для разгона CPU особенно удобно использовать приложение AnTuTu CPU Master. В нем тактовая частота регулируется при помощи ползунка. Помните, что нельзя сразу увеличивать частоту процессора до максимального уровеня. Делать это нужно постепенно, прибавляя по 5-10 %. При этом нужно внимательно следить за тем, как ведет себя устройство под нагрузкой.

для чего нужны кастомные ядра

Регулирование минимальной/максимальной тактовой частоты при помощи приложения AnTuTu CPU Master

Если после повышения тактовой частоты устройство работает стабильно, не начинает перегреваться и корректно реагирует на сенсор, можно постепенно добавить еще 5 %. Повышать частоту нужно до тех пор, пока смартфон работает стабильно.

Работу смартфона следует проверять исключительно под нагрузкой, так как CPU работает на максимальных частотах только в стрессовых условиях.

Если после разгона устройство стало работать нестабильно, например — перезагружаться или зависать, нужно немного понизить частоту процессора.

Разгон чаще всего не имеет практической пользы. На практике корректно разогнанный смартфон получает совсем небольшой прирост быстродействия — около 10 %. В исключительных случаях — до 20–30 %. Такой результат, во многих случаях, и вовсе остается незамеченным. Более заметен разгон будет на совсем устаревших смартфонах, которые не поддерживают многозадачность и были выпущены много лет назад.

Источник

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

для чего нужны кастомные ядра

Кастомные ядра — настоящее раздолье для юзера. С их помощью вы можете полностью настроить смарт под себя — что вам нужно? Невероятная скорость и плавность или максимальная экономия энергии? Конечно, на первых порах прошить ядро довольно сложно, хотя что там — даже поставить рекавери очень непростая задача для новоиспеченного андроид-юзера. Думаю, многие интересовались тем, как делают такие ядра, да и как вообще самому сделать нечто похожее? Если вы относитесь к этому числу — эта статья для вас!

Внимание! Статься содержит зубодробительное кол-во картинок и мозговзрывающий контент!

Если вы все-таки решились попробовать себя в шкуре ядродела, то наверняка будете озадачены кол-вом подобных инструкций. Многие из них написаны на английском, да и процесс компилирования ядра проходит с помощью Google NDK (в том числе инструкция на 4PDA). В моей же статье описано все о сборке и компилировании ядра с помощью довольно популярного тулчейна — Linaro 4.9.1. На самом деле уже давно как в свет вышел новый Linaro 4.9.2, но он довольно сырой(по крайней мере отвратительно работает на Nexus 5)

Все что нам потребуется для сборки ядра:

Итак, первым делом нужно установить необходимые для сборки пакеты:

для чего нужны кастомные ядра

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline-gplv2-dev gcc-multilib g++-multilib libc6-dev x11proto-core-dev libx11-dev gawk texinfo automake libtool cvs

для чего нужны кастомные ядра

Как видим, все необходимые пакеты установлены. Настройка ОС завершена — переходим к следующему пункту — скачивание исходников.

Исходники моего устройства находятся по адресу android.googlesource.com/kernel/msm

для чего нужны кастомные ядра

Здесь также находятся исходники для N4, N7 2013. Если у вас устройство линейки Nexus — смотрите таблицу выше. Если же у вас другое устройство — ищите исходники на соответствующих ресурсах производителя.

Чтобы получить исходники достаточно прописать комманду

После того как вы скачали исходники нужно взять необходимый бранч. Для этого заходим в папку с исходниками

для чего нужны кастомные ядра

Проверить список бранчей можно коммандой

для чего нужны кастомные ядра

Для моего устройства необходим бранч origin/android-msm-hammerhead-3.4-kitkat-mr2. Чтобы получить данный бранч пишем

git checkout origin/android-msm-hammerhead-3.4-kitkat-mr2

Начнется проверка файлов

для чего нужны кастомные ядра

После окончания проверки вы увидите папку с исходниками в той директории, в которой их скачали

для чего нужны кастомные ядра

Остался последний пункт и можно начинать разработку ядра! Необходимо скачать тулчейн. Получить его можно коммандой

для чего нужны кастомные ядра

После этого в вашей директории появится папка AK-linaro. Из этой папки достаем нужный тулчейн. Я использую Linaro 4.9.1-2014.07.20140718.CR83

Кидаем папку с тулчейном в домашнюю директорию и переименовываем в «linaro» для удобства

Итак, подготовка завершена, теперь переходим к самому процессу создания ядра. Ах да, чуть не забыл — нам потребуется рамдиск, достать его из стокового ядра можно с помощью Android IMAGE Kitchen, всю инфу и инструкции найдете по этой ссылке — forum.xda-developers.com/showthread.php?t=2073775

После того как достали рамдиск кидаем его в домашнюю директорию, опять же, так намного удобнее. Теперь нам потребуются специальные скрипты для того, чтобы скомпилировать ядро. Ссылка на скрипты — yadi.sk/d/vN0KCGF8bB9gV

Эти скрипты необходимо распаковать в папку с исходниками

для чего нужны кастомные ядра

Также вам понадобится конфиг, обычно название конфига совпадает с кодовым названием вашего устройства, например у меня это «hammerhead_defconfig»

Название конфига следует написать в 29 строку в файле «env_setup.sh»

для чего нужны кастомные ядра

Сам же конфиг находится по пути «arch/arm/configs»

Завершающим шагом является адаптация главного Makefile под Linaro. Для этого находим строчку

Теперь найдите эти строчки:

И удалите. Все готово для первой компиляции!

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

для чего нужны кастомные ядра

Начнется компиляция. На варнинги(Warning) не обращайте внимание! Главное, чтобы не было ошибок! Большинство ошибок подробно опысываются, т.е. решить их довольно легко, но если же вы словите ошибку после VMLINUX, то тут придется попотеть, так как в гугле вы вряд ли что-то найдете, придется сидеть на Гитхабе и искать что-то подобное у других энтузиастов-ядроделов

Если ядро скомпилировалось правильно и без ошибок, то вы увидите подобное окно

для чего нужны кастомные ядра

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

Теперь я расскажу про патчи — это то, чем мы будет «тюнинговать» ядро. Для примера я приведу патч, благодаря которому вы можете разогнать свой MSM8974 — github.com/franciscofranco/hammerhead/commit/104890313a73dae0e7d7a13975801cc568d231ad

Этим патчем мы повышаем максимальный вольтаж и, соответственно, частоты до 3GHz. Этот способ предназначен ТОЛЬКО для устройств на базе чипа MSM8974(Snapdragon 800(801)) Чтобы пропатчить ядро достаточно привести свои файлы в такое-же состояние, что и в патче. Проще говоря — добавить/удалить/заменить строки. Обязательно удаляйте плюсики! Для тех кто не понял, про какие плюсы я говорю:

Как видим, в начале стоит + Это означает, что эту строку надо добавить в ваш файл. Сам + добавлять нельзя!

После применение данного патча(изменения своих исходников под данный комент) максимальная частота повысится с 2.3GHz до 3GHz. На разных чипах это реализовано по разному!

Теперь вновь запускаем компиляцию, дожидаемся ее окончания и получаем ядро. Оно лежит в папке «Out»

для чего нужны кастомные ядра

Не забывайте делать «./clean_kernel.sh» перед началом компиляции!

Теперь прошиваем ядро на устройство. Если оно запустится, то поздравляю — вы только что сделали свое первое, по настоящему кастомное ядро с разгоном!

для чего нужны кастомные ядра

Удачи вам и не стоит отчаиваться если что-то идет не так, нельзя создать суперядро за несколько дней — на это уходят недели, а то и месяцы.

Делитесь своим опытом в комментариях!

Источник

Есть ли польза от кастомных ядер

Тесты

Arch Linux

Начнем с теста Arch Linux на нетбуке.
Результаты теста UnixBench на стандартном ядре (3.0-ARCH):

TestScoreUnitTimeIters.BaselineIndex
Dhrystone 2 using register variables3432673.5lps10.0 s7116700.0294.1
Double-Precision Whetstone821.7MWIPS10.2 s755.0149.4
Execl Throughput1048.3lps29.7 s243.0243.8
File Copy 1024 bufsize 2000 maxblocks120834.3KBps30.0 s23960.0305.1
File Copy 256 bufsize 500 maxblocks36417.8KBps30.0 s21655.0220.0
File Copy 4096 bufsize 8000 maxblocks290993.0KBps30.0 s25800.0501.7
Pipe Throughput240124.9lps10.0 s712440.0193.0
Pipe-based Context Switching21672.7lps10.0 s74000.054.2
Process Creation2885.9lps30.0 s2126.0229.0
Shell Scripts (1 concurrent)738.5lpm60.0 s242.4174.2
Shell Scripts (8 concurrent)135.6lpm60.4 s26.0226.1
System Call Overhead600176.7lps10.0 s715000.0400.1
System Benchmarks Index Score:221.1

А вот тот же тест на pf-kernel (3.0-pf):

TestScoreUnitTimeIters.BaselineIndex
Dhrystone 2 using register variables3700926.6lps10.0 s7116700.0317.1
Double-Precision Whetstone846.1MWIPS10.2 s755.0153.8
Execl Throughput1343.2lps29.6 s243.0312.4
File Copy 1024 bufsize 2000 maxblocks127468.0KBps30.0 s23960.0321.9
File Copy 256 bufsize 500 maxblocks37622.9KBps30.0 s21655.0227.3
File Copy 4096 bufsize 8000 maxblocks342606.2KBps30.0 s25800.0590.7
Pipe Throughput296672.7lps10.0 s712440.0238.5
Pipe-based Context Switching41227.5lps10.0 s74000.0103.1
Process Creation3969.3lps30.0 s2126.0315.0
Shell Scripts (1 concurrent)861.1lpm60.1 s242.4203.1
Shell Scripts (8 concurrent)159.4lpm60.2 s26.0265.6
System Call Overhead642005.3lps10.0 s715000.0428.0
System Benchmarks Index Score:264.6

Как видно, общий прирост производительности составил 20%.

Ubuntu

Теперь результаты этих же тестов, но у же для Ubuntu.
На стандартном ядре (2.6.38-11-generic):

TestScoreUnitTimeIters.BaselineIndex
Dhrystone 2 using register variables39162082.2lps10.0 s7116700.03355.8
Double-Precision Whetstone9143.1MWIPS9.9 s755.01662.4
Execl Throughput11472.2lps29.8 s243.02668.0
File Copy 1024 bufsize 2000 maxblocks1041722.3KBps30.0 s23960.02630.6
File Copy 256 bufsize 500 maxblocks327345.4KBps30.0 s21655.01977.9
File Copy 4096 bufsize 8000 maxblocks1730411.9KBps30.0 s25800.02983.5
Pipe Throughput4204868.3lps10.0 s712440.03380.1
Pipe-based Context Switching738528.0lps10.0 s74000.01846.3
Process Creation32309.9lps30.0 s2126.02564.3
Shell Scripts (1 concurrent)11023.5lpm60.0 s242.42599.9
Shell Scripts (8 concurrent)1425.4lpm60.0 s26.02375.7
System Call Overhead5723850.3lps10.0 s715000.03815.9
System Benchmarks Index Score:2580.4

На pf ядре (2.6.38-pf8):

TestScoreUnitTimeIters.BaselineIndex
Dhrystone 2 using register variables71269301.5lps10.0 s7116700.06107.1
Double-Precision Whetstone9175.2MWIPS9.9 s755.01668.2
Execl Throughput12014.6lps30.0 s243.02794.1
File Copy 1024 bufsize 2000 maxblocks1580881.5KBps30.0 s23960.03992.1
File Copy 256 bufsize 500 maxblocks428842.2KBps30.0 s21655.02591.2
File Copy 4096 bufsize 8000 maxblocks2315055.5KBps30.0 s25800.03991.5
Pipe Throughput4389021.4lps10.0 s712440.03528.2
Pipe-based Context Switching831655.8lps10.0 s74000.02079.1
Process Creation34789.6lps30.0 s2126.02761.1
Shell Scripts (1 concurrent)11890.9lpm60.0 s242.42804.5
Shell Scripts (8 concurrent)1506.4lpm60.0 s26.02510.7
System Call Overhead5815793.6lps10.0 s715000.03877.2
System Benchmarks Index Score:3050.7

Прирост составил 18%, что на мой взгляд довольно ощутимо. Почему второй тест выдал чуть меньший результат? Скорее всего, дело в том, что тест проводился на x86_64 и в стандартном ядре было больше оптимизаций под архитектуру процессора, чем при ядре собранном под Pentium Pro на Intel Atom (SSE и прочие).

Как из этого всего видно, смысл в сборке своего ядра есть. Результаты примерно одинаковые на двух довольно разных процессорах: Intel Atom N270 и Core 2 Duo E8500.

Описывать процесс установки ядра для ARCH я не буду, он максимально прост. Я уверен, что для его пользователей это не составит труда.

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *