В последнее время шибко участились просьбы сделать из того, что лежит на сайте Intel под видом прошивки - то, пригодно для перешивки на программаторе, то бишь образ BIOS (точней - образ EFI).
EFI
EFI - не
BIOS. Даже букв в названиях разное количество. А если это ещё и на плате от
Intel (снова отличное количество букв в названии) - получается совсем тяжко. Попробуем таки разобраться, при этом без углубления в слишком тонкие материи, а больше с прагматическим уклоном а-ля "сделать-прошить-забыть".
Капсула
Итак, скачанное с сайта
Intel под видом прошивки (верно для всех плат, начиная с 2004-го года) суть капсула
EFI. Капсула, как не сложно догадаться из названия - инкапсулирует в себе много
всякой ботвы различных компонентов, из которых, собственно, прошивальщик "на лету" собирает конечный образ
EFIBIOS (режет слух и возможны непонятки, потому далее буду использовать привычное название -
BIOS). Увидеть всё это хозяйство (кучу файлов/модулей в составе капсулы) можно с помощью пока недоделанной, но для такого уже рабочей - альфы
BIOS Patcher 7 (которую я где-то уже выкладывал в ветке по EFI).
Полуспособ номер один - оживляем через BootBlock

При открытии патчером капсулы видны длинные ветки инкапсулированных один в другой файлов, иногда такой глубины, что сразу чувствуешь всю капсульную натуру такой капсулы. Но нам не нужны все. Нам вообще, достаточно найти лишь одну "веточку", которая есть ничто иное, как бутблок в чистом виде. Обычно оный имеет стандартный размер в 64Кб (10000h), однако не факт - уже сталкивался с бутблоком на 256Кб на новых платах с
EFI.
Итого, даже не зная ничего и не желая напрягаться - тупо переберить все, что найдёте
FFS, пока не увидите справа напротив
Size заветные
010000. Другим точным указанием на то, что это именно
BootBlock - есть наличие в составе
FFS модуля (тип
RAW) с названием
SecCore Driver (
погоняло нашего
бутблока "у них - в
EFI"). Далее непринуждённо тыкаем кнопку
"Сохранить как" и получаем на выходе нужный код BootBlock.
Восстановить с помощью этого файла оригинальный
BIOS уже дальше дело техники. Кто внимательно читал
"Искусство перешивки BIOS" тому это будет совсем просто. Полученный код с помощью любого hex-редактора вставляем в самый конец "заготовки" прошивки (пустой файл, равный по объёму требуемой прошивке). Прошиваем и получаем ошибку
CRC BIOS (ясен перец - его-то -
BIOS-а - и нет вовсе), срабатывает аварийная процедура восстановления
BIOS (которая располагается в оживлённом нами
BootBlock-е) и после стандартных шаманских действий в такой ситуации на выходе получаем рабочий компьютер.
Способ номер два - собираем прошивку
Если предыдущий полуспособ по какой-то причине не подходит, придётся разбираться плотней. Итак, делаем скидку на то, что альфа патчера является альфой и что все варианты сразу описать не смогу.
CapsuleToImage

Ищем одноимённый модуль. Теоретически в окне справа оного должна быть отображена информация о составных частях прошивки и адресах, по которым нужно их расставлять.
С учётом
8-Мегабитности прошивки приведённого примера, что обозначает, что начальный адрес оной в памяти есть
FFF80000, несложно (хотя, может, и сложно) догадаться, что в недрах капсулы нужно найти три части и записать их по адресам
70000,
8000 и
2000 соответственно. Исходя из названия логично, что:
- recovery firmvare - есть ранее нами уже рассекреченный бутблок (поэтому и пишется в конец)
- main firmware - основной код BIOS (кликуха - DXE Core или POST по-нашенски)
- logos - и прочие подобные файлы (их может не быть) есть просто дополнительная мишура, полноэкранная заставка в данном случае
У каждой из частей отображается её
GUID по которому можно безошибочно извлечь нужный(-ую?)
FFS. С помощью того же hex-редактора записываем выделенные куски по нужным адресам в "заготовке" прошивки и на выходе получится заветный образ. Правда - почти. Но пока хватит.
Попробовал. Загрузчик нашел без проблем, а вот как сохранить его непонял. Отметил его, нажал "Сохранить как", но ничего не сохраняется, файл не создается.
Пишем правильно: мультиметр, тестер, цифровой осциллограф (недорогой осциллограф), доступ интернет, AMD-V, ноутбук Toshiba, Dell 500, вольтметр, пирометр, лазерная резка, компьютерная помощь, ремонт мониторов, паяльная станция, ноутбуки Sony, радиатор.
Роман, спасибо - в аккурат, вовремя пришлось (чтоб её, эту маму) ; Ысчо раз, очень вовремя и как всегда грамотно...
- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..
Роман, у меня есть самые свежие исходные коды BIOS-ов для материнских плат на современных чипсетах AMD любых вариантов - RS690 (все варианты), RS780 (все варианты), наверное, еще какие-то. BIOSы c поддержкой AGESA все версий: 3,4,6. В комплекте куча фирменного софта для отладки BIOS-ов. Интересует?
Очень интересует, хоть я и не Роман
Либо нечему гореть, либо нечем поджечь!
blaster, аналогично, меня тоже очень интересует!..
Партизан подпольной луны aka (R)soft
BIOS-это как раз и есть основной профиль этого форума-так зачем спрашивать?
а для сепаратизма есть приват-чтоб остальных не дразнить
Дайте пожалуйста ссылочку именно на патчер, окно которого изображено в этой статье, все перерыл не могу найти.
blaster, а для Phoenix BIOS есть у тебя тулзы? не могу никак найти(
Не понял, где взять ПАтчер 7???
rom.by/forum/EFI_unpacker Внизу.
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Отправить комментарий