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

Вопрос первый: ссылка на BIOS?
Вопрос второй: загружается ли ваш чудо ноут с USB Flash?
Вопрос третий при запуске в Acer можно вызвать BootMenu - там появляется пункт при вставленной загрузочной USB Flash?


А при вставленной SD?
Вопрос четвёртый: в Windows XP в диспетчере устройств посмотрите VendorID/DeviceID картридера в разделе Контроллеры универсальной последовательной шины или Дисковые накопители. Если вы уверены что он PCI тогда приведите название.
Вообще Acer да и не только он ставят картридеры нескольких фирм Texas/Ricoh/Realtek причём в новых скорее USB чем PCI. По VendorID/DeviceID можно опознать производителя/найти даташит/узнать умеет ли оно вообще грузить систему.

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

global-download.acer.com/GDFiles%5CBIOS/BIOS/BIOS_Acer_1.14_A_AS6920.zip?a...


это ссылка на биос
ноут превосходно загружается с USB Flash при вызове BootMenu
а при вставленной SD просто не распознает таковое устройство просто ничего нет в меню загрузки кроме харда и привода DVD
а это ID картриддера
PCI\VEN_197B&DEV_2381&SUBSYS_01461025&REV_00
PCI\VEN_197B&DEV_2381&SUBSYS_01461025
PCI\VEN_197B&DEV_2381&CC_080501
PCI\VEN_197B&DEV_2381&CC_0805
соответствующий id оборудования
pci\cc_080501

Как и многим здесь нужно заставить работать SATA винт:) мат. плата Albatron PX848PV без sata на борту. контроллер на VIA6421. Операционка винт видит, БИОС - нет
-------------------------------------------------------------------------------------
CBROM182.exe V1.82 [04/11/07] (C)Phoenix Technologies 2001-2007
******** 48pv110.bin BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================ 0. System BIOS 20000h(128.00K)145B9h(81.43K)BIOS.BIN
1. XGROUP CODE 0BEB0h(47.67K)087E0h(33.97K)awardext.rom
2. CPU micro code 05000h(20.00K)04DCDh(19.45K)CPUCODE.BIN
3. ACPI table 03F49h(15.82K)01949h(6.32K)ACPITBL.BIN
4. YGROUP ROM 05590h(21.39K)038E3h(14.22K)awardeyt.rom
5. GROUP ROM[ 0] 04B40h(18.81K)02287h(8.63K)_EN_CODE.BIN
6. PCI ROM[A] 0E800h(58.00K)09358h(36.84K)MBIOS.ROM
7. OSB BMP ROM 064DCh(25.21K)01093h(4.14K)SN4IIP.BMP
8. OSB BMP1 ROM 065CCh(25.45K)01658h(5.59K)SN4P4P.BMP
9. OSB BMP2 ROM 065CCh(25.45K)017D5h(5.96K)SN4P4HT.BMP
10. OSB BMP3 ROM 08124h(32.29K)01DB2h(7.42K)SN4P4E.BMP
11. OSB BMP4 ROM 08124h(32.29K)01ECDh(7.70K)SN4P4HE.BMP
12. OSB BMP5 ROM 065CCh(25.45K)0141Bh(5.03K)SN4ICPD.BMP
(SP) NCPUCODE 07000h(28.00K)07000h(28.00K)NCPUCODE.BIN

Total compress code space = 48000h(288.00K)
Total compressed code size = 422CBh(264.70K)
Remain compress code space = 05D35h(23.30K)
----------------------------------------------------------------------------------
CBROM V2.07 (C)Award Software 2000 All Rights Reserved.


******** 48pv110.bin BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================ 0. System BIOS 20000h(128.00K)145B9h(81.43K)BIOS.BIN
1. XGROUP CODE 0BEB0h(47.67K)087E0h(33.97K)awardext.rom
2. CPU micro code 05000h(20.00K)04DCDh(19.45K)CPUCODE.BIN
3. ACPI table 03F49h(15.82K)01949h(6.32K)ACPITBL.BIN
4. YGROUP ROM 05590h(21.39K)038E3h(14.22K)awardeyt.rom
5. GROUP ROM[ 0] 04B40h(18.81K)02287h(8.63K)_EN_CODE.BIN
6. PCI driver[A] 0E800h(58.00K)09358h(36.84K)MBIOS.ROM
7. Other(404E:0000) 064DCh(25.21K)01093h(4.14K)SN4IIP.BMP
8. Other(404F:0000) 065CCh(25.45K)01658h(5.59K)SN4P4P.BMP
9. Other(4050:0000) 065CCh(25.45K)017D5h(5.96K)SN4P4HT.BMP
10. Other(4051:0000) 08124h(32.29K)01DB2h(7.42K)SN4P4E.BMP
11. Other(4052:0000) 08124h(32.29K)01ECDh(7.70K)SN4P4HE.BMP
12. Other(4053:0000) 065CCh(25.45K)0141Bh(5.03K)SN4ICPD.BMP

