ФАК: Интеловские БИОСы

ФАК: Интеловские БИОСы
? Что же представляет собой Интеловский БИОС?
Довольно извращенный вид или Феникса, или АМИ. Феникс, как правило, встречается на платах под 486, первопень и PII, а АМИ - на всех остальных. Интел никогда не был замечен (по крайней мере мной;)) в использовании Аварда
? Чем можно слить БИОС с Интеловской мамы?
486 - вероятно Norton Disk Editor'ом в режиме редактирования памяти.
все остальные мамы - либо Uniflash'ем с ключиком -FORCE для задания типа флешки, хотя успех не гарантирован, либо на программаторе (100%), но обычно на Интеловских мамах флешка запаяна, да и она в не совсем стандартной корпусировке (TSOP-40:()
? А залить?
вариант 1 - упоминавшийся выше программатор
вариант 2 - продвинутые прошивальщики типа Uniflash или Amiflash, хотя очень сомневаюсь, что они смогут прошить. Обычные флешеры типа Awdflash просто помрут со смеха;)
вариант 3 - оригинальный прошивальщик от Интела.
здесь есть грабли след. рода: файлы с апдейтами БИОСа с сайта Интела содержат прошивку, но в довольно неприятном виде: прошивка обычно разбита на куски, причем как собрать из них один файл (который уже можно предложить программатору/uniflash'у) обычно не очень очевидно. Поэтому если возникла проблема собрать прошивку см. описание этого вопроса ниже.
Прошивальщик от Интела умный: он сам заливает все куски во флешку в правильном порядке, так что с ним проблем не возникает... Но от умности появляется и недостаток: он работает только на интеловских мамах, так что о хотсвопе можно забыть.
? Чем можно распаковать БИОС?
Если это феникс, то можно попытаться использовать распаковщики для Phoenix (phnxdeco)... АМИшные БИОСы, как правило распаковываются amideco или AMIBCP, хотя иногда последний просто вываливается даже не сообщая об ошибке...


? Хелп! Я убил БИОС мамы!!! Как восстановить?
На плате должен быть джампер Recovery. Им и нужно воспользоваться... Подсовываете машинке прошивку на дискете и уходите в ребут...
? Чем можно отредактировать БИОС?
Интел специально для целей редактирования своих БИОСов предлагает Intel Integrator Toolkit. Эта штука позволяет
а) изменять размер БИОСа (а также определять его;))
б) изменять стандартные настройки (а-ля MODBIN или AMIBCP)
в) скрывать и запрещать изменение настроек (тоже функции MODBIN/AMIBCP)
г) и позволяет создавать архивы с прошивкой и прошивальщиком (конечно, прошивка опять лежит кусочками, а прошивальщик интеловский, так что чудес ждать не приходится:()
И опять же грабли: увы, не все БИОСы могут быть отредактированы этой тулзой...
Опять же по идее можно воспользоваться стандартными утилитами редактирования от Феникса и АМИ, но не факт, что что-нибудь получится
?В БИОСе есть такой код "BT84520A.86A.0024.P10.0308081142". Что он обозначает?

BT84520A.86A.0024.P10.0308081142
Код платы с указанием чипсета
Код производителя
Версия БИОСа - билд?
Версия БИОСа - Production. т.е. номер релиза
Дата в формате ГГММДДЧЧММ

более старый вариант (430/440 series + 810):
4A3NT0X0.86A.0062.P06.9708261632
первая группа символов - код платы
чипсет
(4x3xxxxx=430, 4x4xxxxx=440, 8x1xxxxx=810)
4A3NT0X0 - первые две буквы названия платы.
Итак, это БИОС от AN430TX
Версия платы
Код производителя
Версия БИОСа - билд?
Версия БИОСа - Production. т.е. номер релиза
Дата в формате ГГММДДЧЧММ

Альтернативный вариант для старых плат -
1.00.03.CB0
1.00.04.BT0L
первые две группы цифр - всегда "1.00"
Версия БИОСа
Двухбуквенный код платы
Код производителя (ОЕМ)

? Итак, стоит задача сделать из набора файлов, предлагаемых Интелом нормальную прошивку в одном файле для мамы.
Что нам надо?
- простой hex-редактор, способный вырезать, копировать и вставлять блоки
- небольшой инструментарий БИОСокопателя
- прямые руки, работающая голова, включенная логика
! склеивать файлы можно стандартной тулзой copy. например, так:
copy /b file1 + file2 dest_file
file1, file2 - склеиваемые файлы, dest-file - то, что получится после склейки.

1) качаем архив с прошивкой с Интела именно к своей маме. Запутаться на сайте трудно:) Если там нету, то действительно проблема. Стоит попытаться поискать в гугле как по названию мамы, так и по коду БИОСа (типа такого: 4S4R100A.86A.0010.P04.9904231421) Код биоса можно посмотреть в конце прошивки, если удастся слить хоть что-то

