Reboot to Bootloader: перевод на русский язык и что это такое на Андроид?

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

Таким образом, по умолчанию, данный загрузчик заблокирован, и устройство запрограммированно лишь на загрузку системы, разрешенной компанией. Это происходит по двум основным причинам:

  • ограничение прав владельцев на изменения. Благодаря блокировке bootloader производитель может диктовать пользователям использование определенных версий ОС, пресечь попытки установки нелегального софта;
  • обеспечение безопасности. Продавец устройства может добавлять свои программы, которые возможно, содержат рекламу или вирусы. Данные махинации могут быть по ошибке приписаны компании-производителю, поэтому она заботится о своем имидже. Думаю вы поняли, для чего существует Rereboot to Bootloader в OS Android, и теперь разберём разблокировку загрузчика.

Читайте также: Как поменять шрифт на Андроиде

Как разблокировать загрузчик

Для того чтобы сделать это, можно воспользоваться универсальным методом. Извлечь аккумулятор из смартфона, затем вставить назад и зажать регулятор громкости на позиции “-” вместе с питанием. Через несколько секунд устройство перезагрузится в нужное состояние. Если в первой строчке видна надпись RELOCKED, вводится команда fastbootoemlock с помощью специальной утилиты adb, Odin или BootloaderUnlock.

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

Не стоит забывать, что во время изменений в BIOS система откатится до заводских настроек.

Важно: Normal Boot что это такое на Андроид

Преимущества и недостатки разблокировки Rereboot to Bootloader

Пользуясь данной функцией следует осознавать ответственность, которая ложится на ваши плечи.

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

Однако загрузчик очень полезен в целом ряде случаев. Рекомендуется активировать Bootloader для таких целей:

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

Поэтому очень важно знать, что значит для ОС Андроид Rereboot to Bootloader, и каковы особенности данной функции.

После включения смартфона активируется специальный загрузчик Bootloader — он запускает ядро операционной системы Android и важное программное обеспечение, которое обеспечивает стабильную работу гаджета. В устройствах на Android есть специальная функция «Reboot to bootloader». Она дает возможность пользователям перейти в промежуточной этап между запуском системы и загрузчик. По принципу действия функция похожа на BIOS, который есть на любом компьютере.

Как войти в режим «Reboot to bootloader» на телефоне?

Чтобы перейти в режим «Reboot to bootloader» на телефоне, во время запуска гаджета нужно зажать кнопку включения и клавишу уменьшения громкости. На устройствах от Samsung алгоритм немного отличается: вместо клавиши громкости нужно удерживать кнопку «Домой».

Если войти в меню не получается, а при использовании описанного алгоритма не происходит никаких действий, значит функция «Reboot to bootloader» заблокирована на аппаратном уровне.

image

Зачем нужна функция «Reboot to bootloader»?

Управление функциями «Reboot to bootloader» и переключение между доступными инструментами выполняется через клавиши громкости. Перемещаться по меню можно в двух направлениях: вверх и вниз. В разделе можно посмотреть детальную информацию о телефоне, а также выполнить тестирование операционной системы. Среди доступных функций есть:

  • Разблокировка загрузчика для получения Root-прав на смартфон.
  • Установка сторонней программы на гаджет — для этого не потребуется пользоваться официальным магазином приложений Google Play.
  • Инструмент для отладки приложений и удаления программ, которые нельзя удалить стандартными средствами операционной системы (так называемый «вшитый» софт от производителя).
  • Очистка кэша смартфона (есть и более простые методы) от скопления «мусорных» файлов, которые снижают производительность смартфона.
  • Сброс смартфона к заводским настройкам (также есть способ полегче). При выполнении этого действия нужно помнить, что все данные и настройки телефона будут удалены.

image

Риски использования функции «Reboot to bootloader»

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

Есть риск повреждения важных данных, например, контактов или фотографий. После этого будет сложно восстановить доступ к информации. Перед тем, как пользоваться функцией «Reboot to bootloader», нужно сделать резервные копии основных файлов и персональных данных.

Еще важно не путать разные «виды ребутов» на Android. Вот подробная статья.

