FreeDOS can't find CD-ROM made available via IPMI Virtual Media

Status
Not open for further replies.

Revan

Explorer
Joined
Mar 22, 2017
Messages
81
I want to update the BIOS of my Supermicro X11SSH-F mainboard but FreeDOS isn't able to find a CD-ROM which i made available via IPMI Virtual Media.

Making the FreeDOS 1.0 Live CD as ISO image files available via IPMI Virtual Media works, the initial booting of FreeDOS from the virtual media does also work, but when FreeDOS is trying to load the CD-ROM drivers it fails and falls back to some sort of floppy boot disk which seems to be part of the initial boot instructions of the FreeDOS CD-ROM.

I get the following error message in FreeDOS 1.0:
Code:
XCDROM V2.3, 7-24-2006
Driver name is "FDCD0080"
No CD-ROM drive to use: XCDROM not loaded!


and in FreeDOS 1.2, which is sadly only an installer but does have CDROM drivers on its floppy boot image, does do something similar:
Code:
UDVD2, 4-30-2013 CD/DVD name is FDCD0001
Nothing to use: UDVD2 not loaded
Driver not loaded


The Virtual Media provided as ISO file via IPMI seems to not being accessible from DOS, when DOS is bootet.
I also tried to use two devices via IPMI Virtual Media, in each Virtual Media device slot i added one bootable FreeDOS ISO or a combination of bootable FreeDOS Floppy and an ISO as the second device, but this does also not work. FreeDOS can't find the virtual drives anymore when FreeDOS is loaded.

Without getting FreeDOS to load the CD-ROM, i can't update my BIOS via IPMI.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
The virtual CD drive is attached to the host via USB. Are you sure FreeDOS supports USB CD drives?
 

Revan

Explorer
Joined
Mar 22, 2017
Messages
81
I didn't knew that. That makes sense and would explain why this is not working that way. Thanks a lot for your answer.

After a lot of hassle i finally managed to get the new BIOS version installed.

I wrote a step instruction for everyone that needs to update his BIOS on his supermicro computer.
But first i have to write down a rant about Supermicro.

[rant]
Shame on Supermicro for requesting to buy a license key for being able to update the BIOS directly via IPMI and its web-interface.
Shame on Supermicro for not providing a way to upgrade the BIOS directly via the BIOS/UEFI menu without DOS from an attached USB Stick in the year 2018
Shame on Supermicro for not providing linux or windows flash utilities to upgrade the BIOS.
[/rant]

Here's the step by step instruction.
There are 3 ways to update the bios., the first two work without local access.

A) If you want save time and trouble do yourself a favour and buy a OOB BIOS Management activation key. And do the BIOS update in the Web-interface.

B) If your IPMI Firmware version allows you to mount raw hd image files via the IPMI web-interface and if you don't want to buy a key chose this one.
I tried this one first but i made a mistake by creating the raw image with dd manually and without an offset which resulted in a hard drive image the IPMI software wasn't able to mount. But here is a working solution:
  1. Install QEMU on your computer.
  2. Create a raw hd image file with the following command line:
    qemu-img create -f raw hdimage.raw 500M
  3. Download the iso file of FreeDOS 1.2
  4. Run QEMU with the Freedos image file and hd image file mounted
    qemu-system-i386 hdimage.raw --cdrom FD12CD.iso --boot d
  5. Install FreeDOS on the virtual hd image within QEMU and when finished turn the virtual machine off.
  6. Mount the hdimage.raw file on your host system. With Linux you can use the following command:
    sudo mkdir /media/loop
    sudo mount -o loop,offset=32256 hdimage.raw.img /media/loop
  7. Now extract the BIOS Files into a folder in /media/loop or copy them over. You might need root privileges for this.
  8. unmount /media/loop
  9. Now mount the hdimage.raw file with the option hd image in the IPMI web-interface.
  10. Boot up your computer that should get the BIOS update and chose the boot option " 3 - Load FreeDOS without drivers (Emergency Mode)" in FreeDOS. Use the KVM console redirection for that.
  11. Use the flash program to uprade your BIOS version within the booted DOS.

C) This is a big hassle and requires local access to put in a USB Stick but it works.
  1. Install the program UNetbootin on your system. You can get it from here: UNetbootin
  2. Download the FreeDOS 1.2 FD12CD.iso file from the FreeDOS website.
    Hint: While the ISO cd image file of FreeDOS 1.2 is only a installer version and not a Live System like FreeDOS 1.0.
    it's still the better and working option.
    It won't work with FreeDOS 1.0. The flash software will throw an error message in FreeDOS 1.0 with the following message after a while:
    "22 - Error: Problem allocating memory" But it will work in FreeDOS version 1.2
  3. Insert an empty USB Stick in your computer and start UNetbootin.
  4. Install the downloaded FreeDOS 1.2 ISO Image file on your USB Stick with UNetbootin.
  5. When done extract and copy your BIOS files to your USB Stick
  6. Insert the USB Stick in your Supermicro computer and boot up the system.
    You can use the IPMI KVM console at that point.
  7. FreeDOS 1.2 will boot up from your USB Stick. Now choose the option "Install to harddisk" and the option "basic system".
    The following is important. Make sure the system will install on itself. It will load from the usb Stick and install everything on the same USB stick.
    In other words it will overwrite the boot menu changing the installer system in a usable live system. You should also make sure that you have no
    other hard disks in your computer. If you do so make sure that you won't install Freedos on them.
  8. Reboot the system and chose the boot option " 3 - Load FreeDOS without drivers (Emergency Mode)" in FreeDOS.
  9. Use the flash program to uprade your BIOS version in FreeDOS. Done.

Variant C did work for me but getting to there was a big hassle. Next time i will chose variant B. It's much easier.
 
Last edited:

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I just keep a FreeDOS USB flash drive on hand to do these things. I use my old 1 GB flash drive for that (from back when that was a special thing).
 
Status
Not open for further replies.
Top