Удаление/добавление/замена модулей в Award BIOS

На форуме часто встречаются просьбы помочь с добалением/удалением модулей в прошивку. Собственно мне надоело писать по сто раз одно и то же и решил я накатать маленькую статейку в Вики по этому поводу. По мере поступления новых вопросов на форуме, статья будет редактироваться, дополняться конкретными примерами. Это только черновик. Пока рассмотрена работа только с обычным Award BIOS. Примеры работы с ASUS Award BIOS и другими "брендовыми" прошивками будут добавлены по мере поступления вопросов.

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

Итак для добавления/удаления/замены модулей в Award BIOS существует утилита cbrom. На данное время актуальна версия 1.82
Здесь я коротко опишу примеры работы с Award BIOS для добавления новых модулей в прошивку. Это может пригодиться при установке в материнскую плату дополнительных контроллеров, допустим распространенного RAID-контроллера на чипе VIA-6421.

Типы модулей:

1. /isa - (уже не актуально, но скоро добавлю точное описание процедуры)
2. /vga - модуль встроенной видеокарты
3. /logo - тот самый логотип, который мы видим при включении материнской платы
4. /pci - модуль какого либо PCI-устройства. Это может быть BIOS RAID-контроллера, bootrom сетевой карты, etc.
5. /awdflash - интегрированный в BIOS прошивальшик. С его помощью производится обновление прошивки.
6. /cpucode - модуль микрокодов CPU. Иногда для запуска материнки с новым процессором требуется его обновление
7. /epa - логотипчик, который мы видим в правом-верхнем углу экрана при запуске матери.
8. /fnt0 - 5 Шрифты для многоязычных BIOS-ов

Есть еще достаточно много типов модулей, но в данном случае их знание нам не нужно.

Рассмотрим добавление модуля RAID-контроллера VIA-6421 в прошивку матплаты EPOX EP-8K3AP

Для начала получим список модулей уже имеющихся в прошивке

