Загрузчики (bootloader) для микроконтроллеров AVR | avr | programming

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

Bootloader: что это?

Начнем, так сказать, с азов. Bootloader Android-систем практически ничем не отличается от того, что имеется на любом компьютерном терминале, будь то PC или Mac. Говоря простым языком, Bootloader – это встроенное средство загрузки операционной системы.

Если привести в пример компьютерные терминалы с несколькими установленными «операционками» (скажем, Windows и Linux), загрузчик после включения стационарного блока или ноутбука предлагает юзеру вход в систему на выбор, а после подтверждения загружает ту или иную ОС.

Принципы загрузки ОС

Равно как и в стационарных системах, загрузчик Bootloader в мобильных девайсах обращается к инициализационным файлам по типу того, как это делает, например, Windows при загрузке параметров из файла boot.ini.

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

Bootloader: как разблокировать и зачем это нужно?

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

Считается, что в таком случае пользователь получает доступ к ядру системы, который по умолчанию невозможен. Как в такой ситуации описать Bootloader? Что это, станет понятно, если взглянуть на отсутствие так называемых прав суперюзера. Получается, что после снятия блокировки они вообще не нужны ни на каком уровне. А то ведь зачастую приходится устанавливать специальные прошивки и приложения. Если же кастомная прошивка, мягко говоря, «корявая», то и вся система может слететь.

Любой производитель мобильной техники предусматривает работу с таким компонентом, как Bootloader.

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

Для большинства устройств, включая, например, гаджеты Sony и HTC, подразумевается использование утилиты Adb Run, причем для Sony придется дополнительно использовать специальные драйверы Sony Fastboot, да еще и обратиться к специальному разделу Unlocker на официальном сайте. Как видим, процедура хоть и выполнимая, но достаточно сложная.

Восстановление данных

С другой стороны, в своем стандартном режиме работы восстановление Bootloader после сброса настроек до заводских позволяет совершить просто элементарно. Для этого не потребуется даже hard reset.

Достаточно просто скинуть настройки на самом гаджете, а после перезагрузки система предложит выбрать вариант: либо использовать на устройстве новые настройки, либо восстановить параметры, программы и файлы, применяя для этого учетную запись сервисов Google. При этом придется ввести адрес почты Gmail с паролем, а также подключиться к сети Интернет, например, при имеющемся активном Wi-Fi-соединении.

Установка другой «операционки»

Если говорить о возможности инсталляции другой ОС, этот вопрос достаточно сложен, хотя и решаем. Дело в том, что некоторые производители утверждают, мол, что после «Андроида» на гаджет другая система не станет. Чистой воды рекламный ход, призванный разрекламировать инсталлированную систему.

А ведь китайцы на своих «левых» аппаратах HTC уже доказали, что на одном девайсе совершенно элементарно уживаются и Android, и Windows Phone. При этом такие модели поставляются в большинстве случаев с уже разблокированным загрузчиком Bootloader. Что это в данном случае? Это средство, позволяющее не только выбирать загружаемую ОС, но и устанавливать любую другую с изменением параметров на системном уровне.

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

На что стоит обратить внимание отдельно?

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

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

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

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

Источник: fb.ru

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

Принцип работы следующий

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

Админка

Лоадеры бывают с админкой и без. Если лоадер без админки, то адреса по которым он должен скачать файл/файлы записаны зачастую прямо в его теле. В некоторых случаях, когда лоадер не криптован/не пакован можно открыть exe файл любым HEX редактором и увидеть нечно вроде http://12.89.54.16/123.exe или http://abrakadabra.in/123.exe.

Если лоадер с админкой — то исполняемый файл (exe) обращается к административной части (админке), получает там задания и исполняет их. После исполнения, если это предусмотрено автором лоадера, происходит повторное обращение к админке и отправляется отчет об успешном выполнении задания.

Типы

Существует два основных типа лоадеров. Резидентные и нерезидентные.

  • Нерезидентные — запускаются в системе, выполняют задания, а после перезагрузки умирают.

    Примером нерезидентного лоадера с админкой является известный продукт Dloader

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

Примеры резидентных лоадеров:

См. также

, установленный на жёстком диске, загружается при включении компьютера при помощи специальной программы — загрузчика. В ALT Linux 2.4 Master доступны на выбор два стандартных загрузчика : LILO и GRUB. Программа-загрузчик исполняется при загрузке системы с жёсткого диска и загружает ядро ОС , расположенное также на жёстком диске.

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