2) Скачанный файл открывается любым архиватором, понимающим SFX ZIP-архивы. Для windows это, например, WinRAR, для линуксоидов - unzip/unrar;) либо просто запускается на самораспаковку. Рано или поздно мы увидим набор файлов *.BI1, *.BI2 и т.д.... Это и есть прошивка. Могут возникнуть грабли с некоторыми мамами, у которых прошивка лежит в самораспаковывающемся на дискету архиве. Остается его только распаковать, т.к. ни один нормальный архиватор его не берет (проверено). Затем с дискетки можно распакованные файлы перенести в более приличное место;)
небольшая справка по файлам:
BBO - файл с бут-блоком (последние N байт прошивки)
BI? - файлы с самим БИОСом.
LNG - как видно, это файлы для поддержки разных языков
REC - файл для Recovery
ITK - файл для Intel Integrator Toolkit

3) у Интеловский БИОСов есть четыре формата разрезки (независимо от типа БИОСа - АМИ или Феникс):

а) первопневый из двух файлов.
Первопневые прошивки состоят из двух файлов: BIO и BI1. Вырезаем с каждого файла первые 128 байтов заголовка. Самая главная особенность этого формата, что бут-блок в файле BIO, а все остальное в BI1. Учитывая, что эти мамы несут на борту 1МБитный флеш, а общий размер файлов обычно чуть меньше этого объема, то надо создать вспомогательный файл, содержащий FFки, который смог бы дополнить прошивку до размера флешки.

б) весь БИОС лежит в нескольких файлах BI?
В этом случае может быть две идеологии.
для 4МБитных БИОСов:
bi1 bio
bi3 bi2
bi5 bi4
ff64 bi6
где ff64 - файл, забитый 64КБ FFками
и для остальных:
bio bi1 bi2 bi3 bi4 .... bi6 bi7 ... bin
причем может быть, что в середину придется вставить один или несколько блоков-заглушек.
Обычно надо ориентироваться на то, что вставлять FFки после всех кусков (mainblock'а), но до бутблока. При этом опять же надо помнить, что у всех файлов есть заголовок. В данном случае он равен 160 байтам и его надо уничтожить.;)

в) самое интересное:) Тип, где бут-блок лежит в отдельном файле BBO.
В этом случае делаем то же, что и в предыдущем пункте, но учитываем, что бут-блок в конце, т.о. получается примерно следующее:
bio bi1 bi2 .... bin bbo
еще одна особенность: здесь ffки надо вставлять или в начало, или опять же между mainblock и bootblock

г) однофайловый дизайн BIO.
см. пост Serge.

Если ничего не получается:
1) проверьте сколько байтов отрезаете. От каждого файла BI? нужно отрезать заголовок (он в начале) в 100 с хвостиком байт, так, чтобы остался кусок размером в n*16384 байт (16384, 32768, 65536), в зависимости от исходного размера. Т.е. если файл весит 65696, нужно отрезать 65696 mod 16384=160 байт.
2) посмотрите еще раз каков должен быть размер БИОСа. Т.к. Интеловцы извращенцы, то БИОС может занимать и 3МБита...
3) попробуйте еще варианты. Может Вы просто не совсем угадали порядок файлов в прошивке.

PS: последней каплей, ставшей причиной написания сего опуса, стал пост hairs'а по сборке образа прошивки интеловской мамы для программатора...

Огромную благодарность хотелось бы выразить
DanZer - за помощь в выяснении правильного порядка сборки. Заодно и за соавторство:)
apple_rom - за инфу о сборке 4-хмегабиток
Serge - за раскопки в направлении БИОСов от мам на 875/865/925 чипсетов

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

В общем, интел везде делает по-своему:(
Вот и нарвался на небольшие очередные грабли.
речь идет о 1.00.xx.AC0, оно же I486 Champion II Low Profile или Classic/R.
Это мама под 486 со флешом 64КБ и видео на борту (Cirrus Logic CL-GD542X). Поэтому ясно, что хотя файлов и два (BIO ~ 64K, BI1 ~ 48K), но только один из них и является прошивкой БИОСа мамы. Другой - ВидеоБИОС. Соответственно, ничего клеить не надо, а просто следует вырезать заголовки и пойти прошивать 8)

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

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

