Alex Ninaber
2003-Sep-12 16:59 UTC
[syslinux] Updating BIOS with pxe syslinux memdisk & DOS problems
Hi all, We are hoping to update our BIOSes remotely with pxelinux and memdisk (it is for a 600 node Beowulf cluster with no floppy access). The DOS floppy loads and starts, however somehow the flash utility 'phlash.exe' or 'phlash16.exe' are both unable to load the provided rom image and just stop doing nothing. It looks like it can't access the rom image somehow, which is strange as it does acknowledge the fact it can find the image on the drive. Apparently some people have got this working with some motherboards (with I assume different flash utilities). So the question is: Is this a problem with phlash.exe that is trying to read from a floppy that isn't there or is it a problem with memdisk? If we can get this working it would be pretty good; far better than walking around with usb sticks or usb floppies. Regards, Alex Ninaber -- ____________________________________________ ClusterVision BV J.C. Beetslaan 155 2131 AL Hoofddorp Netherlands Tel: +31 23 5677510 / Fax: +31 23 5677519 Mob NL: +31 6 45336623 Email: alex.ninaber at clustervision.com Web: http://www.clustervision.com
H. Peter Anvin
2003-Sep-12 17:11 UTC
[syslinux] Updating BIOS with pxe syslinux memdisk & DOS problems
Alex Ninaber wrote:> Hi all, > > > We are hoping to update our BIOSes remotely with pxelinux and memdisk (it is > for a 600 node Beowulf cluster with no floppy access). The DOS floppy loads > and starts, however somehow the flash utility 'phlash.exe' or 'phlash16.exe' > are both unable to load the provided rom image and just stop doing nothing. > It looks like it can't access the rom image somehow, which is strange as it > does acknowledge the fact it can find the image on the drive. Apparently > some people have got this working with some motherboards (with I assume > different flash utilities). > > So the question is: Is this a problem with phlash.exe that is trying to read > from a floppy that isn't there or is it a problem with memdisk? > > If we can get this working it would be pretty good; far better than walking > around with usb sticks or usb floppies. >I don't know. I have had this problem reported with memdisk and phlash* before; it seems to only happen on some platforms which is why I have not been able to reproduce it. My guess is that phlash does something weird, but it could also be a memdisk bug. -hpa
James Courtier-Dutton
2003-Sep-12 18:06 UTC
[syslinux] Updating BIOS with pxe syslinux memdisk & DOS problems
Alex Ninaber wrote:> Hi all, > > > We are hoping to update our BIOSes remotely with pxelinux and memdisk (it is > for a 600 node Beowulf cluster with no floppy access). The DOS floppy loads > and starts, however somehow the flash utility 'phlash.exe' or 'phlash16.exe' > are both unable to load the provided rom image and just stop doing nothing. > It looks like it can't access the rom image somehow, which is strange as it > does acknowledge the fact it can find the image on the drive. Apparently > some people have got this working with some motherboards (with I assume > different flash utilities). > > So the question is: Is this a problem with phlash.exe that is trying to read > from a floppy that isn't there or is it a problem with memdisk? > > If we can get this working it would be pretty good; far better than walking > around with usb sticks or usb floppies. > > Regards, > > Alex Ninaber > > >There are several reasons why phlash.exe might not be working correctly. 1) One reason might be the DOS version. DOS 6.22 might work, but WIN98 DOS might not. WIN98 DOS handles result codes from DOS calls differently than DOS 6.22, and this might be confusing phlash.exe. 2) I have not looked at exactly how memdisk works, but I assume it tries to trick DOS into thinking there is an extra disk present. Maybe this simulation is not perfect. E.g. once I wrote a small program to hook the keyboard, so that if a certain combination of keys were hit, I could get certain jobs done. During the development of this program, I discovered that if I did not restore all the registers properly, strange things would happen. One example was, if I changed the SI register for any reason, any Microsoft program could not read the keyboard for anything, but any other Software worked fine. So, maybe memdisk is not supporting the file/open/close api exactly as it should, and maybe corrupting a register or two. Normally this should not matter, because the DOS API informs us that the programmer should assume that no register's state is preserved during an INT21 call, but it just so happens, that with some normal DOS calls, some registers are preserved, so maybe the programmer got lazy, and did not save all the registers before a call as it worked fine with normal DOS, but of course might fail with memdisk. This is all just theory, as I have not looked at the source code, but maybe worth considering. Cheers James
Blaauw,Bernd B.
2003-Sep-12 18:58 UTC
[syslinux] Updating BIOS with pxe syslinux memdisk & DOS problems
may I suggest using the FreeDOS core files, and Uniflash instead of Pflash? [ http://sourceforge.net/project/showfiles.php?group_id=5109 ] both have at least a freeware-type license (GPL and Public Domain IIRC), so are free to use/distribute. So that should not be a problem for you trying it. you include the bios file in the diskette image (most logical), or access it through network?>>Using Win98 DOS is *known* to cause problems, because bugs in Win98 DOS that trigger for MEMDISK (as well as several other combinations of things.) -hpa