D:\Bios\BP>cbrom182 8k3ap.bin /d
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007

              ********    8k3ap.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS       20000h(128.00K)  13C01h(79.00K)  6a6lvpaj.BIN
  1. XGROUP CODE       0B9C0h(46.44K)   0826Ch(32.61K)  awardext.rom
  2. ACPI table        035FEh(13.50K)   015B3h(5.42K)   ACPITBL.BIN
  3. YGROUP ROM        06390h(24.89K)   0384Ah(14.07K)  awardeyt.rom
  4. GROUP ROM[ 0]     039C0h(14.44K)   01B0Ch(6.76K)   _EN_CODE.BIN
  5. PCI ROM[A]        0C000h(48.00K)   06FFCh(28.00K)  372232b.rom
  6. Flash ROM         09D8Eh(39.39K)   05638h(21.55K)  AWDFLASH.EXE

  Total compress code space  = 34000h(208.00K)
  Total compressed code size = 2EDAAh(187.42K)
  Remain compress code space = 05256h(20.58K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------

При простой попытке добавить модуль 6421.rom cbrom ругнется на недостаток места в прошивке

D:\Bios\BP>cbrom182 8k3ap.bin /pci 6421.rom
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007
Adding 6421.rom ....... 48.8%
8k3ap.bin have not enough space for adding ROM. (Over 2694h bytes)

Значит нужно удалить что нибудь нам ненужное. В данном случае это интегрированный в прошивку флешер AWDFLASH.EXE

D:\Bios\BP>cbrom182 8k3ap.bin /awdflash release
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007
[Flash ROM] ROM is release

Ну и собственно теперь добавляем модуль RAID-контроллера

D:\Bios\BP>cbrom182 8k3ap.bin /pci 6421.rom
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007
Adding 6421.rom ....... 48.8%

Смотрим, что получилось

D:\Bios\BP>cbrom182 8k3ap.bin /d
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007

              ********    8k3ap.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS       20000h(128.00K)  13C01h(79.00K)  6a6lvpaj.BIN
  1. XGROUP CODE       0B9C0h(46.44K)   0826Ch(32.61K)  awardext.rom
  2. ACPI table        035FEh(13.50K)   015B3h(5.42K)   ACPITBL.BIN
  3. YGROUP ROM        06390h(24.89K)   0384Ah(14.07K)  awardeyt.rom
  4. GROUP ROM[ 0]     039C0h(14.44K)   01B0Ch(6.76K)   _EN_CODE.BIN
  5. PCI ROM[A]        0C000h(48.00K)   06FFCh(28.00K)  372232b.rom
  6. PCI ROM[B]        0F800h(62.00K)   0792Ah(30.29K)  6421.rom

  Total compress code space  = 34000h(208.00K)
  Total compressed code size = 3109Ch(196.15K)
  Remain compress code space = 02F64h(11.85K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------

Теперь просто для примера рассмотрим случай с удалением одного из PCI-модулей, когда их несколько. Тут все еще проще.
Cbrom сам спрашивает какой именно модуль мы хотим удалить.
Удаляем добавленный нами модуль RAID-контроллера:

D:\Bios\BP>cbrom182 8k3ap.bin /pci release
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007
PCI ROM - - - [A] : 372232b.rom
PCI ROM - - - [B] : 6421.rom
Enter a choice:b
[PCI-B] ROM is release

D:\Bios\BP>cbrom182 8k3ap.bin /d
cbrom182 V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007

              ********    8k3ap.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS       20000h(128.00K)  13C01h(79.00K)  6a6lvpaj.BIN
  1. XGROUP CODE       0B9C0h(46.44K)   0826Ch(32.61K)  awardext.rom
  2. ACPI table        035FEh(13.50K)   015B3h(5.42K)   ACPITBL.BIN
  3. YGROUP ROM        06390h(24.89K)   0384Ah(14.07K)  awardeyt.rom
  4. GROUP ROM[ 0]     039C0h(14.44K)   01B0Ch(6.76K)   _EN_CODE.BIN
  5. PCI ROM[A]        0C000h(48.00K)   06FFCh(28.00K)  372232b.rom

  Total compress code space  = 34000h(208.00K)
  Total compressed code size = 29772h(165.86K)
  Remain compress code space = 0A88Eh(42.14K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------

Жду критики:) Конструктивной;)

Аватар пользователя Santa

It's OK. Даже 2 раза ок. Просто нуна определиться куда это ложить. Зайди на "справку" - и так далее. Наш Главарь потом когда-нибудь сделает на этот материал ссылку на гланой странице......
У меня было меньше терпения чем у тебя...

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

Аватар пользователя Pavel

В Вики и положим после доведения/одобрения большинством.
С утра отрубился мой АДСЛ. По обычному диалапу и правда тоскливо:)

Jazz, Blues & Rock'n'Roll фарева!

Нужная информация:).
Может стоит добавить пример работы с nvmm и minit модулями (поднимался такой вопрос). Еще стоит включить кратенькую справку по всем возможностям cbrom'а с короткой характеристикой полезности каждого пункта (на ваш взгляд). Т.е. разделить на часто и редко используемые функции.

Аватар пользователя Santa

Цитата:
В Вики и положим после доведения/одобрения большинством.
Дык там и доведем...

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

Аватар пользователя Pavel

Ну тогда я счас попробую.

Jazz, Blues & Rock'n'Roll фарева!

Аватар пользователя Pavel

Собственно вот: Удаление/добавление/замена модулей в BIOS

Jazz, Blues & Rock'n'Roll фарева!

подскажите пож-та как можно сменить стандартное logo на какое-нибудь свое, главное как и в какой программе сохранить, чтоб cbrom не ругался типа "поддерживаются цвета 16&256", если можно поподробней

все, проблема решена

Аватар пользователя apple_rom

still64

Даже для не зарегистрированных пользователей правильно было бы придерживаться правила описать решение проблемы (пусть даже она была простой и родилась в слетсвие детской ошибки - все ошибаются).

Аватар пользователя apple_rom

Цитата:
Цитата:
В Вики и положим после доведения/одобрения большинством.
Дык там и доведем...
Хм, народ, а чем "здесь" - не вики??? Ведь тут и проще и удобней? Создавать материал можно в ворде и публиковать удалённо (загружая с компьютера на сайт).

п.с. Если же выработалась стойкая привычка к викишным тэгам - можно их добавить и сюда (считал это лишним, когда есть WYSIWYG-редактор или Word)

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей