Dell only provides certain PowerEdge BIOS flash upgrades in the form of Windows-only self-extracting archives (despite the facts that they claim to officially support Linux and that the BIOS flash utility itself is a DOS program.) Ordinary unzip won’t open the self-extracting archive. You need to run it on a Windows system, which I don’t have. Here’s how to flash your PowerEdge BIOS without Windows.
Dell provides the biosdisk utility to make a bootable FreeDOS image with the BIOS upgrade executable on it, but it doesn’t work with the Windows-only PowerEdge 4400 BIOS upgrade, since that won’t run on FreeDOS. They claim that biosdisk isn’t intended for PowerEdge systems, since they all have Linux BIOS flashes available; this does not seem to actually be the case for the 4400.
The Windows self-extractor does run under WINE, but it demands an actual floppy drive device to write to, which my computer doesn’t have. WINE also doesn’t seem to support mounting an image file as a floppy device, for some reason. You’ll need to use something like VMWare or a computer with a physical floppy drive to get this to extract itself.
Once you have a floppy image, here’s how to flash without biosdisk or Windows available:
- Use WINE to extract the archive. For maximum fun, the upgrade I have refuses to just extract itself; instead, it requires that it has access to a floppy drive to write to directly. Sigh. Ok. Working on that. Updates to come.
winecfg - Install syslinux. (
apt-get install syslinux). We are going to use memdisk, a boot loader that creates a RAM drive and then loads an operating system, to load FreeDOS. - Get a FreeDOS boot disk image and add your flashing .exe to it.Mount with something like
mount -t vfat /path/to/freedos.img /mnt -o loop, then justcpyour flashing .exe to/mnt. (If you got a gzipped image,gunzipit first. - Edit /etc/grub.d/40_custom to add a boot menu entry for memdisk/FreeDOS.
menuentry "FreeDOS" { set root=(hd0,2) #### <--- Change this to your /boot partition! linux16 /memdisk floppy initrd16 /freedos.img }As noted, change the root entry to point to your actual /boot partition, so GRUB can find the images. Also note that the partition normally mounted at
/bootwill be mounted as the root directory (/) at boot time, so it’s not necessary to prefix/bootbefore the image file names.Then, reboot and select FreeDos from the GRUB menu. Run your DOS-based flash program, and all is well.
Popularity: 22% [?]
You might also like to read:
If you like this post and would like to receive updates from this blog, please subscribe our feed.
