Альтернативный способ модификации AWARD BIOS для поддержки процессоров в конструктиве LGA771

Собственно, оригинальный способ, оснастку и микрокоды можно найти здесь (непосредственно инструкция по AWARD тут), и в большинстве случаев использование этого способа не несет никаких проблем и не имеет подводных камней, но я в своей практике регулярно сталкивался с такой проблемой:
001

Причины данной проблемы могу быть разными, но сообщение об ошибке обычно одно и то же — FILENAME have not enough space for adding ROM. Т.е. места нет.

По хорошему, начинать модификацию AWARD нужно не с извлечения существующих микрокодов, не с подбора новых, а с команды CBROM195.EXE BIOSNAME /D:

002
На картинке выше виден результат выполнения команды на BIOS материнской платы Gigabyte GA-965P-DS3 первой версии (не ревизии PCB, а версии BIOS!). Красным помечена команда, зеленым — шапка информации о микрокодах. Если под шапкой есть строки микрокодов — всё хорошо! Данная плата и данный BIOS модифицируются достаточно легко.

В качестве компромиссного в плане функционала и места решения я выбрал следующие — берем последние версии микрокодов для всех процессоров поколения CORE во всех конструктивах (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) и подменяем ими всё что было до того. Набор микрокодов получился следующий:

003

Объём этого набора — всего 76 килобайт. Данный файл получился путём объединения этих файлов:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

Сама процедура модификации показана на картинке ниже:
004

Красным выделены команды, зеленым то — на что нужно обратить внимание. Разберем команды по порядку:

  1. attrib +R ncpucode.bin — команда ставит атрибут ReadOnly файлу с микрокодами, это нужно для того, чтобы cbrom его не затёр.
  2. CBROM195.exe 965pds3.f1 /D — команда выводит информацию о нынешнем содержимом BIOS. Обращаем внимание на то, что блок под «зеленым» заголовком не пустой.
  3. CBROM195.exe 965pds3.f1 /nc_cpucode ncpucode.bin — собственно модификация. Загоняем наш ncpucode.bin в 965pds3.f1. Обращаем внимание на то, что сообщений об ошибках нет. Только Combine NCPUCODE.BIN file to 965pds3.f1…
  4. CBROM195.exe 965pds3.f1 /D — Проверка. Обращаем внимание на то, что блок под «зеленым» заголовком не пустой и изменился по сравнению со вторым пунктом.

Это — идеальный случай. Микрокоды там где надо, подмена произошла нормально, на выходе получился образ BIOS с последними версиями микрокодов под все актуальные процессоры (Core/Xeon, 45/65nm, 1/2/4 сore), да еще и места свободного увеличилось, что будет полезным при обновлении irst rom и пр.
К сожалению, так бывает далеко не всегда.
 


 
001
На картинке выше виден результат выполнения команды на BIOS материнской платы Gigabyte GA-965P-DS3 четырнадцатой версии (не ревизии PCB, а версии BIOS!), т.е. той же самой платы, с первой версией прошивки которой выше у нас всё получилось. Последняя же версия «радует» сообщением FILENAME have not enough space for adding ROM. Т.е. места нет.
 
Пытаемся разобраться почему так получается:
005

  1. Даём команду CBROM195.exe 965PDS3.F14 /D и видим что «зеленая» область пуста.
  2. Команда intelmicrocodelist.exe 965PDS3.F14 указывает на то, что набор микрокодов в образе всё-таки есть, но находится где-то не там, где его ожидает обнаружить CBROM

 
Наверняка, микрокоды в такой ситуации всё равно можно «достать» и «подменить», но я не умею. В своей практике выработал для таких ситуаций очередное компромиссное решение — загружать в BIOS только LGA771 микрокоды. Для этого я сделал подборки микрокодов в одном файле, аналогичные описанному выше ncpucode.bin, но другого содержания:

  • 45nm.bin — микрокоды на все 45nm процессоры
  • 65nm.bin — микрокоды на все 65nm процессоры
  • 771_45nm.bin — микрокоды на все 45nm Xeon LGA771
  • 771_ALL.bin — микрокоды на все Xeon LGA771

 