MicroTechnics

Приветствую всех на нашем сайте и сегодня мы после небольшого перерыва вернемся к теме микроконтроллеров. А если быть совсем точным, то мы начинаем обсуждать одну очень интересную и важную тему, а именно использование bootloader (загрузчика) при программировании контроллеров. Сегодня мы разберем теоретическую часть – зачем bootloader нужен, как он работает и что это вообще такое. Следующая статья будет посвящена целиком и полностью практике. Забегая вперед скажу, что мы напишем свой bootloader для любимых микроконтроллеров STM32!

Итак, простыми словами, bootloader – это специальная программа, которая располагается в памяти микроконтроллера и может самостоятельно перепрограммировать его. Давайте для лучшего понимания процесса посмотрим как вообще выполняется программа, прошитая в микроконтроллер, и где она располагается.

Как вы помните из статьи, посвященной flash-памяти микроконтроллеров STM32, основная пользовательская программа начинается с первой страницы памяти, а точнее с адреса 0х08000000. То есть при подаче питания контроллер сразу же убегает по этому адресу.

При использовании загрузчика все выглядит несколько иначе. Основная программа записывается уже по другим адресам и располагается начиная, например, с адреса 0х0800A000. А область памяти (0х08000000 – 0х0800А000) целиком и полностью отдается bootloader’у. В итоге в flash-памяти контроллера у нас находятся две полноценные программы. При включении устройства управление получает bootloader (поскольку он находится в области, начинающейся со “стартового” адреса 0х08000000), а при дальнейшей работе bootloader, выполнив все свои задачи передает управление нашей основной программе, которая располагается по адресу 0х0800А000 (этот адрес мы взяли для примера). Вот небольшая схемка для демонстрации работы загрузчика:

Вроде бы понятно как устроено, но возникает вопрос – зачем все это надо? Давайте разбираться!

Первостепенной задачей bootloader’а является программирование микроконтроллера. Он не просто выполняет какие-то действия, а затем передает управление основной программе (переходит на адрес, который соответствует началу основной программы), он, в первую очередь, самостоятельно записывает эту основную программу в flash-память по нужным адресам.

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

Небольшое отступление от основной темы… Поясню, что я тут имею ввиду под “файлом программы”.

Когда мы создаем проект (Keil, IAR – без разницы), то на выходе (после сборки проекта) мы получаем скомпилированный файл для прошивки в микроконтроллер. Чаще всего мы использовали .hex файл программы. Так вот именно этот файл нам и нужен в данном случае.

Но именно hex-файл не совсем подходит для наших целей, поскольку помимо кода нашей программы он несет в себе дополнительную служебную информацию. Чтобы ее не обрабатывать и не вытаскивать из hex-файла нужный нам код, который bootloader должен записать во flash, мы в настройках компилятора во вкладке Output попросим его генерировать нам вместо hex-файла bin-файл.

Бинарник, в отличие от hex, содержит в себе только последовательный код программы и ничего больше. То есть bootloader’у остается только читать байты из bin-файла и записывать их во flash-память. То есть в нашем примере задачей загрузчика является чтение байт из файла на карте памяти и запись их по адресам, начиная с 0х0800A000. Вот псевдокод для наглядности:

