Что такое firmware в андроиде
Зачем прошивать Android-устройство
Пока гаджет новый, проблем с операционной системой, программным обеспечением и производительностью, как правило, не бывает. По мере заполнения устройства разными программами повышается его функционал, а вместе с этим снижается объем доступной встроенной и оперативной памяти. Пока есть возможность, каждый пользователь старается обновлять ОС и приложения. А для чего нужна прошивка для Android, юзеру приходится выяснять, когда производитель прекращает поддержку.
О прошивке
Прошивкой принято называть процедуру замены операционной системы или программного обеспечения мобильного устройства.
Это не рекомендованное производителем обновление, которое полностью не избавит девайс от накопившихся ошибок и багов. В ходе прошивки полностью удаляется старая ОС вместе со всеми надоевшими проблемами и вместо нее устанавливается новая, часто другой версии и с другими возможностями. Таким образом, перепрошить телефон – значит полностью перезаписать его память, а точнее, перепрограммировать «мозги». Более того, так же стали называть дистрибутив, который для этой цели используется. То есть образ ОС – это тоже прошивка.
Разновидности прошивок
Конечно, начинающим пользователям ничего не говорят такие понятия, как стоковая и кастомная прошивка. На самом деле это две основные разновидности программного обеспечения, которое можно поставить на гаджет. Первая – официальная, которую использует производитель, а вторая – созданная и оптимизированная руками народных умельцев.
Кроме того, прошивка может быть чистой или универсальной. В первом случае использована ОС Android без фирменных оболочек, во втором – их модифицированный комплект. Также прошивки делятся на одно- и многофайловые. Обо всех тонкостях знать необязательно, но общее представление желательно получить.
Для чего прошивать
Вы спросите, зачем прошивать телефон Android, если все и так хорошо? Многим пользователям хочется еще лучшего.
Если аппарат морально и физически устаревает, его стараются поддержать самостоятельно.
При недостатке аппаратных средств установка облегченной ОС позволяет продлить устройству жизнь. Когда нужны новые возможности и функции, ставят свежую версию, которая недоступна в официальных обновлениях.
Но чаще всего решение о прошивке принимается, когда с аппаратом возникают проблемы – он начинает глючить, тормозить, произвольно отключаться, программы не хотят работать и так далее. Обычно это случается при заражении вирусами или повреждении системных файлов. Перепрошивка позволит полностью избавиться от первых и восстановить вторые.
Стоит ли перепрошивать, решает каждый самостоятельно. Понятно, что дистрибутив и даже необходимый софт для процедуры пишется энтузиастами, которые никакой ответственности не понесут, если вдруг вполне рабочий аппарат превратится в бесполезный кирпич.
Зачем нужны драйверы при прошивке
А искать и скачивать такое ПО необходимо на официальном сайте разработчика или производителя мобильного устройства. Последние часто сами выкладывают утилиты, с помощью которых можно быстро найти требуемый драйвер.
Обычно они имеются в пакете ПО на диске, поставляемом в комплекте с устройством. Очень важно правильно его установить.
Способы прошивки
Получить обновление или сменить ОС можно при помощи:
Обновление «по воздуху»
Данный способ трудно назвать прошивкой, поскольку никакой работы, собственно, при этом не требуется. Но система полностью обновляется, и под определение вариант попадает. Используется только для официальных, стоковых прошивок, а выполняется с помощью подключения через Wi-Fi.
Все гаджеты имеют функцию оповещения о выходе новых релизов ПО, которое устанавливается самостоятельно. Пользователю остается только активировать автоматическое обновление:
Обновление может занять продолжительное время, поэтому перед началом рекомендуется подключить зарядку. В процессе надо быть готовым к тому, что гаджет будет перезагружаться несколько раз подряд.
Прошивка Android через ПК
Как уже было сказано, это лучший способ, хотя вариантов реализации здесь масса. Но сначала требуется подготовить всё, что нужно для прошивки телефона Android:
Помимо драйвера, на компьютер нужно установить:
Android тоже требует подготовки. Рекомендуется сделать резервную копию содержимого и обязательно включить режим отладки по USB в настройках. Процесс, если в точности следовать инструкциям, не вызовет сложностей.
Посредством архива
Возможные проблемы
Сами разработчики кастомных прошивок предупреждают о возможных рисках. Невыполнение рекомендаций инструкций может привести и к некорректной установке стоковой прошивки. После неудачной прошивки некоторые функций аппарата могут быть утрачены, иногда он даже не включается.
Если телефон не включается после прошивки
Это самый тяжелый случай, хотя исправить ситуацию возможно. Причины для отказа девайса запускаться могут быть следующие:
Аккумулятор можно зарядить, гаджет просушить, а дистрибутив – заменить. Если прошивка выполнялась «по воздуху» или без помощи ПК, пользователю ничего не остается, как сменить и способ. Другими словами, ему стоит поинтересоваться, как перепрошить Android через компьютер.
Прошивка Android, который не включается
Для процедуры неважно, может аппарат включиться или нет, ведь прошивка выполняется на выключенном Android. Другое дело, если он вообще не работоспособен. Если аппаратная часть в норме, программная блокировка снимется после повторной прошивки. А способы для этого пригодны те же:
Сброс к заводским настройкам
Если пользователь не получил того, что дает прошивка телефона на Android обычно, остается от нее избавиться. Обычно делается wipe в режиме Recovery. Если устройство стало работать хуже, появились проблемы с функциональностью отдельных модулей и программ, вернуть систему и настройки в первоначальное состояние поможет полный сброс. Для этого нужно:
Иногда проведение данных манипуляций не помогает. В таких случаях используются более радиальные и действенные методы.
Прошивка. Что это такое и зачем она нужна.
Многие начинающие пользователи смартфонов и планшетов, впервые столкнувшись с загадочным словом «прошивка», с трудом понимают что это такое, для чего она предназначена и зачем она вообще нужна.
Сегодня я постараюсь объяснить, что такое прошивка популярным языком, рассчитанным на неискушенного пользователя.
Для начала давайте определимся с происхождением самого этого термина.
Итак, что такое прошивка, в изначальном понимании этого термина. Давным давно, когда вычислительные устройства были большими и некоторые их экземпляры занимали целые комнаты, их встроенная (постоянная) память изготавливалась весьма оригинальным образом.
Каждая ее ячейка состояла из небольшого кольца, выполненного из специального материала – феррита, который легко намагничивается. И в каждое кольцо продевалось две петельки провода, предназначенные для записи (намагничивания), стирания (размагничивания) и считывания информации из этого кольца. А информации в нем хранилось всего лишь один бит: 0 – когда кольцо размагничено и 1, когда намагничено. Знаете, сколько таких колец нужно, чтобы обеспечить устройству 1 гигабайт встроенной памяти? Я вам скажу: всего лишь 8 589 934 592 штуки.
И вот процесс продевания проводов в эти кольца при изготовлении постоянной памяти для старых устройств так и назывался – прошивка.
А теперь вернемся к нашим планшетам и смартфонам. Они, как и любой современный компьютер работают под управлением операционной системы (Windows, Linux, iOS, Android и т.п), которая полностью отвечает за их работу. Иными словами, если внутреннее железо компьютера – это его мозг, то операционная система – это его сознание, которое управляет компьютером.
Без операционной системы любой компьютер, планшет или смартфон – набор мертвого железа. И если на компьютер, операционную систему мы устанавливаем, записывая ее на его жесткий диск, то в планшете или смартфоне операционная система хранится в его внутренней памяти, занимая часть тех 4, 8, 16, 32 или даже 64 гигабайт, которые имеют современные устройства.
Вы наверное уже догадались, что именно эта процедура «установки» операционной системы на планшет или смартфон и называется прошивкой, поскольку система записывается (прошивается) в его постоянную, внутреннюю память.
Теперь вы понимаете, что выражение «сменить пошивку» на планшете или телефоне означает примерно то же самое, что «переустановить Виндовс» на компьютере.
Кроме того, и сам файл с операционной системой, которая записывается на устройство называют прошивкой. Так как начинка или «мозги» у каждого планшета или телефона разные, прошивка создается для каждого устройства отдельно. Прошивки бывают двух типов:
1. Официальные, выпущенные производителем устройства, которые или автоматически загружаются на планшет или телефон через интернет подключение (так называемые прошивки по «воздуху»). Их также чаще всего можно скачать на планшет с сайта производителя и установить вручную. Этот тип прошивок еще часто называют обновлением системы.
2. Самодельные прошивки, их еще называют «кастомные» или «альтернативные». Обычно это улучшенные или доработанные независимыми разработчиками официальные прошивки. К ним также относятся прошивки основанные на официальных версиях «чистой» операционной системы Android от компании Google, такие как CyanogenMod или MIUI.
Еще прошивки подразделяются на odexed и deodexed. Что это означает, вы можете почитать в этой статье: Изучаем Android. Что такое odex и deodex
Введение в Android Firmware
Пользовательская прошивка также является единственным способом установки новых версий Android на устройствах, которые больше не поддерживаются их производителями. Если вы не владеете устройством, принадлежащим к серии Nexus или Android One, я уверен, что вы уже это знали.
В этой статье я помогу вам понять, что такое Android-прошивка и как работает устройство Android. Я также расскажу вам об инструментах, которые вы можете использовать для замены прошивки на своём устройстве.
Предостережения
1. Что такое прошивка для Android?
Первоначально прошивка была термином, используемым для обозначения крошечных критически важных программ, установленных в памяти, доступной только для чтения, или ПЗУ, на электронном устройстве. Изменение прошивки было либо невозможным, либо требовало специального оборудования, которое обычно было недоступно обычным конечным пользователям.
Однако прошивка для Android отличается от других. Она включает в себя всю операционную систему Android и хранится в записываемой памяти под флэш-памятью NAND, том же типе памяти, который используется на устройствах хранения, таких как USB-накопители и SD-карты. Слово прошивка используется только потому, что производители устройств не удосужились придумать новое слово для этого.
Прошивку Android также часто называют Android ROM, потому что по умолчанию пользователи не могут напрямую писать в нее.
2. Что содержит прошивка Android?
Прошивка, установленная на устройстве Android производителем, содержит сборку операционной системы Android и две дополнительные программы с закрытым исходным кодом, которые обычно незаменимы, загрузчик и радио прошивка.
Что такое загрузчики
Загрузчик Android представляет собой небольшой фрагмент проприетарного кода, который отвечает за запуск операционной системы Android, когда устройство включено. Однако загрузчик почти всегда выполняет еще одну задачу. Он проверяет подлинность операционной системы.
Как он решает, что является подлинным? Он проверяет, был ли загрузочный раздел подписан с использованием уникального ключа OEM, что является сокращением от ключа Original Equipment Manufacturer. Ключ OEM, конечно же, принадлежит производителю устройства, является закрытым, и вы не можете понять, что это такое.
Из-за проверки подлинности вы не можете напрямую установить пользовательский ПЗУ на устройстве Android. К счастью, в наши дни большинство производителей устройств позволяют пользователям отключать проверку. На Android-жаргоне они позволяют пользователям разблокировать загрузчик.
Конкретная процедура, которую вам нужно выполнить, чтобы разблокировать загрузчик, зависит от вашего устройства. Некоторые производители, такие как Sony и HTC, ожидают, что вы предоставите секретный токен разблокировки. Другие просто ожидают, что вы запустите фиксированный набор команд с помощью терминала.
Обычно для запуска команд разблокировки используется инструмент fastboot, который является частью Android SDK. Например, если у вас есть устройство Nexus, вы можете разблокировать его загрузчик, выполнив следующую команду:
В этой статье вы узнаете больше о fastboot. Обратите внимание, что если у вас есть устройство с загрузчиком, которое невозможно разблокировать, нет простого способа изменить или заменить его прошивку.
Что такое радио прошивка
Это может показаться вам неожиданностью, но ваш смартфон Android фактически запускает другую операционную систему на независимом процессоре, называемом процессором основной полосы. Радио прошивка относится к операционной системе, которая работает на процессоре основной полосы частот.
Что такое билды Android
Сборка Android обычно используется в виде ZIP-файла, который может использоваться fastboot. Он имеет следующее содержимое:
С другой стороны, ramdisk является файловой системой только для чтения, которая монтируется ядром во время процесса загрузки. Он содержит хорошо известный процесс init, первый процесс, который запускается любой операционной системой на базе Linux. Он также содержит различные демоны, такие как adbd и healthd, которые запускаются процессом init. Вот как выглядит дерево каталогов ramdisk:
recovery.img очень похож на boot.img. Он имеет загрузочный исполняемый файл ядра, который может использовать загрузчик, и ramdisk. Следовательно, образ для восстановления также можно использовать для запуска устройства Android. Когда он используется, вместо Android запускается очень ограниченная операционная система, которая позволяет пользователю выполнять административные операции, такие как сброс пользовательских данных устройства, установка новой прошивки и создание резервных копий.
Процедура, необходимая для загрузки с использованием образа восстановления, зависит от устройства. Обычно это включает в себя запуск режима загрузчика, также называемый fastboot mode, путем нажатия комбинации аппаратных ключей, присутствующих на устройстве, а затем выбора опции Recovery. Например, на устройстве Nexus вам нужно нажать и удерживать кнопку питания в сочетании с кнопкой уменьшения громкости.
Кроме того, вы можете использовать adb, инструмент, включенный в Android SDK, для прямого входа в режим восстановления.
3. Использование fastboot
Аналогичным образом, если вы хотите заменить только загрузочный образ, вы должны использовать следующую команду:
Обратите внимание, что ни одна из команд fastboot, упомянутых в этом разделе, не будет работать, если загрузчик вашего устройства не был разблокирован.
Заключение
Словарь терминов по прошивке смартфонов
Этот словарь я составил для себя, когда занимался прошивкой различных телефонов Android. Термины универсальны и применимы для любых девайсов на этой ОС.
OTA (FOTA) — это самый простой способ обновить прошивку. Оно происходит по воздуху, соединение с компьютером не нужно. При обновлении OTA (FOTA) пользовательские данные не изменяются, если не делать сброс.
RAW прошивка — это точно такая же стоковая прошивка, но шьется она не через recovery, а через специальную программу Asus Flash Tool, бывает, что обычная прошивка zip формата не поможет справиться с проблемой или например, когда не можете попасть в recovery даже, если прошивали его, в этом случае поможет RAW прошивка. Не влияет на загрузчик.
Bootloader – здесь находится микропрограмма (загрузчик), позволяющая запускать операционную систему, рекавери и другие сервисные режимы.
adb (ADB, Android Debug Bridge) — инструмент который устанавливается вместе с Android-SDK и позволяет вам управлять устройством на базе ОС Android. Вы можете найти его в папке «platform-tools», распакованного SDK. ADB — это управление андроид устройством при помощи команд с компьютера. Для работы с adb любое андроид устройство оснащёно программным обеспечением, и для компьютера написаны драйвера и программного обеспечения (ПО).
ADB — утилита, взаимодействующая со смартфонам по средствам команд. Имеет большее количество команд выполняющих множество отладочных функции. Полноценная работа возможна только на запущенном Android или кастомном recovery. Стоковый recovery работает только с командой sideload предназначенная для прошивки телефона.
Fastboot — режим загрузчика Android устройств, в котором устройство принимает команды от компьютера. Используется в основном для прошивки, очистки разделов и разблокировки загрузчика устройства. Также это утилита, управление которой происходит через командную строку, предназначенная для прошивки смартфона.
Более подробно о ADB и Fastboot тут.
Как зайти в загрузчик/Fastboot и Recovery — на выключенном телефоне зажимаем кнопку прибавления громкости и удерживая на пару секунд нажимаем кнопку включения, отпускаем кнопку включения, кнопку громкости держим, два вибросигнала и экран включается, все отпускаем. Теперь вы в режиме Fastboot/загрузчика, там же клавишами громкости можно выбрать recovery mode и зайти в recovery.
Bootanimation — анимация загрузки, у нас это, когда начинает крутиться кружочек.
Splashscreen — предзагрузочная картинка, которая идет перед бутанимацией(bootanimation)
Сток (стоковая прошивка, рекавери т.д) — это обозначает первоначальную конфигурацию телефона, то что уже стояло в телефоне и было предустановлено производителем.
Кастом (кастомная прошивка, рекавери т.д) — противоположность стока, это то что создают другие люди для определенного телефона, это называют кастомом.
Пользовательская прошивка и есть официальная. А инженерной часто называют сервисную. В понятии сервис центров существуют пользовательская и сервисная прошивки. Сервисная напичкана всяким софтом для работнииков СЦ и не пригодна для ежедневного пользования.
Бутлуп (от англ. boot — загрузка и loop — петля) — бесконечная циклическая перезагрузка устройства, происходит в результате сбоя в системе.
Даунгрейд (от англ. downgrade — снижение) — понижение версии программного обеспечения или переход на более слабую / менее функциональную аппаратную конфигурацию.
Pit-файл — это файл с таблицей разделов внутренней памяти устройства, он нужен для переразметки разделов в момент прошивки устройства. Обычно используется с многофайловыми прошивками, но его использование не носит обязательного характера. Без особой необходимости его лучше не использовать т.к. ошибки при разметке памяти устройства могут привести к серьёзным последствиям, устранить которые в домашних условиях не получится.
Что такое CWM и TWRP
TWRP (TeamWin Recovery Project) — представляет из себя тоже, что CWM, модифицированное рекавери, со множеством дополнительных функций. Многим удобнее пользоваться TWRP, и это не странно, т.к. меню удобное, пункты большие, управление осуществляется при помощи сенсорного дисплея.
TWRP menu
Разница в том, что в TWRP больше возможностей, а так же он умеет самостоятельно прошивать boot.img, НО не всегда и не на всех РОМах, потому советуем вручную прошивать boot.img. Кроме того, в TWRP есть возможность открыть доступ к карте памяти через USB, в случае, когда все в телефоне удалено, и прошивка в том числе.
Также, в TWRP есть возможность работы с ADB (при запуске TWRP телефон видится через ADB и можно передавать файлы, выполнять команды, а также входить в Shell). Возможности бэкапа TWRP также немного больше, чем у CWM. Но, как говорится, без ложки дегтя тоже не обойтись – CWM проще гораздо, а поэтому – несколько стабильнее. Если при пользовании TWRP иногда случаются казусы с потерей доступа к sdcard, после чего приходится ставить стоковый рекавери, то с CWM такого еще не случалось. Плюс – есть такая штука, как ROM Manager (см. Google Play Market), которая работает только с CWM.
Установка TWRP подобна установке CWM, т.е. TWRP устанавливается такими же способами, что и CWM. Есть способ установки через Odin (for Samsung), уже установленное кастомное рекавери, например, CWM или через программу GooManager.
Вайп, full wipe или полный сброс
Под этим понятием подразумевают нередко несколько этапов вайпа. Начнём с того, что английский глагол wipe переводится как «стирать, уничтожать, удалять».
Это полная очистка всех пользовательских данных, происходит либо автоматически при установке полной официальный прошивки через ADB, или кастома в скрипте установки которого добавлены команды для вайпa, либо вручную при возникновении проблем со смартфоном, через меню рекавери или CWM.
Иногда под этим подразумевают полный сброс не только данных пользователя (wipe data), но и очистка прошивки из внутренней памяти смартфона (format).
Как сделать полный сброс до заводских настроек штатными средствами?
Пройти по пути:
Настройки — Учетные записи — Резервное копирование и сброс — Сброс данных — Сброс устройства.
Или зайти в стоковое рекавери, зажав 3 кнопки при включении и сделать там wipe data/factory reset.
Эквивалентно полному вайпу (Full Wipe), все пользовательские данные удалятся кроме файлов прошивки.
Как сделать полный сброс до заводских настроек средствами загрузчика CWM?
Входим в CWM и далее:
1. wipe data/factory reset
2. wipe cache partition
3. advanced/ wipe dalvik cache
Это уже считается Full wipe. Но если есть систематические проблемы, можно так же принудительно очистить системный раздел и уже очищенную через «data/factory reset» пользовательскую область:
4. mounts and storage/ format system
5. mounts and storage/ format data
6. mounts and storage/ format cache
После этого сброса если система не загрузится, то придется прошивать ее заново.
Фишки смартфонов Samsung
KNOX – это специализированная надстройка над ОС Android, призванная значительно повысить уровень защиты информации на мобильном устройстве от Samsung. В состав этой системы входит набор расширений, позволяющий создать защищенную среду на платформе от Google. Среди них – специальная изолированная зона для исполнения программ, механизм 256-битного шифрования и средство защищенной загрузки.
Другими словами, KNOX — это защищенная папка, в которую можно устанавливать приложения, переносить любые файлы и хранить их там под отдельным паролем. Установленное в эту папку приложение становится независимым от такого же приложения, установленного вне папки.
Когда счётчик KNOX изменил свой статус с 0×0 на 0×1, т оговорят, что он «тикнул» и вы лишились гарантии на устройство. Он срабатывает при получении Root прав и при установке кастомного Recowery. Также он сработает при попытки установить старую версию прошивки без KNOX. Возможности обнуления счётчика пока не существует. Посмотреть состояние Knox можно перейти в Odin mode зажав на выключенном телефоне кнопки Домой-Громкость вниз-Включение одновременно. Knox находится в строке Knox warranty void. При прошивке через Odin стоковых (не модифицированных) прошивок или других стоковых компонентов счетчик не срабатывает.
CIFS — файловая система памяти планшета
Практически все современные портативные (и не только портативные) устройства содержат внутри специальный USB-хост контроллер, который уже на аппаратном уровне реализует функцию OTG. Также, современные смартфоны поддерживают подключение USB OTG флэшек. Для поддержки OTG требуются специальные OTG кабели. Подробнее здесь.