Важно! давать команду attrib +R имя_файла нужно!
 
Таким образом, в «проблемный» BIOS четырнадцатой версии моржно попытаться загрузить только LGA771 микрокоды в стандартную бласть и посмотреть что получится:
006
А не получится собственно ничего. В BIOS нет даже 16KB свободного места. В таком случае есть два пути: удалить или упростить что-то в BIOS, например OEM LOGO, либо, загружать микрокоды по одному. Т.к. я обычно делаю моды «для всех», а не под конкретный процессор, я либо упрощаю LOGO, либо говорю что «материнская плата не модифицируется моим методом, читайте FAQ, вопрос №2«, а так же, даю ссылку на этот метод.

Владельцам «неудобных» плат Gigabyte, да и плат других вендоров (места порой не хватает в платах ECS, причем со стандартным местом хранения микрокодов) можно порекомендовать следующие способы:

  1. Поискать готовый мод. Модификаторов много, технологии у всех разные.
  2. Попытаться сделать «частичныое» обновление/добавление микрокодов, как описано выше.
  3. Сделать мод самостоятельно под конкретный процессор так, как это описано тут.
  4. Сделать мод самостоятельно под конкретный процессор так, как это описано здесь.
  5. Сделать мод более старой версии самостоятельно любым методом.
  6. Упростить OEM LOGO (или какой-то иной компонент) и попробовать сделать мод самостоятельно.
  7. Попробовать сделать мод под конкретный процессор так, как это описано там.

В заключении традиционно предлагаю архив (ZIP, 240KB) с инструментами, использованными в данной заметке.

Запись опубликована в рубрике 771mod с метками , , , . Добавьте в закладки постоянную ссылку.

10 комментариев: Альтернативный способ модификации AWARD BIOS для поддержки процессоров в конструктиве LGA771

  1. Mikl говорит:

    Здравствуйте. Можете помочь — создать биос для IP-35P с поддержкой Xeon. Могу прислать биос , который установлен, я его сохранил с помощью программы FlashMenu/

  2. Mikl говорит:

    Чукча не читатель, чукча писатель))) Я просто в биосах не разбираюсь, но мне помогли и по вашей инструкции сделали новый биос из существующего с новыми микрокодами, которые вы подготовили.
    Сегодня пробовал — заменил старый проц Е2180 на Xeon 5460, мат плата IP-35V.
    ОС — windows 10 корпоративная, версия 1511. Система запускается, но не получилось ничего — температура определяется не правильно, в биосе была температу 90 гр. С, хотя Биос видит проц вроде правильно, а в Система пишет, что это старый проц 2180, только кеш второго уровня видит 6 Мб. Пробовал запускал Windows 7 PE, в оборудовании правильно определяется проц и видно все 4 ядра и кеш вес есть (12 Мб),но пришлось отключить защиту по температуре, т.к. выключалось все — хотя рукой проверял — ничего не перегревалось. Я поставил новый кулер GAMMAXX S40. Что не так, семерку надо ставить с нуля? или на 10 тоже будет работать Xeon 5460?

    • IdeaFix говорит:

      1. Я дал Вам ссылку на страницу с FAQ и модифицированным BIOS http://ideafix.name/?p=1748, было?
      2. В FAQ есть ответы на часть Ваших вопросов, а так же есть вопрос 4. Там ответы на остальные по ссылке.

      Если Вы не хотите читать — я не могу более ни чем помочь.

  3. ironwolf115 говорит:

    Попробовал сделать мод на материнке P35C-DS3R со своей ревизией платы, удалил логотипы из файла и интегрировал микрокоды от xeon45nm, однако проверка списка микрокодов показывает что изменений нету.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *