Aktualizacja BIOS za pomocą FreeDOS na przykładzie serwera Supermicro

Avatar photo
  • Konrad Kowalski
  • 05/05/2021
  • Supermicro
  • 0 komentarzy
FreeDOS

Aby zaktualizować BIOS na płytach serwerowych różnych producentów może być konieczne przygotowanie specjalnego, zmodyfikowanego obrazu FreeDOS.

Pobieranie obrazu FreeDOS

W celu przygotowania zmodyfikowanego obrazu systemu FreeDOS należy pozyskać obraz bazowy, dostępny na stronie projektu. W przykładzie zostanie użyta starsza wersja FreeDOS – 1.0, ze względu na niewielki rozmiar obrazu oraz bardzo prosty sposób wprowadzania modyfikacji (Link do iso: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdbasecd.iso).

Modyfikacja obrazu FreeDOS – plik setup.bat

Pobrany obraz należy zamontować w systemie w celu pozyskania pliku setup.bat

mkdir /mnt/freedos
mount -o loop fdbasecd.iso /mnt/freedos
cp /mnt/freedos/setup.bat .

Po skopiowaniu pliku setup.bat należy, go zmodyfikować. W pliku należy odnaleźć linię:

set fdosroot=%_CWD%FreeDOS\Setup

Za tą linią należy dodać wpis:

goto end

Zmodyfikowany plik należy zapisać, będzie potrzebny na późniejszym etapie.

Przygotowanie dodatkowego oprogramowania – archiwum BIOS dla płyty głównej Supermicro

W kolejnym kroku należy pobrać BIOS ze strony producenta (np. dla płyty Supermicro X9SCM-F będzie to archiwum X9SCM1_106.zip). W przykładzie przedstawiona została aktualizacja wersji BIOS z 2.0b do 2.3a. Warto zajrzeć do README umieszczonego w archiwum z BIOS gdyż mogą się tam znajdować ważne informacje np. w przypadku aktualizacji z wersji 1.0 do 2.0 należy dodatkowo skopiować i zmodyfikować skrypt AMI_1.BAT (oraz skopiować dodatkowe oprogramowanie znajdujące się w archiwum).

Pobrane archiwum z BIOS (X9SCM1_106.zip) należy wypakować. Najważniejsze pliki przy aktualizacji BIOS z wersji 2.0b do 2.3a to:

  • AFUDOSU.SMC – program aktualizujący
  • AMI_2.bat – skrypt wywołujący program aktualizujący
  • X9SCM1.106 – BIOS

Plik AMI_2.bat należy zmodyfikować usuwając linie zmieniające nazwę programu aktualizującego. System plików w obrazie iso będzie w trybie tylko do odczytu i zmiana nazwy zakończy się niepowodzeniem.
Oryginalny plik:

@echo off

REN AFUDOSU.SMC AFUDOSU.EXE

AFUDOSU.EXE  %1  /P /B /N /K /R

REN AFUDOSU.EXE AFUDOSU.SMC

Docelowy plik:

@echo off
AFUDOSU.EXE  %1  /P /B /N /K /R

Należy jeszcze zmienić nazwę programu aktualizującego z AFUDOSU.SMC na AFUDOSU.EXE (wielkość znaków nie ma znaczenia, dla DOS nie ma to znaczenia)

Pliki mają teraz postać:

  • AFUDOSU.EXE – program aktualizujący
  • AMI_2.bat – zmodyfikowany plik aktualizacyjny
  • X9SCM1.106 – BIOS

Dodatkowo należy pamiętać o wcześniej zmodyfikowanym pliku setup.bat

Przygotowanie zmodyfikowanego obrazu FreeDOS

Kolejnym krokiem jest modyfikacja pobranego wcześniej pliku iso FreeDOS. Można do tego celu użyć programu ISO Master dostępnego w repozytoriach (w Windows można użyć np. PowerISO).

W ISO Master należy otworzyć pobrany wcześniej plik ISO – fdbasecd.iso. Po otwarciu należy usunąć z obrazu iso plik setup.bat i w jego miejsce dodać nowy, wcześniej zmodyfikowany.

ISO Master - dodawanie plików do obrazu ISO
ISO Master – dodawanie plików do obrazu ISO

Następnie do katalogu freedos należy dodać wszystkie niezbędne do przeprowadzenia aktualizacji pliki tj. AFUDOSU.EXE (w przykładzie do katalogu freedos skopiowany został cały katalog X9SCM1_106).

ISO Master - dodawanie plików do obrazu ISO
ISO Master – dodawanie plików do obrazu ISO

Po dodaniu plików, w ISO Master należy zapisać zmodyfikowany obraz iso (Zapisz jako).

Użycie zmodyfikowanego obrazu FreeDOS w praktyce – aktualizacja BIOS w serwerze Supermicro

Tak przygotowany obraz iso jest gotowy do podłączenia jako Virtual Media w konsoli IPMI serwera (lub po wypaleniu na płycie jako fizyczna płyta CD). Po podłączeniu obrazu iso (lub włożeniu do napędu płyty CD) należy zrestartować serwer. Podczas startu należy wybrać jako startowy zamontowany Virtual Media lub CD-ROM (w Supermicro, podczas startu, boot menu można wywołać m.in za pomocą klawisza F11)

W pierwszym oknie należy wybrać opcję 1

Bootowanie serwera ze zmodyfikowanego obrazu FreeDOS.
Bootowanie serwera ze zmodyfikowanego obrazu FreeDOS.

W kolejnym kroku należy wybrać opcję Install …

Bootowanie serwera ze zmodyfikowanego obrazu FreeDOS.
Bootowanie serwera ze zmodyfikowanego obrazu FreeDOS.

Po wybraniu opcji włączony zostanie wiersz poleceń.

FreeDOS - wiersz poleceń
FreeDOS – wiersz poleceń

W wierszu poleceń należy przejść do katalogu z programem aktualizacyjnym za pomocą polecenia cd freedos\nazwa_katalogu_z_plikami

FreeDOS - przejście do katalogu z narzędziami aktualizacyjnymi
FreeDOS – przejście do katalogu z narzędziami aktualizacyjnymi

Po przejściu do katalogu należy uruchomić skrypt aktualizacyjny.

AMI_2.BAT X9SCM1.106
FreeDOS - aktualizacja BIOS płyty Supermicro
FreeDOS – aktualizacja BIOS płyty głównej Supermicro

Po pomyślnej aktualizacji należy zrestartować serwer. Nowa wersja BIOS powinna być już dostępna (w przykładzie wersja 2.3a).

Supermicro - BIOS został zaktualizowany
Supermicro – BIOS został zaktualizowany

Warto przeczytać

Dodaj komentarz