Дополнение ко второму пункту - самараспаковывающиеся образы дискет распаковываются WinImage

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

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

Дополнение к дополнению: отнюдь не все. Только те, в которых есть пара файлов rawrite.exe и xxxxxxx.img Файлы же, созданные при помощи Sydex diskette image processor пока ничему не поддаются. Хотя работы ведутся и в этом направлении. Следите за новостями;)

Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь

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

Which Intel desktop boards support the Intel Integrator Toolkit?
Your system must include an Intel Desktop Board based on an Intel® 865 or newer chipset. Refer to the ITK download page for a list of currently supported boards.

А есть какая-нить тулза, умеющая 845?

В кривых руках и коврик глючит.

Аватар пользователя cs.alliance - S.W.A.T.

Здраствуйте.
Я вот повырезал заглавия с файлов прошивки у меня их:
P17-0033.SIG
P17-0033.BIO
P17-0033.BI6
P17-0033.BI5
P17-0033.BI4
P17-0033.BI3
P17-0033.BI2
P17-0033.BI1
FF64 - FF 64kb
FF32 - FF 32kb

Я добавил FF'ки мне нужные чтоб получилось 524288 байт, но я не знаю куда имеено мне надо их добавлять, подскажите пожалуйста порядок склеивания.

Это я правильно склеиваю?

copy /b P17-0033.bio + P17-0033.bi1 + P17-0033.bi2 + P17-0033.bi3 + P17-0033.bi4 + P17-0033.bi5 + P17-0033.bi6 + ff64 + ff32 amiboot.rom

Человек - разумен, а люди это глупые подверженные панике животные (украл у менеджера pro100)

Попала в руки мать D845GLVA, по причине спешки клиента особенно и не ремонтировалась (клиент купил новую мать, а эта осталась у меня). У матери аппаратная проблема, связанная с включением, по причине отсутствия желания и проца отправлена в ящик;). По случаю (forum.rom.by/topic17159.html) был считан дамп и сравнен с набором файлов от Intel'а. И буквально вчера подарили еще одну мать с аналогичной проблемой - D845GVSR, над ней были произведены те же манипуляции.
Мать D845GLVA оказалась с кодом VA84510A.86A.0008.P03.0302280022, а D845GVSR - VA84510A.86A.0030.P10.0402160229.
Объем флешки - 4 Мбита.
Набор файлов имеет вид *.BIO, *.BI1-*.BI6, Logodata.usr.

Вот что получилось из сравнения:

Адрес в дампе                       Файл/Блок 0xFF                          Длина

0x00000-0x0FFFF                     *.BIO                                   64 kb

0x10000-0x1FFFF                     *.BI1                                   64 kb

0x20000-0x2FFFF                     *.BI2                                   64 kb

0x30000-0x3FFFF                     *.BI3                                   64 kb

0x40000-0x4FFFF                     *.BI4                                   64 kb

0x50000-0x57FFF                     *.BI5 (мл. половина)                    32 kb
0x58000-0x5C6FF                     0xFF                                    18176 b
0x5C700-0x5F3AF                     Logodata.usr                            12288 b
0x5F3B0-0x5FFFF                     0xFF                                    2304 b

0x60000-0x67FFF                     *.BI5 (мл. половина)                    32 kb
0x68000-0x6C6FF                     0xFF                                    18176 b
0x6C700-0x6F3AF                     Logodata.usr                            12288 b
0x6F3B0-0x6FFFF                     0xFF                                    2304 b

0x70000-0x77FFF                     *.BI5 (ст. половина)                    32 kb
0x78000-0x7FFFF                     *.BI6                                   32 kb

У файлов *.BI? обрезались заголовки по 160 байт, а у Logodata.usr - 128 байт.
У Logodata.usr последние 849 байт заполнены 0x00, а в дампе соответствующие байты - 0xFF.
Файл *.BI5 раскладывается на 2 одинаковые части, которые записываются по разным адресам
Зоны 0x50000-0x5FFFF и 0x60000-0x6FFFF полностью идентичны.
В зонах, помеченных как блоки 0xFF, в некоторых местах имеются какие-то данные/осмысленный текст (по D845GLVA):
0x587A0
----
9F 03 AC BD 1E 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 03 43 43 48 48 52 52 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
01 03 03 04 05 06 07 00 01 02 03 04 00 00 00 01
36 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07
08 09 0A 0B 00 00 00 00 01 52 5C 00 00 00 00 00
00 00 01 02 03 00 00 00 00 01 3C E5 00 00 00 00

