Редактировать BIOS. Эпизод второй

30 Ноя 2012

Редактировать BIOS. Эпизод второй

Продолжаем исследовать возможности Flash Images Tool по внесению пра­вок в BIOS и связанные с ним стуктуры.

В предыдущей статье «Редактируем BIOS» мы рассмотрели декомпозицию флеш-образа на составные части: регионы и разделы (партиции). По­лу­чен­ный в результате этим ма­ни­пу­ля­ций образ базовой системы ввода и вывода годен к ра­бо­те с утилитой AMIBCP.

Сейчас наша задача  обратна к предыдущей — вернуть в файл измененный BIOS и собрать из имеющихся частей код для заливки во Flash ROM.

 

Обновление образа Flash Image

Для получения результирующего файла с обновлением необходимо загрузить бинарный файл BIOS в структуру Flash Image. Для этого нужно перейти в BIOS Region и двойным кликом активизировать строку меню Binary Input File:

Загрузка бинарного файла BIOS в структуру Flash Image

В модальном окне следует указать путь к бинарнику, ранее отредактированному с помощью утилиты AMIBCP:

Путь к бинарнику, ранее отредактированному с помощью AMIBCP

Успешное завершение этой операции приводит к тому, что параметр Binary Input File приобретает следующий вид:

Утилита FTool готова к ребилду BIOS

Обратите внимание, что сейчас его значение равно $SourceDir\edited.rom вместо ранее полученного в результате декомпозиции d:\amibcp\amibios\Decomp\BIOS Region.bin. Теперь контент утилиты FTool готов к операции Rebuild.

Build Image

Запустив ее с помощью клавиши F5 (или пункта Build Image из меню Build), контролируем финальную стадию процесса генерации нового образа Flash Image. Его следует искать в директории d:/amibcp/Build под именем outimage.bin.

Сообщения об ошибках

Ошибки, возникшие на этапе построения выходного файла, логируются в ftool.log и дублируются кодами завершения операции (Build thread exit code).

Одной из характерных ситуаций является сообщение The flash parts specified aren't big enough to hold the image that is being built!, смысл которой состоит в том, что вместо бинарного файла BIOS в меню Binary Input File вводится файл образа Flash Image.

The flash parts specified aren't big enough to hold the image that is being built

Трактовка этой ошибки применительно к нашему примеру означает, что в результирующий файл размером 4 мегабайта не поместится он сам плюс служебная информация, хранящаяся в Descriptor Region и Manageability Engine Region. Вместо него в качестве бинарного файла необходимо указать edited.rom размером 2 мегабайта.

P.S.

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

Сайт «Новые технологии»,
специально для Компостера.