Удаление/добавление/замена модулей в 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
------------------+--------------------+--------------------+-------------------

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

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

Новые cbrom32 1.96 / 1.98 умеют работать с MINIT (опция есть - работоспособность не проверял) так что - Дерзайте!

Дрессируем коров :)

Спасибо! Буду пробывать

Оцепятка вышла - пробовать:)
Кстати скачать новые версии не удалось...

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

Гугл реально помогает.

ВложениеРазмер
CBROM196.rar 74.71 КБ

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

Вообщем у меня проблема.
Материнка P3b-f и контроллер 6421A. Использую Cbrom V2.07 и биос 6421 v431.
В CBROM сделал так: cbrom p3bf_noa.bin /pci 6421.rom). Вот получилось:

CBROM V2.07 (C)Award Software 2000 All Rights Reserved.
 ******** p3bf_noa.bin BIOS component ********
 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS             20000h(128.00K)   12292h(72.64K)   original.tmp
  1. Other(6000:0000)        06CF3h(27.24K)    03B3Ch(14.81K)   AWARDEXT.ROM
  2. EPA pattern             00642h(1.56K)     002A1h(0.66K)    awardepa.epa
  3. ACPI table              02742h(9.81K)     00ECEh(3.70K)    ACPITBL.BIN
  4. VRS ROM                 01F65h(7.85K)     012BBh(4.68K)    cav_shdw.bin
  5. HPC ROM                 08000h(32.00K)    04FCAh(19.95K)   pci32.rom
  6. CPU micro code          0C062h(48.10K)    064E9h(25.23K)   cpucode.exe
  7. PCI driver[A]           0F800h(62.00K)    0792Ah(30.29K)   6421.rom
  Total compress code space  = 32292h(200.64K)
  Total compressed code size = 2AFD5h(171.96K)
  Remain compress code space = 072BDh(28.68K)

Потом залил этот биос через Aflash (с параметром /boot)- все записалось, но загрузка с двд сата не идёт (Scsi boot device выставлен первым).

Вместо Cbrom 2.07 попробовал Cbrom 1.13a.

C:\bios\acbrom>cbrom p3bf_noa.bin /d
CBROM v1.13a
Copyright (c) Award Software, Inc. 1995-1997 All Rights Reserved.
******** p3bf_noa.bin BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K)12292h(72.64K)original.tmp

1. Other(6000:0000) 06CF3h(27.24K)03B3Ch(14.81K)AWARDEXT.ROM
2. EPA pattern 00642h(1.56K)002A1h(0.66K)awardepa.epa
3. ACPI table 02742h(9.81K)00ECEh(3.70K)ACPITBL.BIN
4. Other(4007:0000) 01F65h(7.85K)012BBh(4.68K)cav_shdw.bin
5. Other(4006:0000) 08000h(32.00K)04FCAh(19.95K)pci32.rom
6. CPU micro code 0C062h(48.10K)064E9h(25.23K)cpucode.exe
Total compress code space = 32292h(200.64K)
Total compressed code size = 236ABh(141.67K)
Remain compress code space = 0EBE7h(58.98K)

C:\bios\acbrom>cbrom p3bf_noa.bin /pci 6421.rom
CBROM v1.13a
Copyright (c) Award Software, Inc. 1995-1997 All Rights Reserved.
Adding 6421.rom ....... 48.8%
p3bf_noa.bin have not enough space for adding ROM. (Over 78E2h bytes)

Теперь пишет что места не хватает (~4 Кбайта).
Вот и думаю что удалить. cav_shdw.bin - это для чего?

Да кстати прочитал на форуме ixbt:
"Да, и самое главное, о чем не всегда пишут, считая очевидным: чтобы все заработало, нужно вырезать микросхему памяти из контроллера."
Это так? Может поэтому у меня биос контроллера не виден?

rumble писал(-а):
cav_shdw.bin - это для чего?
Это кусок кода, притворяющийся антивирусом:D. Можно удалять.

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

Просто в статье не указано, что нужно вырезать че-то. Может она всё-таки не мешает...confused

бл*ть сделают гавно, потом мучаешься с нимevil - это я про via

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

Цитата:
чтобы все заработало, нужно вырезать микросхему памяти из контроллера.
Улыбнуло. Забавный способ, возьму на заметку
Можно пруф на эту замечательную идею?
Цитата:
сделают гавно, потом мучаешься с ним - это я про via
Это дядя Ляо сделал, а не VIA.

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

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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