using a large floppy image with memdisk

I ran into a snag when trying to update the bios on my PE R210ii, the Bios update is 8MB, too large to fit on a floppy image, so I needed to make a floppy image large enough for the file. I tried increasing the size of the Dell floppy image and that didn't work, so I had to start from scratch with a boot floppy made from windows. Funny enough the first link that came back in my google search was that of my coworker.

Here are the steps I took to get the large boot floppy working with PXE.

  • create boot floppy from Windows Server 2008 in a vm. I suspect using a boot image from bootdisk.com would work just as well.
  • expand the floppy image using newmkfloppyimg.sh. I chose to make a 20MB floppy.

    sudo ./newmkfloppyimg.sh 20 bigfloppy.img floppy.img

    This script requires you have mkdosfs, dd and mktemp, you need root to be able to mount the old and new floppy images and copy the contents. The key here is that it uses mkdosfs to make a new larger filesystem image (mkdosfs -I -v -C newfile size). Then it mounts the filesystem, copies the files from the old image to the new one. Finally it copies the boot sector from the original to the new using dd (that's the part I figured out manually before finding the script :-( )


    dd if=$OLDIMAGE of=$NEWIMAGE bs=1 count=10 conv=notrunc 2>/dev/null
    dd if=$OLDIMAGE of=$NEWIMAGE bs=1 skip=61 seek=61 conv=notrunc count=451 2>/dev/null

  • next I mounted the new image and copied the 8MB dell bios upgrade file onto the filesystem.


    [thomas@install: ~] $ mkdir /tmp/bigfloppy
    [thomas@install: ~] $ sudo mount -o loop bigfloppy.img /tmp/bigfloppy
    [thomas@install: ~] $ ls -lh PER210II_020005.exe
    -rw-rw-r-- 1 thomas thomas 8.2M Sep 13 08:47 PER210II_020005.exe
    [thomas@install: ~] $ sudo cp PER210II_020005.exe /tmp/bigfloppy/
    [thomas@install: ~] $ sudo umount /tmp/bigfloppy

  • Install syslinux and copy memdisk into the tftpboot directory.
  • Create a menu entry in our pxelinux config file.


    MENU BEGIN Bios
    MENU PASSWD superdupersecretpasswordnoguessing
    LABEL per20ii
    MENU label PE-R210ii
    kernel memdisk
    initrd bios/r210ii.img
    append floppy
    MENU END

    You can append to the "append floppy" line the number of cylinders, heads and sectors but my memdisk was able to guess them properly so I didn't.

  • PXEBoot the machine, select the Bios menu and enter the superdupersecret and you are off to the races.

My PowerEdge R210ii wouldn't boot with a QLogic 8GB Fibre channel card installed (just a cursor in the corner). After applying this Bios update the card is working great.

Comments

Add new comment

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

About the Author...

Slides from LISA 2019 Linux systems troubleshooting #LISA2019 https://t.co/D4dMKflK6R Tue Oct 29 05:59:30 +0000 2019

https://t.co/AGeihMALAv configuring grub2 with EFI Fri Sep 13 05:20:01 +0000 2019

I published a Thing on @thingiverse! https://t.co/IYpRyEb7Hz #thingalert Tue Jul 23 19:27:57 +0000 2019

Nokogiri install on MacOSX https://t.co/v3An0miW9L Fri Jul 12 15:06:49 +0000 2019

HTML email with plain mailer plugin on Jenkins https://t.co/Z6FSDMDjy8 Thu Jul 11 21:07:25 +0000 2019