Как стать автором
Обновить

Включаем поддержку NVMe на старых материнках на примере Asus P9X79 WS

Время на прочтение2 мин
Количество просмотров65K
Всего голосов 21: ↑21 и ↓0+21
Комментарии34

Комментарии 34

Я пробовал изначально добавлять сторонние модули, но получил кирпич, именно по этому я и стал выдерать модули из материнок с идентичным биос. В этом случае все прошилось нормально. Эксперементировать я больше не буду, дабы не нарушать первое правило системного администратора.

Я для прошивки биоса просто отдельную микросхему купил, аналогичную стоявшей.
Копейки же стоят. И шил программатором, всегда мог на ноуте перепрошить.
Меня бог миловал от таких плясок с бубном, спасибо Asus. Моя материнка способна перешить биос даже без процессора и оперативки с флешки.
Пытался подобное на своём Z77 — после прошивки нового образа, с последующей перезагрузкой и скачиванием содержимого биоса, оказывалось, что образ не поменялся.
Окирпичить тоже удалось разок. На всякий случай прикупил в калифорнии две пзухи.
С тех пор бучусь через кловер, но с оригинальным биосом. Не так красиво, но в принципе работает, т.е. 7е винюки бутятся с NMVE (Samsung 970 pro).

Тут именно проблема с защитой. Именно по этому первым шьется оригинал, а уже затем мод. И ни в коем случае не использовать родную утилиту прошивки — только AFUWINx64.

Переделывал Asus P8Z77-V deluxe, заработало. Перешивал «аварийным» способом — файл с определённым именем на флешке в определённый порт, в таком режиме меньше проверок, прошилось и работало.

Ну информации на данный момент прилично в интернете как бутится. Сам я делаю это через кловер, может не очень красивый, но простой и универсальный способ. мать асрок. биос uefi но старый. биос поддаётся модификации, но записать потом его не получается, так как он не проходит проверку целостности. Как её пройти — одному асроку известно… или видимо через программатор.

Ну я всегда крайне негативно относился к материнкам ASRock по собственному опыту и огромной коллекции трупов материнок данной фирмы. Вы пробовали шить первым оригинальный биос и без перезагрузки заливать мод, как я написал в статье? Индекс, в который добавляется модуль правильный? Редактировали биос чем?

Редактировал чем-то сильно похожим на ммтул, не помню, но глядя на ваши скрины, как 2 капли воды. Шить оригинальный перед модифицированным не пробовал, хотя мысли такие были и они имеют под собой основания зачастую проверка целостности биоса может не появится в каком -то из старых версий биоса например… Скажем так, для меня в тот момент важно было запустить систему а не провести эксперимент по загрузке с nvme. нужен был второй комп, программаторов под рукой не было. если бы мне не нужен был второй комп я бы обязательно дожал…
UEFITool скорее всего
image
Если не секрет, к каким временам относится огромная коллекция дохлых материнок ASRock?
От 2010 по нынешний, последней сдохла материнка под майнинг — по одному стали отваливаться порты и в конце концов она просто сдохла.

У меня тоже отвалились все асраки, что были куплены в офис. Не беру больше их. MSI получше, но тоже сдохли. А вот асусы живучие. У самого P9X79, 9 летней давности, тогда нужна была железка, в которую 64 гб не дорогой памяти встанет из коробки, вот прикупил себе 2697-V2, смотрю можно и 128 гигов ddr3 поставить, теперь вколхоживать NVMe по вашему мануалу буду. Спасибо !