Например, при стандартной установке в начальном меню загрузчика ALT Linux 2.4 Master доступны три альтернативы: , (загрузка с минимальным количеством драйверов, что может оказаться необходимым в случае неполадок), (загрузка с дискеты). Если у вас есть установочный CD Master, вы также можете загрузиться с него: помимо установки новой системы можно загрузить уже установленный на жёстком диске , который по тем или иным причинам невозможно загрузить прямо с жёсткого диска.

В нижней части экрана начального меню загрузчика ALT Linux 2.4 располагается окно «boot options». В этой строке можно указать параметры, которые будут переданы ядру при загрузке. Подробнее о возможных параметрах см. bootparam(7).

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

Кратко говоря, программа init последовательно проходит уровни выполнения (run levels). На уровне номер 1 программа оказывается сразу после загрузки системы, уровни 2 и 3 — это обычные многопользовательские режимы работы системы, уровень 4 запускает X Window System посредством диспетчера монитора (X display manager) xdm, а уровень номер 6 перезагружает систему. Каждому уровню соответствует каталог , где  — номер уровня работы. В этих каталогах содержатся символические ссылки, указывающие на те стартовые сценарии, которые должны быть выполнены при переходе на соответствующий уровень. Стартовые сценарии предназначены для запуска, остановки или перезапуска системных служб (сервисов). Реально все сценарии располагаются в каталоге .

Любую службу, вписавшую в свой стартовый сценарий, можно запускать и останавливать вручную, вызвав этот сценарий с параметром и соответственно. Для проверки состояния службы (работает — остановлена — сбоит) тот же сценарий можно запускать с параметром . То же самое делает и команда service: она вызывает сценарий (имя которого передаётся ей первым параметром) из и запускает его. То есть, чтобы перезапустить службу httpd можно использовать любую из команд: /etc/init.d/httpd restart или service httpd restart.

Схожим образом обстоит дело и регистрацией стартовых сценариев на уровнях выполнения. Если мы хотим, чтобы при при переходе на третий (сетевой) уровень запускалась служба httpd, нам необходимо организовать символьную ссылку на в каталоге . Ссылка эта должна иметь имя , дабы быть запущенной в подходящее время. Если мы не хотим, чтобы httpd запускался на этом уровне, ссылка должна иметь имя . Созданием и удалением таких ссылок, равно как и показом их текущего состояния, занимается команда chkconfig. Самые важные её ключи — (просмотреть список зарегистрированных служб), (добавить запуск службы) и (запретить запуск службы).

Загрузка системы заканчивается тем, что программа init запускает копии программы getty, которая вызовет приглашение для всех виртуальных консолей.

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

Прежде всего следует отметить, что ОС может быть загружена с любого жёсткого диска системы и любого типа раздела — и первичного (primary), и логического (logical), с различных файловых систем (например , , ). При этом раздел, содержащий корневую файловую систему, не обязательно должен быть активным (иметь статус в таблице разделов). Более того, вы можете использовать тот загрузчик, который используете и сейчас, при условии, что он в состоянии передать управление на загрузочный сектор любого раздела (например, OS/2 Boot Manager, System Commander, WinNT Boot Loader). В случае наличия какого-либо другого загрузчика, загрузчик следует устанавливать не в MBR первого жёсткого диска системы, а в загрузочный сектор корневого раздела , на который в последствии необходимо передать управление со стороны внешнего загрузчика. Подавляющее большинство -подобных систем, а также не чувствительны к месту их размещения — главное, чтобы был способ передать управление на их программу начальной загрузки.

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

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

