FlashingBootCD

Introduction

None of this information in new, I have just reformatted a HOW-TO based on the information in the references below.

Motherboards and disk controllers typically provide DOS based flashing utilities, typically a small executable and the binary file which updated the BIOS or disk controller firmware. CD, DVD and BD drives often provide DOS and/or Windows based firmware flashing utilities. Some drives only come with Windows flashing tools but I have had good success flashing CD, DVD and BD drives using the Windows flashing tools via Wine and VMWare.

DOS Boot CD

Sometimes it is still necessary to create a DOS boot disk to flash BIOS or firmware of some device or other. I don’t have floppy disk drives in any of my computers and I only run Windows in a virtual machine, so how do we solve the problem of creating a DOS Boot CD for flashing from Linux?

Requirements

The target machine needs an IDE CD-ROM drive from which the BIOS must be able to boot. You’ll need acess to a Linux computer equipped with a CD burner and ‘mkisofs’ and ‘cdrecord’.

Floppy image

Will will use floppy emulation on the Boot CD so that the BIOS will treat the Boot CD like a bootable a floppy disk. I use the FreeDOS 2.88MB boot floppy because it provides ~2.5MB of free space for flashing utilities.

wget http://www.fdos.org/bootdisks/autogen/FDSTD.288.gz
gunzip FDSTD.288.gz

Adding files to the floppy image

We need to add the flashing utilities to the floppy image so that they are available once we have booted FreeDOS. NOTE! You will most likely need to be root to mount the floppy image, copy files to it and unmount it.

The floppy image contains a FAT file system, so we just need to mount it using the loopback option.

sudo mkdir -p /mnt/BootCD
sudo mount -t vfat -o loop FDSTD.288 /mnt/BootCD

Now copy the flashing utilities to ‘/mnt/BootCD’. You can check the available space on the floppy image with the following…

df -h /mnt/BootCD

Finally sync the writes and unmount the floppy image.

sync
sudo umount /mnt/BootCD

The floppy image is now ready.

Creating the bootable CD

To create a bootable CD we need to create an ISO filesystem that contains the boot image and a catalog file.

mkdir -p /tmp/BootCD
cp FDSTD.288 /tmp/BootCD/ 
cd /tmp/BootCD
mkisofs -r -b FDSTD.288 -c boot.cat -o BootCD.iso /tmp/BootCD
sync

The .ISO will be created in the ‘/tmp/BootCD’ directory which you can now be burnt using your favourite CD writing application :-)

Boot the CD

Put the burned CD in the machine, boot from it and follow the flashing instructions provided by you device vendor.

References

Windows XP Boot CD

In recent years some utilities to flash BIOS or firmware run under Windows and I only run Windows in a virtual machine. So how do we solve the problem of creating a Windows XP Boot CD for flashing device firmware?

Hiren’s Boot CD

Hiren’s Boot CD is a wonderful live CD containing various programs such as Hard drive recovery, Hard Drive Partition, Hard Drive Backup, Hard Drive Testing, RAM (Memory) Testing, System Information, MBR (Master Boot Record), BIOS, Multi media, Password, NTFS (File Systems), Antivirus, AntiSpy, Process, Windows Startup, Registry tools, Windows Cleaners, Optimizers, Tweakers, and many others…

Visit the website below, download the ISO image and burn it to a CD.

When boot from Hiren’s Boot CD choose the ”Mini Windows Xp” option to launch a minimal Windows XP environment from which you can run flashing tools.

Leave a Reply