Total compress code space = 48000h(288.00K)
Total compressed code size = 3B2CBh(236.70K)
Remain compress code space = 0CD35h(51.30K)
-------------------------------------------------------------------------
AwardBIOSDeco, version 0.2 (Linux)=-
AwardBIOS information:
FileLength : 60000 (393216 bytes)
FileName : 48pv110.bin
Decompression : 4BF00
BootBlock : 5E000
First Module : 0000
ASUS? : NO
+-----------------------------------------------------------------------------+
| # Name Description FileOffset Ratio ID |
+-----------------------------------------------------------------------------+

01 ( BIOS.BIN) [ MainBIOS ROM]: 000000h, 63%, 50000000
02 ( awardext.rom) [ User-defined;)]: 0145B9h, 71%, 407F0000
03 ( CPUCODE.BIN) [ CPU micro code]: 01CD99h, 97%, 40010000
04 ( ACPITBL.BIN) [ ACPI Table]: 021B66h, 39%, 40030000
05 ( awardeyt.rom) [ YGROUP ROM]: 0234AFh, 66%, 400E0000
06 ( _EN_CODE.BIN) [ User-defined;)]: 026D92h, 45%, 40290000
07 ( MBIOS.ROM) [ User-defined;)]: 029019h, 63%, 40860000
08 ( SN4IIP.BMP) [ User-defined;)]: 032371h, 16%, 404E0000
09 ( SN4P4P.BMP) [ User-defined;)]: 033404h, 21%, 404F0000
10 ( SN4P4HT.BMP) [ User-defined;)]: 034A5Ch, 23%, 40500000
11 ( SN4P4E.BMP) [ User-defined;)]: 036231h, 22%, 40510000
12 ( SN4P4HE.BMP) [ User-defined;)]: 037FE3h, 23%, 40520000
13 ( SN4ICPD.BMP) [ User-defined;)]: 039EB0h, 19%, 40530000
Total Sections : 13
--------------------------------------------------------------------------------------------
Три разных вывода об одном и том же образе BIOS
Что можно удалить, чтобы впихнуть известный модуль VIA VT6421 (6421v431.rom 62KB) ?

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

Цитата:

7. OSB BMP ROM 064DCh(25.21K)01093h(4.14K)SN4IIP.BMP
8. OSB BMP1 ROM 065CCh(25.45K)01658h(5.59K)SN4P4P.BMP
9. OSB BMP2 ROM 065CCh(25.45K)017D5h(5.96K)SN4P4HT.BMP
10. OSB BMP3 ROM 08124h(32.29K)01DB2h(7.42K)SN4P4E.BMP
11. OSB BMP4 ROM 08124h(32.29K)01ECDh(7.70K)SN4P4HE.BMP
12. OSB BMP5 ROM 065CCh(25.45K)0141Bh(5.03K)SN4ICPD.BMP

Думаю, без всей этой байды, видимо красивой, но нафиг не нужной - будет работать.

Цитата:
6. PCI ROM[A] 0E800h(58.00K)09358h(36.84K)MBIOS.ROM

Это тоже можно выкинуть - это bootROM сетевой карты.

В принципе - хватает замены BootROM на нужный.

А кому счас легко...

Спасибо огромное за статью, с помощью нее поставил систему на винт через контроллер VIA.

Разобрался как перешивать биос и добавлять туда новые элементы.

А можно ли при помощи cbrom извлечь/заменить модуль с названием System BIOS?

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS       20000h(128.00K) 13173h(76.36K)  nf5m526.BIN
  1. XGROUP CODE       0EA70h(58.61K)  09C5Bh(39.09K)  awardext.rom
  2. CPU micro code    00800h(2.00K)   00219h(0.52K)   CPUCODE.BIN
  3. ACPI table        0636Ch(24.86K)  02066h(8.10K)   ACPITBL.BIN
  4. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  5. YGROUP ROM        0F820h(62.03K)  04644h(17.57K)  awardeyt.rom
  6. GROUP ROM[ 0]     05630h(21.55K)  02493h(9.14K)   _EN_CODE.BIN
  7. Other(40B5:0000)  01CD0h(7.20K)   00BAFh(2.92K)   _ITEM.BIN
  8. OEM0 CODE         0BA20h(46.53K)  00586h(1.38K)   BSMICODE.ROM
  9. PCI ROM[A]        0C000h(48.00K)  06FFDh(28.00K)  NVRAID.ROM
 10. PCI ROM[B]        0E000h(56.00K)  07271h(28.61K)  NVPXES.NIC
 11. Other(4067:0000)  0413Ch(16.31K)  010F7h(4.24K)   AGESACPU.ROM

В моём случае идёт под номером 0

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

нет

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

Огромное спасибо автору статьи!!!!! За полчаса разобрались и сделали, а главное все заработало. Теперь 6421 полноценный член команды нашей мозерборд. А леворукие китайцы в очередной раз посрамлены. Да здравствует Pavel и город Тимиртау!!!!

А может кто подскажет как работать с модулем MINIT, как его прописать в бут блок?

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

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

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

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