11 окт. 2013 г.

Прошивка LSI SAS HBA на платах Supermicro X9 через EFI Shell

 При прошивке SAS HBA контроллеров LSI (9200, 9211, 9207 или их OEM вариантов от Supermicro, IBM, Intel, Dell и других вендоров) можно столкнуться с достаточно известной проблемой — прошивать приходится из-под DOS и иногда sas2flash не запускается с сообщением об ошибке "Failed to initialize PAL". Если для PCI-E контроллеров можно было выйти из положения, используя для прошивки другую материнскую плату, то как быть с интегрированными контроллерами на платах Supermicro X9?
На данный момент Supermicro распаивает на платах два варианта SAS HBA: на чипе LSI 2008 (первое поколение 6Гбит HBA, в X9 встречается разве что в Twin платформах, например 2027TR-H70RF+) и на чипе 2308 (второе поколение, например на плате X9DR7-LN4F). Выход из положение простой: все платы X9 имеют UEFI и существует версия sas2flash (утилиты для прошивки) для запуска из оболочки EFI (EFI Shell).
Для примера будем шить LSI 2308 прошивкой IT. В отличие от IR, данная прошивка не имеет поддержки RAID, зато обеспечивает поддержку TRIM/Unmap для SSD и большую производительность (на контроллерах с IR будет лимит в несколько десятков тыс. IOPS, даже если не использовать встроенный RAID). Можно взять прошивку от Supermicro, а можно - от LSI 9207-8i.
  1. Форматируем флешку в FAT32, и скидываем на нее:
    • sas2flash для EFI (sas2flash.efi): на странице продукта с сайта LSI (Installer_P17_for_UEFI или более новой версии).
    • Образы firmware и BIOS. IT firmware лежит в \Firmware\HBA_9207_8i_IT, BIOS: файл \sasbios_rel\mptsas2.rom
  2. Загружаемся в EFI sheel. Для этого при старте системы нужно нажать F11 и выбрать соответствующий пункт в загрузочном меню.
  3. Точка монтирования флешки скорее всего будет на fs0. Переходим в каталог с прошивкой (для примера это будет lsi_fw):
      fs0:
      fs0:\>cd lsi_fw
      
  4. Шьем fw и BIOS:
      sas2flash.efi -o -e 6
      sas2flash.efi -b mptsas2.rom
      
  5. Profit.