0x58BC0
----
47 F9 0B E4 ED 62 11 D7 9F B2 00 E0 18 88 9B FA

0x58C70
----
FF FF FF FF FF FF FF FF FF FF FF FF 49 6E 74 65 |            Inte
6C 20 43 6F 72 70 6F 72 61 74 69 6F 6E 00 FF FF |l Corporation
FF FF FF FF FF FF FF FF FF FF FF FF 44 38 34 35 |            D845
47 4C 56 41 00 FF FF FF FF FF FF FF FF FF FF FF |GLVA
FF FF FF FF FF FF FF FF FF FF FF FF 41 41 43 33 |            AAC3
30 34 32 33 2D 32 30 32 00 FF FF FF FF FF FF FF |0423-202
FF FF FF FF 42 51 56 41 33 33 39 30 31 35 34 33 |    BQVA33901543
00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF |

0x58E00
----
25 12 53 00 12 00 04 27 05 04 26 02 50 80 00 04
40 50 00 E5 0E 80 02 FF FF 30 30 00 00 00 00 00
00 00 00 00 00 00 00 30 30 4C 07 47 07 47 05 AB
FF FF 20 85 80 FE 00 00 00 04 74 01 01 00 0E 98
00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00
00 00 00 00 00 00 00 00 00 40 00 00 00 E0 80 00
00 00 00 00 00 00 03 00 00 10 32 54 76 98 BA 00
2C 86 02 00 86 CB 02 00 C8 6C 00 08 FE 85 40 A9
8E 00 1A 38 0C 0A 00 00 00 00 00 00 00 00 0B 91
49 08 51 02 00 00 00 5E A0 00 00 00 C3 00 20 25
BB 80 91 49 00 80 00 00 53 55 80 00 21 43 65 87
A9 0B 11 03 11 0D 02 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 32 00 00 00 00 CE 44 00

0x5F700
----
49 6E 74 65 6C 30 10 00 00 00 00 00 00 00 00 01	|Intel
08 90 02 01 01 00 00 06 20 00 04 00 00 00 00 00	|
08 90 04 06 10 23 49 24 00 02 00 00 00 00 00 00	|
08 90 04 06 10 23 52 48 00 02 00 00 00 00 00 00	|
08 90 05 12 21 23 08 40 00 02 00 00 00 00 00 00	|
08 90 06 02 16 11 07 58 00 02 00 00 00 00 00 00	|
08 90 06 05 16 10 02 53 00 02 00 00 00 00 00 00	|
08 90 06 05 16 10 03 39 00 02 00 00 00 00 00 00	|

0x5FFD0
----
FA FC BA F8 0C 66 B8 D4 F8 00 80 66 EF BA FC 0C
ED 25 FF DF EB 09 00 00 00 00 00 00 00 00 00 EF
0F 09 EB DC 00 00 00 00 00 00 00 00 00 00 FC 02

Одинаковым для D845GLVA и D845GVSR из этих блоков является только блок по адресу 0x5FFD0. Блок по адресу 0x58E00 у D845GVSR полностью заполнен 0xFF.
В блоке по адресу 0x58C70 имеется код, который присутствует на наклейке в следующем виде: BQVA33901543 AA C30423-202.

А не подскажите ли с какого адреса стартует БИОС ?
Пишут о каком то эфимерном FFFF:0000... Это где если размер файла 256к ?
по какомуе смещениюе от начала файла образа биоса находится первая выполняемая инструкция ?

Не в тему, но отвечу;).

Цитата:
Пишут о каком то эфимерном FFFF:0000

Правильно пишут для 8086, адрес FFFF0h - в конце первого мегабайта.
Для 386+ адрес FFFFFFF0h - в конце 4 Гбайт.
При старте ROM доступен в конце адресного пространства.

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

Цитата:
Это где если размер файла 256к ?

по какомуе смещениюе от начала файла образа биоса находится первая выполняемая инструкция
смещение - (-16) байт с конца файла. Там сразу будет инструкция перехода.Что же до того почему в 256КБ файле появляется физический адрес FFFF:0000, то надо сказать, что БИОС мапится на участок адресуемого пространства памяти. Как и говорит maco, оный находится "в конце адресного пространства". Тот же Pinczakko приводил примеры на пальцах по каким адресам лежат разные по размеру БИОСы.

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

цс.альянс-у: почитай forum.rom-by.com/topic14248.html

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

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

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

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