void main() { // Инициализируем интерфейс SDIO для общения с картой памяти SDIO_Init();  while(1) { // Ищем файл прошивки if (f_open(файл.bin) == FR_OK) { ProgramFlash(); JumpToMainProgram(); } } }

Конечно, это сильно упрощенная версия загрузчика. Тут мы в вечном цикле пытаемся открыть файл с программой, а как только это нам удается (пользователь записал на карту долгожданный файл) bootloader программирует flash-память и перескакивает на адрес записанной им же программы. После этого контроллер начинает выполнять пользовательскую программу. Еще раз повторюсь, это всего лишь псевдокод для примера, полноценный bootloader для STM32 мы обязательно напишем в следующей статье!

Все это, конечно, очень интересно, но по-прежнему, непонятно, зачем нужны все эти сложности….

С этим на самом деле все просто – вот, например, первая ситуация – есть огромное количество устройств, на заводе работники прошили в каждый контроллер (например, при помощи ST-Link) на каждой плате bootloader, который при подключении к плате флешки (в заранее предусмотренный разъем) ищет на ней файл прошивки и выполняет программирование. Основную программу, конечно же, тоже можно прошить вместе с bootloader’ом через ST-Link. Но тонкость тут в том, что проект bootloader’а остается всегда неизменным и перепрошивать его не надо, а вот версия основной программы может обновляться кучу раз в процессе тестирования устройств.

И тут уже гораздо проще один раз подключить ST-Link и прошить загрузчик, а впоследствии просто скидывать новую версию основной программы на флешку и втыкать ее в готовое устройство, где перепрошивкой займется bootloader, чем по сто раз бегать от одной платы к другой, втыкать ST-Link, при этом перенося с собой ноутбук с ST-Link Utility 🙂 Как видите, польза загрузчика очевидна!

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

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

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

В общем-то, вроде бы мы разобрались с теоретической частью, посвященной использованию bootloader’а, но давайте еще один момент обсудим в этой статье – а именно аппаратный загрузчик микроконтроллеров STM32.

В STM32 уже есть bootloader, который инженеры ST поместили в специально отведенную область памяти микроконтроллера (System Memory). Удалить его оттуда нельзя, да и незачем 🙂 Для того, чтобы ввести контроллер в режим загрузчика необходимо подать определенные сигналы на ножки BOOT0 и BOOT1. После этого микроконтроллер готов принимать по USART новую прошивку. Для этого необходимо подключить плату к ПК, скачать специальную софтинку от ST – Flash Loader Demonstrator и загрузить в нее свой файл прошивки.

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

Во-первых, прошивка никак не шифруется, что для коммерческих устройств зачастую недопустимо. Если я использую свой собственный bootloader, то я могу сделать с bin-файлом все, что угодно, например, поменять определенные байты местами. Если такой файл попадет в руки конкурентов, то это ничего не даст, поскольку только мой bootloader знает как расшифровать бинарник. При использовании аппаратного botloader’а такое невозможно – Flash Loader Demonstrator принимает bin-файл в исходном виде, то есть все байты в нем не зашифрованы.

Во-вторых, пользователю будет необходимо подключать свою плату к ПК и скачивать дополнительный софт для перепрошивки устройства, и это не очень хорошо. Чем проще устройство в использовании, тем лучше! Но есть и плюсы аппаратного bootloader’а – он не занимает flash-память. При использовании своего загрузчика нужно иметь ввиду, что и загрузчик и основная программа должны поместиться в памяти. С аппаратным bootloader’ом такой проблемы нет – он расположен в специальной области, использовать которую программист не может.

Давайте на этом на сегодня и закончим, не пропустите статью, посвященную практической реализации загрузчика!

Поделиться!

© 2013-2021 MicroTechnics.ru

1 19.01.2017

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

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

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

Bootloader устанавливается производителем смартфонов. В случае, если он заблокирован, он позволит запустить только авторизованную версию операционной системы с соответствующей электронной подписью. Способы обхода этой проверки разнятся в зависимости от производителя смартфона и, как правило, требуют root-доступ.

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

Как разблокировать Bootloader

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

Будет полезным

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

Как узнать, разблокирован ли загрузчик bootloader?

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

Способ первый – самый простой

После перезагрузки устройства необходимо:

  • Открыть окошко набора номера.
  • Ввести следующий код *#*#7378423#*#* и нажать вызов.

В открывшемся окошке пройти в раздел Service Info, далее Configuration и проверить статус бутлоадера: «Bootloader unlock allowed – Yes» — статус «заблокирован», «Bootloader Unlocked – Yes» — статус «разблокирован».

Важно знать

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

Способ второй – через режим fastboot

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

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

После подготовительного этапа включаем режим «fastboot». Для этого выключите устройство полностью, и при повторном включении удерживайте кнопку питания с нажатой качелькой громкости «вниз» до тех пор, пока смартфон не загрузится в нужном режиме fastboot. Подключите девайс к компьютеру. Откройте папку с загруженными дополнительными компонентами и кликните правую клавишу мышки с нажатой кнопкой Shift. Из списка выберите «Открыть окно команд».imageЧтобы удостовериться, правильно ли подключено устройство, введите команду «fastboot devices» и нажмите Enter. В случае, если ваше устройство не отображается, проверьте кабель и повторите алгоритм. Если устройство отображается корректно, введите команду для проверки статуса загрузчика «fastboot oem device-info».

Обратите внимание

При заблокированном загрузчике появится строка «bootloader device unlocked: false».

Способ третий – через меню разработчиков

 Загрузка …

Находим в настройках устройства раздел «О телефоне» и кликаем по строке «Версия устройства» до тех пор, пока не увидим оповещение «Вы стали разработчиком». Варианты названия нужной строки могут быть разные, в зависимости от модели девайса и производителя: «версия», «номер сборки», «серийный номер» и другие.

image

После всех манипуляций в настройках устройства откроется доступ к разделу «Для разработчиков». В нем можно зайти в пункт «Статус загрузчика» и проверить его состояние.

Будет полезным

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

Как разблокировать bootloader

Разблокировка возможна двумя способами:

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

Важно знать

Гарантийное обслуживание прекратится после разблокировки, и все риски вы берете на себя.

Этап 1: средства разработчика и драйвер для гаджета

Загрузите с официального сайта загрузки Android SDK http://developer.android.com/sdk/index.html zip архив, подходящий под вашу операционную систему, и распакуйте его. Выбирать нужный архив необходимо в футере страницы после слов «SDK Tools Only».

image

Далее запускаем SDK Manager и устанавливаем исключительно «Android SDK Platform-tools», а также устанавливаем USB драйвера для гаджета. Их можно найти на официальном сайте производителя. Подключите гаджет к компьютеру в режиме fastboot через родной USB кабель. Откройте папку с установленным SDK Android. Кликните правую клавишу мышки на пустой области с нажатой кнопкой Shift. Из списка возможностей выбираем «Открыть окно команд» и вводим команду «adb devices».

Обратите внимание

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

Этап 2: включение USB отладки

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

image

Этап 3: ключ для разблокировки Hboot

Практически для всех телефонов необходим код или ключ для разблокировки бутлоадера (если вы, конечно, не обладатель Nexus). На официальных сайтах производителей можно найти описание, как разблокировать bootloader, и получить этот ключ, к примеру:

  • LG https://developer.lge.com/resource/mobile/RetrieveBootloader.dev;
  • Huawei https://emui.huawei.com/en/plugin.php?id=unlock&mod=detail;
  • HTC http://www.htcdev.com/bootloader;
  • Sony Xperia http://developer.sonymobile.com/unlockbootloader/unlock-yourboot-loader/.

Для получения ключа от HTC и LG необходимо предоставить Device ID. Получить его можно в «Окне команд» с помощью команд:

  • для HTC — «fastboot oem get_identifier_token»;
  • для LG — «fastboot oem device-id».

Будет полезным

Длинный цифровой код в несколько строк – это тот самый Device ID. Используйте его для получения ключа разблокировки.

Этап 4: заключительная разблокировка

Ваше устройство подключено к компьютеру в режиме Fastboot и открыто «Окно команд». Исходя из вашей модели устройства, введите в командную строку нужное указание:

  • для последних новых Nexus — «fastboot flashing unlock»;
  • для более старых моделей Nexus — «fastboot oem unlock»;
  • для LG — «fastboot flash unlock unlock.bin». Файл unlock.bin — это ключ для разблокировки, полученный после ввода Device ID;
  • для HTC — «fastboot oem unlock код_разблокировки unlock_code.bin» . Ключ, полученный после ввода Device ID, – это и есть файл unlock_code.bin;
  • команду для Sony Xperia вы получите после окончания всего процесса выбора модели прямо на официальном сайте.

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

Важно знать

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

Виталий Солодкий

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Citilink-kabinet.ru
Добавить комментарий