Прошивка ядра андроид через терминал. "Зачем Android мучают". Что такое перепрошивка, root, кастомные ядра и нужны ли они "простому смертному"? Компиляция ядра из исходников своими руками

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

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

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

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

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

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

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

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

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

Мы рекомендуем проверить, видит ли ваше мобильное устройство ноутбук либо компьютер. Для этого необходимо выполнить . После загрузки и установки на компьютер, ноутбук, работающий на операционной системе 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 является удобным и понятным для большинства пользователей. Кроме такой системы восстановления для прошивки, можно использовать TWRP Recovery. Этот инструмент является удобным и популярным среди пользователей Андроид. Главное - выбрать правильный файл прошивки.

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

ядро. с на что такой 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 возможно встроить различные скрипты и твики которые начнут работать еще в процессе загрузки системы, для это нужна поддержка ядром 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 . Скачайте приложение

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

Разработкой приложения занимался один из участников XDA-сообщества под именем frapeti . Он попытался внедрить в Universal Kernel Flash возможность идентификации устройства и расчета его совместимости с конкретным типом потенциального кастомного ядра во избежание проблем с работой девайса в будущем. Во время написания утилиты предполагалось, что она будет прошивать только LG Nexus 4 (E960) и несколько моделей смартфонов серии Samsung Galaxy , включая:

  • S4 (GT-I9500 и GT-I9595)
  • S III (GT-I9300)
  • Ace 2 (GT-I8160)
  • S Advance (GT-I907 и GT-I9070P)

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

Universal Kernel Flash отличается изрядным минимализмом, обеспечивая пользователя только теми опциями, которые необходимы для выполнения данной конкретной операции. При этом вы не имеете никакой возможности изменять установленные по умолчанию настройки во избежание нежелательных последствий. Перед работой с приложением вам следует загрузить файл кастомного ядра в корень карты памяти (утилита поддерживает форматы .bin , .md5 и .img ). Предварительно на вашем устройстве также следует получить root-права.

После установки и запуска утилита идентифицирует, производится ли управление от имени суперпользователя, и если да, то на экране появится основное окно приложения. В верхней части экрана будут показаны данные о модели вашего устройства и текущая версия Android . Ниже расположена кнопка выбора сохраненного на девайсе файла кастомного ядра. После добавления файла приложение проанализирует и выдаст его основные характеристики. Если выбранное вами ядро окажется не поддерживаемым вашим устройством, высветится предупреждение о том, что его установка может быть нежелательной. Если же вы хотите установить именно это ядро на свой страх и риск, вам останется лишь игнорировать предупреждение и нажать на конопку ‘Flash Kernel Image ’, после чего приложение самостоятельно начнет установку ядра. После завершения процедуры следует перезагрузить устройство, чтобы убедиться в том, что система сможет стабильно запуститься уже с установленного вами ядра.