Эх…
Увидел заголовок и подумал: «добавить поддержку NVME» + habr = наконец то кто то разродился модификацией под nonUEFi.
Вроде AMI биосы тоже можно модульно модифицировать, но никто так и не и не добавил NVME :(

Да, к сожалению это прискорбно.

nonUEFI наводит на времена Core iX 1-2-3 поколений и раньше. Sandy/Ivy-Bridge семейства и раньше, что вполне себе даёт решение — портирование coreboot на эти платы. Payload-ом при этом выбирается SeaBIOS, который уже несколько лет как умеет грузиться с nvme. Для успешного порта надо снять полные дампы настроек SIO, GPIO и прерываний. Также желательно, чтобы на материнке был com порт.
Материнки под sandy/ivy bridge уже шли с uefi bios.
В сущности там даже на бытовые/офисные чипсеты поддержка nvme через модификацию bios спокойно добавляется.

Добавлял загрузку с nvme на мать с B75 чипсетом год назад. Отлично работает. Единственный минус в том что PCI-E 3.0 доступен с Ivy Bridge и занят видеокартой. Соответственно под nvme остаётся 4 линии pci-e 2.0 (во всяком случае большинство адаптеров расчитано на 4 линии) что немного обрезает возможную скорость но позволяет воткнуть любой дешевый nvme и не переживать.
6x серия чипсетов, гигабайт ещё делал последние потуги на Award BIOS.
Ну значит мне сильно повезло с Asus.
В сущности Ivy Bridge это весьма удачное поколение. Там и Sata 3.0 и USB 3.0 и PCI-E 3.0. Туда ещё есть смысл добавлять nvme, а для прошлых поколений и sata ssd хватит (обычный ssd многое может реанимировать).
Ivy Bridge это весьма удачное поколение, в особенности процессоры на Socket 2011 — наличие 40 PCI-e линий дает возможность юзать помимо видюхи еще и высокоскоростной NVMe без каких-либо компромиссов. Sandy Bridge E так же имеет 40 линий, но редакция PCI-e там 2.0 (Core i7-3820). К тому же 4-х канальный контроллер памяти тоже примечательная вещь.
lga 2011 это в подавляющем большинстве случаев хуанан + списанный xeon.

1. пользы от большого объёма оперативки и/или nvme больше чем от теоретической скорости последовательного чтения.
2. задач где nvme проявит себя и не упрётся в процессор не так много и их ещё поискать надо.
3. я бы посмотрел на того кто в здравом уме к xeon/huanan будет дорогой nvme ставить.

P.S. китайский lga 2011 хлам (дешево поиграть, посчитать, поиграться с прошивками — сойдёт (впрочем там уже lga 2011-v2 в тренде), но лучше уж ryzen. как обладатель x79-p3 + e5-2650 v2 говорю.
В подавляющем, но не в моем, слава богу. Xeon E5-2687v2 (да, списанный, но даже виртуализация не поломана) + P9X79 WS + 32GB Corsair XMS3 1600 + NVMe Samsung EVO Plus 1Tb, Windows server 2019 — какая в пень рязань, не умею я их готовить…
Если интересно — после того, как вкорячу поддержку в AWARD, могу написать статью про то, как можно хоть третий пень затюнить каким-нибудь NVMe SSD без всяких дополнительных загрузочных устройств.
Кстати говоря, сейчас осуществил вариант, о котором писал в нескольких темах: добавил поддержку загрузки с NVME в legacy bios (AMI 8), который даже не слышал про NVMe и UEFI. Подопытные кролики — ASUS P5KLP-SE (в роли материнской платы) и Toshiba RC100 (в роли NVMe SSD).
Небольшое HOW-TO для тех, кто захочет повторить этот маразм:
1) Читаем тему на win-raid.com
2) Скачиваем архив из первого поста в ней.
3) Записываем VID/DID NVMe носителя, который планируем использовать. (Либо ищем в гугле, либо, что более надёжно, вставляем в материнку через переходник m.2 to pci-e, грузим линукс какой-нибудь и записываем нужные цифры из вывода lspci -n)
4) При помощи OpRomCfg.exe (или путём редактирования NvmeOpRom.bin, если не под виндами или руками привыкли всё делать) вписываем в прошивку значения из п.3 и контрольную сумму.
5) Если у вас AMI, то берём MMTool 3.19/3.22 и добавляем полученный опром. Если AWARD — то лучше заранее приготовить программатор, т.к. авард славится косяками своих родных утилит и часто ими убивает прошивку, но можно попытаться найти cbrom, который будет работать с вашей прошивкой нормально. Если Phoenix/Insyde — то всё совсем плохо.
6) Делаем бэкап прошивки.
7) Прошиваем полученный в п.5 образ
8) Заходим в меню выбора загрузочных устройств и наслаждаемся строчкой вида «NVME 01:00.00.1»
9) Ставим Windows 7 с добавленными дровами/Windows 8/Windows 10/Любимый дистрибутив линукса
10) Наслаждаемся жизнью без всяких Clover и воткнутых на постоянной основе флешек.
Отличная работа.
У Вас там не Xeon часом?
Эта проверка была предварительной — насколько оно вменяемо получается. Следующий шаг будет в интеграции этого OpRom-а в AWARD BIOS на промышленной встраиваемой плате (С установленным Atom D510), причём уже совершенно в наркоманском режиме — miniPCIe->m.2 (т.е PCIe Gen. 1 x1), от чего и выбирался сам NVMe носитель (т.к. других (именно NVMe, а не SATA) в формате 2242 я в природе не встречал. Судя по поиску — народ таким образом даже Intel Optane заводил. А процессор там стоит Core 2 Duo, плата из парка тестовых плат, для прогона всякого разрабатываемого PCIe железа.
П.С. Любители извращений на полную катушку могут попробовать интегрировать в Windows XP неофициальные дрова для поддержки NVMe и попытаться поставить на такое решение её. Если этих извращений мало — поставить NVMe через переходник на классический PCI 32Bit, и взгромоздить это дело на Pentium-2/3.

SSD любой подойдёт для этого? У меня Kingston NV1 на 1Tb

Если его видит линукс и работает с ним как с NVMe, размер сектора равен 512 байт и объём менее 2 Тб, то да.
Привет! После выполнения действий из статьи — в списке загрузочных устройств nvme-накопитель не появился. В каком направлении можно поковырять?

Мать p9x79deluxe с исходной прошивкой P9X79-DELUXE-ASUS-4801.CAP
Модули nvme брал с прошивки SABERTOOTH-X99-ASUS-3902.CAP

В обновленной прошивке модули nvme присутствуют — я ее по новой заэкстрактил и проверил состав в mmtool:
  • NvmeInt13
  • Nvme
  • NvmeSmm

Модули в обновленной прошивке находятся в том же вольюме (во 2), что и в прошивке-доноре.

nvme-накопитель aps-se20g gen3x4 подключен к третьему слоту pci-e x16 через переходник bit.ly/3fxm6rw.
После загрузки оси накопитель виден и диск полностью функционирует.

Странно все это... должно работать. Подумаю в чем может быть проблема.

Попробовал извлечь модули по вашей инструкции. Однако у меня в том же самом образе (X99 версии 4101) не выводится значительная часть имён в третьей колонке, она просто пуста. Вы не могли бы написать GUID требуемых модулей для извлечения?

O_o Они же видны на скринах и не меняются даже в сборке...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории