Рубрика «загрузчик» - 2

Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE
Пишем загрузчик ПЛИС в LabVIEW. Часть 1

Пишем загрузчик ПЛИС в LabVIEW. Часть 2 - 1

В первой статье мы обкатали алгоритм загрузки на старом добром Си, во второй статье разобрались, как в LabVIEW можно организовать программу и реализовать простой интерфейс пользователя. В этот раз мы познакомимся с новыми приемами работы в LabVIEW, разберем особенности обработки ошибок и завершим проект: реализуем протокол загрузки файла конфигурации в ПЛИС.Читать полностью »

Пишем загрузчик ПЛИС в LabVIEW - 1

У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смотрите как все просто, соединил крутилку с индикатором, кручу ручку, меняется циферка", или в лучшем случае на график в цикле выводится случайное число или синус, все это сопровождается зубодробительным интерфейсом в виде гигантских тумблеров, крутилок и стрелочных индикаторов. Лично меня такой подход сознательного упрощения раздражает. В небольшом цикле статей я постараюсь познакомить читателя с процессом разработки прикладного ПО на LabVIEW. Для того, чтобы не уделять много времени предметной области, воспользуемся подробно описанным алгоритмом загрузки файла конфигурации в ПЛИС через FTDI в режиме MPSSE (Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE). В этой статье я покажу как реализовать такой же загрузчик ПЛИС, но на языке LabVIEW.

Читать полностью »

Модернизация IDA Pro. Учимся писать загрузчики на Python - 1

Привет всем,

цикл статей по написанию разных полезных штук для IDA Pro продолжается. В прошлый раз мы исправляли процессорный модуль, а сегодня речь пойдёт о написании модуля-загрузчика (лоадера) для одной винтажной операционной системы, а именно — для AmigaOS. Писать будем на Python. Также я постараюсь раскрыть некоторые тонкости при работе с релоками (они же relocations), которые встречаются во многих исполняемых файлах (PE, ELF, MS-DOS и т.п.).Читать полностью »

Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

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

image

Хотите прокачать ваши Arduino проекты? Заставить их работать быстрее, измерения и регулировку сделать точнее, ну и добавить баги, с новыми девайсами они неизбежны. Тогда эта статья для Вас.

Arduino тема всё больше захватывает умы человечества, но рано или поздно мы встречаемся с тем, что нам чего-то не хватает, например бюджета/размеров/пиновпортов/разрядности/производительности… Как говорил один мудрый человек — «Кто хочет, тот ищет возможности, кто не хочет — ищет причины».

Хорошие люди это понимают, и потихоньку начинают приобщать STM32 к ардуино теме, ибо восьмибитные AVR микроконтроллеры, на которых основано немало ардуино плат, не всегда могут справиться с поставленными задачами.

Краткое изложение данной статьи в видео формате:


Читать полностью »

Загрузчик (bootloader) — очень удобный инструмент работы с микроконтроллерами (далее — МК). Это маленькая программа, которая позволяет МК «самопрограммироваться» (self-programming). Обычно, при подаче питания на МК, управление сначала получает загрузчик, которые проверят заранее заданные условия (определенное состояние на ножке МК, флаг в EEPROM, подходящий файл прошивки на SD-карте и т.д.). Если условия не выполняются, то управление передается основной программе. Если же условия выполняются, то загрузчик переключается в режим программирования, получая данные новой прошивки по предопределенному интерфейсу. Это позволяет обновить прошивку МК не прибегая к паяльнику, программатору или внутрисхемному программированию.
Читать полностью »

Настройка UEFI Dual Boot системы, приправленной rEFInd - 1
КДПВ. Бут-менеджер rEFInd с темой оформления Regular.

На сегодняшний день практически все уже слышали про технологию UEFI. Говорить о том, что это такое и зачем оно нужно, я не собираюсь. Сегодня я бы хотел описать простейший сценарий установки Dual Boot системы с полной поддержкой UEFI, а также рассмотреть отдельно установку и настройку бут-менеджера rEFInd. Возможно вы уже видели подобные мануалы и гайды, но я постараюсь донести весьма доходчиво суть того, что мы будем делать и зачем. В других мануалах вы лишь смотрите за «магией» картежника и пытаетесь её повторить, делая, зачастую, элементарные ошибки. Кому эта тема интересна — прошу под кат.Читать полностью »

Объяснительная записка

Публикую журналированный результат работы по обеспечению себя универсальным живучим образом установленной операционной системы (далее ОС) Windows XP SP3.

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

Почему это нужно?

Фривольное клонирование ОС MS Windows XP - Server 2003 своими руками, средствами GNU-Linux - 1

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

1) ОС должна устанавливаться и работать на разделах произвольных размеров;
2) ОС должна исправно загружаться, будучи установленной на любой тип носителя, поддерживающий загрузку (оснащенный MBR*);
3) ОС должна функционировать на различных вариантах аппаратно-зависимого уровня (HAL**);
4) Образ ОС должен занимать минимум места на носителе для ускорения его переноса, дооснащения, переборки;
5) Образ ОС должен включать в себя необходимый набор установленного и настроенного лучшим образом ПО (вариант «система под ключ»);
6) Все манипуляции по приготовлению образа и по его развертке должны производиться штатными средствами GNU/Linux***. Смысл: разобрать по косточкам принцип работы имеющегося ПО для клонирования ОС;
7) Носителем образа ОС может быть сервер в сети, USB-накопитель (твердотельный либо винчестер), оптический или жесткий магнитный диск;
8) Носитель образа ОС должен быть оснащен средствами диагностики и ремонта ПО компьютера;
9) Желательно процесс клонирования ОС сделать максимально доступным ради хорошей повторяемости без урезания надежности результата;
10) Команда dd, безусловно, хороша, вот только неохота возиться с пустым пространством, нулями и отсутствием четкого вывода текущего действия. Кроме того, раздел, в который будет установлен клон, должен быть произвольным (см. п. 1).

Вне рассмотрения:

1) Юридические моменты установки неподдерживаемой ныне ОС;
2) Активация неактивируемой ныне официально ОС;
3) Целесообразность производимых действий. Не задротствакрасноглазия ради, но токмо волею пославших меня юзеров. Пославших за попытку убедить в кошерности использования свежего свободно-распространяемого программного обеспечения на их дуболомных машинах;
4) Подробности типовой установки ОС Windows XP и доп. ПО на компьютер, за исключением разбивки диска;
5) Подробности метода сетевого клонирования: рассмотрю в дальнейшем, сейчас такой нужды не имею.

Кому это нужно?

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

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

Дата написания статьи — 2 декабря 2014 года, посему будущим поколениям шлю свой привет, а насколько сохранится актуальность материала для вас — не ведаю.

Добро пожаловать, %username%, под отрезок.
Читать полностью »

Sony продолжает делать шаги навстречу энтузиастам в области разработки альтернативного программного обеспечения и упрощает процедуру разблокировки бутлоадера. Теперь для этого достаточно трех простых шагов: зайти на сайт Unlockbootloader, выбрать модель устройства Xperia, указать номер IMEI и получить код разблокировки. Кроме того, нами была обновлена и актуализирована база устройств для того, чтобы вы смогли получить самые точные инструкции, а также добавлен раздел с часто задаваемыми вопросами. Удачной работы!

Читать полностью »

UEFI Tux Logo

Введение

Прочитав недавнюю статью Загрузка ОС Linux без загрузчика, понял две вещи: многим интересна «новинка», датируемая аж 2011 годом; автор не описал самого основного, без чего, собственно, и работать ничего не будет в некоторых случаях. Также была ещё одна статья, но либо она уже устарела, либо там опять таки много лишнего и недосказанного одновременно.

А конкретно, был упущен основной момент — сборочная опция ядра CONFIG_EFI_STUB. Так как в последних версиях U(lu/ku/edu/*etc*)buntu эта опция по умолчанию уже включена, никаких подозрений у автора не появилось.
Насколько мне известно, на текущий момент она включена в дистрибутивах указанных версий и выше: Arch Linux, Fedora 17, OpenSUSE 12.2 и Ubuntu 12.10. В комментах ещё упомянули, что Debian с ядром 2.6 умеет, но это не более, чем бэкпорт с последних версий. На этих дистрибутивах, пересобирать вообще ничего не нужно! А ведь на других CONFIG_EFI_STUB, скорее всего, либо вообще отсутствует, т. к. опция доступна только с ядра версии 3.3.0 и выше, либо выключена по умолчанию. Соответственно, всё, описанное ниже, справедливо для ядра, собранного с опцией CONFIG_EFI_STUB.

Итак, что же такое Linux Kernel EFI Boot Stub?

Общая информация

А ни что иное, как… «exe-файл»!Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js