 |
 |
AwardBIOS ROM Combination Utility |
 |
Про утилиту CbROM известно все. О ней известно всем, за исключением самых ленивых и самых умных. Она не раз спасала ситуацию в безвыходном, казалось бы, положении. Поэтому мы все благодарны создателям этого программного продукта за руку помощи, которую они нам протянули.
Прежде, чем использовать CbROM, необходимо понять, что модульная архитектура AwardBIOS позволяет более или менее вольно комбинировать некоторыми модулями, написанными посторонними производителями: встраивать их в тело BIOS, либо удалять из оттуда.
Если необходимо, чтобы работал контроллер Adaptec или Symbios Logic без чипа BIOS на борту, значить код Option ROM должен быть помещен в системный BIOS в виде отдельного модуля. На первых порах утилита CbROM благополучно справлялась с этой задачей как для одномегабитных, так и для двумегабитных Flash ROM.
Давно прошли те времена, когда компания Award Software анонсировала новые версии CbROM, тщательно документируя функциональные возможности и методично описывая каждый из используемых ключей. Сегодня доступны только первые выпуски User's Guide для ранних релизов, проливающие свет на трудный процесс становления этого уникального продукта.
Из них мы узнаем то, чему давно научились многократно экспериментируя с бесчисленным количеством файлов BIOS: синтаксис командной строки. Но в жизни всегда остается место открытиям! Постараемся найти что-то новое и в хорошо забытом старом.
CbROM.EXE BIOS-файл [/{параметр} 800:0] [ROM-файл | {директива}]
/ncr : добавление NCR(SYMBIOS) SCSI ROM в системный BIOS
/aha : добавление Adaptec Host Adapter AHA78xx SCSI ROM в системный BIOS
/vga : добавление видео-BIOS
/other : добавление пользовательского OEM ROM в системный BIOS
Если вместо имени файла, который должен быть встроен в системный BIOS, указана {директива} (в данной версии утилиты CbROM допускается единственная директива – Release), модуль, на который указывает {параметр}, извлекается из тела BIOS. Таким образом, если необходимо извлечь NCR SCSI ROM, необходимо пользоваться семантической конструкцией следующего вида:
CbROM.EXE BIOS-файл /other 800:0 Release
При условии, что точно известно, в каком сегменте памяти расположен удаляемый SCSI BIOS (в нашем примере это, разумеется, сегмент 800h). Успешное завершение операции сопровождается выводом на экран такого, например, сообщения:
NCR driver is released
Подробнее о диагностических возможностях утилиты читайте в разделе Сообщения CbROM.
Как указано выше, если планируется обеспечить работоспособность SCSI-адаптеров, используется один из параметров /ncr или /aha. Если пользователю требуется встроить VGA BIOS для поддержки видеоадаптера, на помощь приходит параметр /vga. Общим для такого рода модулей является то, что все они должны соответствовать спецификации PCI BIOS.
Особняком стоит использование параметра /other. Для внедрения в тело BIOS бинарного кода, который в процессе выполнения POST должен распаковать в заданную область оперативной памяти, кроме самого параметра необходимо указать и адрес области Expand to RAM в формате [сегмент]:[смещение]. Так, если планируется поместить в сегмент с адресом 800h файл удаленной загрузки по сети BOOTROM.bin, то формат командной строки приобретает вид:
CbROM biosfile.bin /other 800:0 BOOTROM.bin
Параметр /other – единственный из списка утилиты CbROM, который и требует, и позволяет явно указать адрес в оперативной памяти, где будет размещаться внедряемый ROM-файл. Исполнение такого ROM-файла всецело зависит от функциональных возможностей, реализованных в исходном коде BIOS. Вывод: при использовании параметра /other необходимо твердо знать, что в BIOS есть возможность вызвать программный код, помещенный в указанную область.
Инсталляция несжатых образов Option ROM в тело системного BIOS использует один из известных алгоритмов компрессии LHA. По этой причине успешное завершение операции сопровождается выводом на экран коэфициентом сжатия, указанным в процентном соотношении. Низкий коэфициент говорит о том, что исходный файл ROM уже находится в упакованном состоянии. Определить это можно найдя метку -lh5 в теле бинарного файла.
В некоторых случаях пользователь может столкнуться с ситуацией, когда после сжатия ROM-файл не может быть помещен в системный BIOS. Такая транзакция сопровождается сообщением:
Not enough ROM size for adding driver
Информация об ошибке свидетельствует о том, что для упакованного модуля недостаточно места. Руководство пользователя предлагает обратиться к разработчикам, чтобы те за счет оптимизации исходного кода уменьшили размер всех прочих модулей BIOS. Но реальный путь – расстаться с некоторыми из не особо важных составляющих в пользу заданного ROM-файла.
|
 |