На форуме часто встречаются просьбы помочь с добалением/удалением модулей в прошивку. Собственно мне надоело писать по сто раз одно и то же и решил я накатать маленькую статейку в Вики по этому поводу. По мере поступления новых вопросов на форуме, статья будет редактироваться, дополняться конкретными примерами. Это только черновик. Пока рассмотрена работа только с обычным 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 ------------------+--------------------+--------------------+-------------------
Жду критики Конструктивной
техсаппорт не в силах помочь по даному вопросу- потому я и обратился к ВАМ.
Вопрос первый: ссылка на 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) ?
Думаю, без всей этой байды, видимо красивой, но нафиг не нужной - будет работать.
Это тоже можно выкинуть - это bootROM сетевой карты.
В принципе - хватает замены BootROM на нужный.
А кому счас легко...
Спасибо огромное за статью, с помощью нее поставил систему на винт через контроллер VIA.
Разобрался как перешивать биос и добавлять туда новые элементы.
А можно ли при помощи cbrom извлечь/заменить модуль с названием System BIOS?
В моём случае идёт под номером 0
нет
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Огромное спасибо автору статьи!!!!! За полчаса разобрались и сделали, а главное все заработало. Теперь 6421 полноценный член команды нашей мозерборд. А леворукие китайцы в очередной раз посрамлены. Да здравствует Pavel и город Тимиртау!!!!
А может кто подскажет как работать с модулем MINIT, как его прописать в бут блок?
Отправить комментарий