Często zdarza się, że konieczne jest zaktualizowanie firmware, czy to w
postaci BIOSu płyty głównej, czy np. oprogramowania wewnętrznego napędu
optycznego.
Pracując pod Linuksem lub systemem z rodziny Unix, będziemy mieli
problem z aktualizacją firmware, gdy producent dostarczył tylko program
aktualizujący i binarium do wgrania (zazwyczaj program taki jest
programem dla systemu DOS). Dodatkową komplikację w dzisiejszych czasach
stanowi to, że coraz mniej komputerów posiada stacje dyskietek, w której
można by uruchomić dyskietkę startową DOS/Windows.
W takiej sytuacji z pomocą przychodzą narzędzia stworzone
przez deweloperów FreeDOSa. W
szczególności, środowisko do przygotowania płyty live z możliwością
dołączenia dodatkowego oprogramowania FDOEMCD.
W celu przygotowania płyty LiveCD z FreeDOSem i programem do
aktualizacji firmware, musimy pobrać środowisko FDOEMCD.
wget
http://www.fdos.info/bootdisks/ISO/FDOEMCD.builder.zip
Rozpakować archiwum.
unzip FDOEMCD.builder.zip
Przejść do odpowiedniego katalogu.
cd FDOEMCD/CDROOT
Utworzyć katalog dla oprogramowania do aktualizacji.
mkdir FIRMWARE
Skopiować program do aktualizacji i „wsad”.
cp [ścieżka/do/programu/nagrywającego].EXE
./FIRMWARE/
cp [ścieżka/do/binarium/do/nagrania].BIN
./FIRMWARE/
Przygotować odpowiednie skrypt startowy.
cat > AUTORUN.BAT (Wciskamy klawisz
ENTER.)
@ECHO OFF (Wciskamy klawisz ENTER.)
CD FIRMWARE (Wciskamy klawisz ENTER.)
[NAZWA_PROGRAMU_NAGRYWAJĄCEGO].EXE (Wciskamy
klawisz ENTER, a następnie jednocześnie klawisze CTRL i C.)
Plik AUTORUN.BAT trzeba przetworzyć tak, by oznaczenie końca linii było
zgodne z konwencją DOS.
unix2dos AUTORUN.BAT
W tym momencie zawartość CD-ROMu jest gotowa.
W celu przygotowania obrazu dysku ISO należy wykonać następujące
kroki:
Przejść do katalogu nadrzędnego.
cd ..
Wygenerować obraz ISO poleceniem:
mkisofs -o firmware.iso -b isolinux/isolinux.bin
-no-emul-boot -boot-load-size \
4 -boot-info-table -N -J -r -c
boot.catalog -hide boot.catalog -hide-joliet \
boot.catalog
CDROOT
Gotowy obraz można nagrać przy pomocy programu cdrecord.
Najpierw należy odnaleźć nagrywarkę poleceniem:
cdrecord -scanbus
W wyniku tego polecenia otrzymamy listę urządzeń blokowych w
systemie, wraz z ich oznaczeniami w konwencji SCSI.
Nagrywanie obrazu na płytę wykonuje się poleceniem:
cdrecord -v \
dev=[numer_magistrali_scsi],[numer_urządzenia],[numer_jednostki_logicznej]
\
firmware.iso
W przypadku płytki CD-RW, należy najpierw skasować jej poprzednią
zawartość.
cdrecord -v -blank=all \
dev=[numer_magistrali_scsi],[numer_urządzenia],[numer_jednostki_logicznej]
\
firmware.iso