При установке Master у вас есть возможность менять размеры существующих разделов без потери данных (см. раздел Разбиение диска и выбор точек монтирования руководства по установке системы.

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

Внимание

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

Изменение размера разделов и возможно только с потерей всех данных на этих разделах!

Если вы выбрали класс установки «Рекомендуется» происходит следующее.

При переходе к этапу «Настройка файловых систем» программа установки автоматически проанализирует содержимое доступных жёстких дисков и в зависимости от результата предложит следующие альтернативы.

Если весь объём жёсткого диска уже занят разделами других операционных систем, но имеющиеся файловые системы пригодны для установки (, ), то программа установки предложит:

«Удалить Windows»

Все разделы будут удалены, на их месте автоматически будут размечены и отформатированы разделы для .

«Использовать свободное место раздела Windows»

Будет предложено изменить размер раздела за счёт имеющегося свободного места; можно непосредственно указать, какого размера раздел оставить для использования . После изменения размера раздела программа установки автоматически разметит и отформатирует разделы, необходимые для .

«Специальное разбиение диска»

Программа установки предоставит «Интерфейс для прямого управления разделами жёстких дисков».

Если на жёстком диске будут найдены разделы различных ОС, в том числе и , то возможен выбор из следующего набора предложений:

«Использовать существующий раздел»

Будет предложено отформатировать уже имеющийся на диске раздел ; в случае согласия программа установки перейдёт к выбору пакетов для установки, а в случае отказа предоставит «Интерфейс для прямого управления разделами жёстких дисков».

«Очистить весь диск»

Все разделы будут удалены, на их месте автоматически будут размечены и отформатированы разделы для .

«Использовать свободное место раздела Windows»

Будет предложено изменить размер раздела за счёт имеющегося свободного места, можно непосредственно указать какого размера раздел оставить для использования .

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

«Специальное разбиение диска»

Программа установки предоставит «Интерфейс для прямого управления разделами жёстких дисков».

Если же всё дисковое пространство уже занято разделами, на которые установить невозможно, как невозможно и изменить их размер без потери данных (например, разделы , принадлежащие / / ), то в таком случае будет предложено две альтернативы:

«Очистить весь диск»

Все разделы будут удалены, на их месте автоматически будут размечены и отформатированы разделы для .

«Специальное разбиение диска»

Программа установки предоставит «Интерфейс для прямого управления разделами жёстких дисков».

В случае выбора класса установки происходит следующее.

В этом режиме программа установки не будет анализировать жёсткие диски и сразу предоставит «Интерфейс для прямого управления разделами жёстких дисков» (см. раздел Разбиение диска и выбор точек монтирования главы 2).

Загрузка нескольких операционных систем

Прежде всего, независимо от того, используете ли вы GRUB или LILO, необходимо чётко определиться с тем, где именно разместить загрузчик.

Если для загрузки всех операционных систем предполагается использовать один из предлагаемых программой установки загрузчиков, то в поле «Загрузочное устройство» необходимо выбрать первый диск системы; обычно это или . При таком выборе загрузчик будет размещён в MBR жёсткого диска и первым получит управление от BIOS. Для загрузки различных ОС информацию о их существовании следует просто прописать в файлах конфигурации загрузчика. При установке рядом с уже существующими системами программа установки автоматически ищет их загрузочные разделы и прописывает их в конфигурацию загрузчика.

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

other=/dev/hda1 label=windows table=/dev/hda

Данная запись сообщает LILO о том, что на раздел установлена неизвестная ОС; в меню её надо отобразить под именем «windows»; в случае выбора пользователем этого пункта меню передать управление на загрузочный сектор .

После сохранения данного файла конфигурации необходимо дать команду:

# lilo

для того, чтобы изменения вступили в силу.

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

title Windows rootnoverify (hd0,0) chainloader +1

Если для загрузки ОС используется какое-либо другое программное обеспечение, то загрузчик необходимо установить в загрузочный сектор корневого раздела, на который ОС только что была установлена. Например, если корневой раздел (смонтированный как ) был размещён на , то и в поле «Загрузочное устройство» необходимо написать . Общее правило: если устройство указано как «полный» жёсткий диск (без указания номера раздела — например, ), то загрузчик будет поставлен в MBR указанного диска; если устройство указано как раздел диска (в конце номер раздела), то загрузчик будет установлен в загрузочный сектор соответствующего раздела. После того, как загрузчик размещён, необходимо сообщить общему загрузчику всех ОС о существовании нового раздела и необходимости передачи ему управления. Как это сделать — смотрите в документации к используемому вами программному обеспечению.

В принципе, на одной машине можно иметь 6 и более операционных систем. Например, , , две и две —  — отлично уживаются при условии, что каждой операционной системе выделено минимум по одному разделу на жёстком диске. Весь вопрос в допустимом количестве разделов на одном жёстком диске и объёме этого диска (который может быть недостаточным для размещения всех ОС).

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

# mkbootdisk `uname -r`

Обратите внимание, здесь использованы «обратные» апострофы — backtick. А также можно воспользоваться спасательной дискетой, созданной при установке . Установив или переустановив , после чего загрузка в станет невозможна, необходимо загрузить компьютер с загрузочной дискеты , сообщить загрузчику о появлении новой ОС, как показано выше, и восстановить загрузчик командой:

# lilo

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

  1. Иметь один общий -раздел на всех — ведь пользоваться им будут по очереди. Это может сэкономить некоторое место на диске.

  2. Использовать либо общий независимый загрузчик, а загрузчики каждой копии установить в начальные секторы корневых разделов, либо иметь общий выделенный раздел , монтируемый в корневые разделы, и один общий загрузчик, размещённый в MBR. Размер этого раздела может быть небольшим, порядка 20-30 МБ; обычно под него отводят один цилиндр жёсткого диска. При таких условиях не возникает проблем с обновлением ядра обеих копий и с гибкостью конфигурации общесистемного загрузчика.

Настройка загрузки

Олег Власенко

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

Закрыть меню