So I used to use virtual PXE booted floppies to handle various tools that my cluster nodes required to update firmware and other misc items that often come as DOS based programs. This worked well, but I got lazy and didn't track the fine features of MEMDISK from the SYSLINUX closely enough when most of these tools started showing up on ISO images.
So I missed that they recently added ISO booting support to MEMDISK. And thanks to a very well written article I've moved a pile of my common "utility" ISO images into a PXE bootable menu. (And not all of these have to do with clusters below)
So here is what I did:
- Go get the latest version of Syslinux just to be sure
Place the latest pxelinux.bin into your tftp server which you probably already have and add "memdisk" to the same location
- Also copy the menu.c32 file. that provides a basic menu system for PXE boots
Then, in your pxelinux.cfg area I've made a file called "chooser" which when I want to boot a system off that config, I symlink the needed IP address file to it. It contains right now:
UI menu.c32
DEFAULT bios
LABEL bios
MENU LABEL FreeDOS BIOS Tool ISO
KERNEL memdisk
APPEND iso initrd=isos/bios.iso
LABEL ntchpass
MENU LABEL NT Change Password ISO
KERNEL memdisk
APPEND iso initrd=isos/ntchpass.iso
LABEL bartpe
MENU LABEL Bart PE ISO
KERNEL memdisk
APPEND iso initrd=isos/bartpe.iso
LABEL diskzapr
MENU LABEL Diskzapr
KERNEL memdisk
APPEND iso initrd=isos/diskzapr.iso
LABEL seagate
MENU LABEL Seagate Firmware Disk ES ST31000340NS Series SN06
KERNEL memdisk
APPEND iso initrd=isos/ES2SN06B-GOCHECK.iso
The first one is where I've been collecting various BIOS flashing tools for quite some time. Its a FreeDOS based disk with just a set of directories sorted by vendor and board name for the various tools. It was better than trying to mash all the tools together to have the room of the ISO image.
That last one, DO NOT just blindly deploy Seagate Firmware updates for the recent problems without fully reading the Seagate KB article on which ones are right for your drive. I've changed the ISO name to prevent that.