Вот еще покопаюсь с 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
------------------+--------------------+--------------------+-------------------Жду критики :) Конструктивной ;)
Нет.
Распакуйте и просмотрите, бОльшая часть вопросов отпадет :). К тому же принято давать ссылку на конкретную версию BIOS'а.
я так понял что: fron1.awd-шрифты, b169d.pxe - загрузка с LAN, dbf.bin - dual bios flasher.
ppminit.rom, special.fnt - а это не понял что такое. ?
А special.fnt - IMHO какие-то данные, но однозначно утверждать не буду.
Если он у вас без буквы r смысла добавлять первый модуль нет.
VIA 6421.
2. Суммируется побайтно все содержимое модуля, оставляется только младший байт суммы, а затем этот байт инвертируется и к нему добавляется 1, получаете байт контрольной суммы. Дописывается любым hex-редактором, например.
3. Опять же hex-редактор.
Берёте ROM модуль контроллера RAIDBIOS.BIN
Берёте здесь на заглавной странице CBROM32 1.95
запускаете из командной строки команду CBROM32.EXE MBBIOS.BIN /PCI RAIDBIOS.BIN
получаете BIOS матплаты с интегрированным RAID модулем.
Проверяете CBROM32.EXE MBBIOS.BIN /D
Всё сжатие и пересчёт сумм выполняется CBROMом автоматически.
Для Asus существует своя версия CBROM - Acbrom для старых матплат и CBROM32 1.15 (лично выковыривал из ASUS LiveUpdate) для новых.
На некоторых новых платах важен порядок и положение определённых модулей внутри прошивки матплаты (HTINIT, MINIT и т.д.)