Прошивка BIOS архивных плат Supermicro через DOS

2023.09.17
Большинство архивных материнских плат от Supermicro можно прошить через загрузочную флешку с DOS, все просто, разберем все моменты.

Большинство (начиная от древних X5) архивных материнских плат от Supermicro прошиваются через загрузочную флешку с DOS. Недавно архивированные платы типа X9DRD-CNT поддерживаю прошивку и через DOS и через встроенный терминал UEFI.

В моем распоряжении была плата X9DBL-I на сокете LGA 1356 с версией BIOS 1.0a:

Версия BIOS до обновления 1.0a

Для обновления нам необходимо скачать само обновление (на странице описания платы Update Your BIOS):

Страница материнской платы на сайте Supermicro

Смотрим что внутри архива: ami.bat - значит будем обновлятсья с DOS.

Прочитать Readme перед прошивкой будет полезно и поможет избежать проблем.

Из Readme мы можем узнать что имя прошивки формируется так PPPPPSSY.MDD:

Наш файл X9DBL8.928 поэтому дата изготовления прошивки 2018-09-28.

Создание загрузочной флешки с DOS

Создаем загрузочную флешку с DOS. Для этого идем на страницу загрузок FreeDOS и скачиваем FreeDOS 1.3 LiteUSB - это легковесный образ достаточный для прошивки BIOS.

Теперь нужно запись образ на флешку, для этого можно использовать какие-то графические утилиты, либо можно использовать терминальный dd который всегда под рукой.

Проверяем список текущих дисков до того как присоединим наше устройство:

$ sudo lsblk -io KNAME,TYPE,SIZE,MODEL,MOUNTPOINT
KNAME     TYPE   SIZE MODEL           MOUNTPOINT
nvme0n1   disk 476,9G SSSTC CL4-8D512
nvme0n1p1 part   300M                 /boot/efi
nvme0n1p2 part    16M                 
nvme0n1p3 part 244,1G                 
nvme0n1p4 part 232,5G                 /

Присоединяем флешку и смотрим какое устройство появилось:

$ sudo lsblk -io KNAME,TYPE,SIZE,MODEL,MOUNTPOINT
sda       disk  14,9G USB FLASH DRIVE
sda1      part   224K                 
sda2      part   2,8M                 
sda3      part   1,1G                 /media/byurrer/PVE
sda4      part   300K                 
nvme0n1   disk 476,9G SSSTC CL4-8D512
nvme0n1p1 part   300M                 /boot/efi
nvme0n1p2 part    16M                 
nvme0n1p3 part 244,1G                 
nvme0n1p4 part 232,5G                 /

Наша флешка это sda, теперь записывам образ FreeDOS из скачанного архива:

$ sudo dd if=/home/byurrer/Загрузки/FD13-LiteUSB/FD13LITE.img of=/dev/sda
32+0 записей получено
32+0 записей отправлено
33554432 байт (34 MB, 32 MiB) скопирован, 0,0287584 s, 1,2 GB/s

Запись происходит быстро. Теперь в корень флешки копируем директорию с прошивкой, в моем случае содержимое директории такое:

$ ls
AFUDOSU.smc   ami.bat  'Readme for AMI BIOS.txt'   X9DBL8.928

Действия на сервере

Теперь идем на сервер где стоит материнская плата Supermicro и загружаемся с флешки, переходим в такой терминал отменяя установку FreeDOS:

Командная строка livecd FreeDOS

При помощи команды cd переходим в директорию с прошивкой BIOS, вводим cd X9 затем TAB и нам подставляется имя директории. Запускаем прошивку командой ami.bat указывая имя файла прошивки и дожидаемся ее окончания:

C:>cd X9DBL8_928
C:>ami.bat X9DBL8.928

Процесс обновления BIOS

Теперь отключаем питание кнопкой на корпусе, ждем отключения, включаем и при загрузке сервера на мониторе будет новая заставка:

Новый загрузочный экран

А при входе в BIOS новая версия 3.3:

Версия BIOS после обновления 3.3

Красивого графического интерфейса UEFI мы не получили, но зато обновили BIOS.

В телеграм канале DevOps от первого лица можно оставить комментарий или почитать интересные истории из практики DevOps