To make say a BIOS flash tool available over PXE, my impression is that a typical procedure goes like this: modify a generic FreeDOS 1440K disk image to contain the EXE and change the AUTOEXEC.BAT to launch that EXE, then make the 1440K IMG available on the PXE server. But more recent BIOS flash EXE are too large and won't fit on the 1440K, not even 3840K, so now we have to look into making a custom FreeDOS ISO image or FreeDOS USB stick image or FreeDOS HD image, for which recipes don't seem to be readily available. In a changing enterprise environment involving many different computer models, you find yourself over time trying to recall and repeat these fragile steps of trying to prepare FreeDOS autoexec images... Perhaps there is already a better way available? But if not, it would be wonderful if SYSLINUX had a built-in module that automagically accomplishes all of the tediousness described above, e.g.: LABEL biosflash KERNEL doslaunch.c32 INITRD flashtool.exe or files.zip or files.tar.gz APPEND exec=flashtool.exe I would imagine this would do something along the following lines: set up a DOS-like environment with an extra drive letter for a growable ramdisk, copy the INITRD file or archive (unpacking as necessary) into that ramdisk, switching to the ramdisk drive letter, and then launching whatever file is listed in the exec parameter. Does something like that already exist? Alex
Hi Alexander, Overhere we use a slight different procedure. We have a freedos PXE image that has network support. It connects to a share where we collect all the BIOS flash tools. We run it from there. Cheers, Denie ----- Original Message ----- From: "Alexander Perlis" <aperlis at math.lsu.edu> To: <syslinux at zytor.com> Sent: Thursday, January 31, 2013 6:21 PM Subject: [syslinux] Request for built-in DOS launch module> To make say a BIOS flash tool available over PXE, my impression is that > a typical procedure goes like this: modify a generic FreeDOS 1440K disk > image to contain the EXE and change the AUTOEXEC.BAT to launch that EXE, > then make the 1440K IMG available on the PXE server. But more recent > BIOS flash EXE are too large and won't fit on the 1440K, not even 3840K, > so now we have to look into making a custom FreeDOS ISO image or FreeDOS > USB stick image or FreeDOS HD image, for which recipes don't seem to be > readily available. In a changing enterprise environment involving many > different computer models, you find yourself over time trying to recall > and repeat these fragile steps of trying to prepare FreeDOS autoexec > images... > > Perhaps there is already a better way available? But if not, it would be > wonderful if SYSLINUX had a built-in module that automagically > accomplishes all of the tediousness described above, e.g.: > > LABEL biosflash > KERNEL doslaunch.c32 > INITRD flashtool.exe or files.zip or files.tar.gz > APPEND exec=flashtool.exe > > I would imagine this would do something along the following lines: set > up a DOS-like environment with an extra drive letter for a growable > ramdisk, copy the INITRD file or archive (unpacking as necessary) into > that ramdisk, switching to the ramdisk drive letter, and then launching > whatever file is listed in the exec parameter. > > Does something like that already exist? > > Alex > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux > Please do not send private replies to mailing list traffic. > >
Op 31-1-2013 18:21, Alexander Perlis schreef:> different computer models, you find yourself over time trying to recall > and repeat these fragile steps of trying to prepare FreeDOS autoexec > images...Bochs's BXIMAGE.EXE program allows creating a harddisk file of almost arbitrary size. Use the DOS bootdisk to partition the disk, create the FAT filesystem and transfer system files. Adding the (Linux-derived) 'flashrom' tool is also possible (flashrom.exe , see flashrom.org website). I think Linux provides best abilities to create/manipulate disk images. This way you can add the necessary files in a scripted way (mount disk image, add files). Simply start with the above-created (default a.k.a. semi-blank) harddisk image. Bochs's hdd-image files seem directly bootable by Syslinux's memdisk. Bernd
On 01/31/2013 09:21 AM, Alexander Perlis wrote:> To make say a BIOS flash tool available over PXE, my impression is that > a typical procedure goes like this: modify a generic FreeDOS 1440K disk > image to contain the EXE and change the AUTOEXEC.BAT to launch that EXE, > then make the 1440K IMG available on the PXE server. But more recent > BIOS flash EXE are too large and won't fit on the 1440K, not even 3840K, > so now we have to look into making a custom FreeDOS ISO image or FreeDOS > USB stick image or FreeDOS HD image, for which recipes don't seem to be > readily available. In a changing enterprise environment involving many > different computer models, you find yourself over time trying to recall > and repeat these fragile steps of trying to prepare FreeDOS autoexec > images... > > Perhaps there is already a better way available? But if not, it would be > wonderful if SYSLINUX had a built-in module that automagically > accomplishes all of the tediousness described above, e.g.: > > LABEL biosflash > KERNEL doslaunch.c32 > INITRD flashtool.exe or files.zip or files.tar.gz > APPEND exec=flashtool.exe > > I would imagine this would do something along the following lines: set > up a DOS-like environment with an extra drive letter for a growable > ramdisk, copy the INITRD file or archive (unpacking as necessary) into > that ramdisk, switching to the ramdisk drive letter, and then launching > whatever file is listed in the exec parameter. > > Does something like that already exist? >Being a Linux geek, what I do is I use Qemu (or one can use VirtualBox or whatever) to create a master HDD image as big as you care for it to be, and then loopback-mount it to copy the files over. The FreeDOS ISO is actually a disk image that boots using Syslinux and MEMDISK, so that doesn't really help you a lot, either. Now, if you "over time trying to recall and repeat these fragile steps of trying to prepare FreeDOS autoexec images" it is a good hint that you should script your process. This is quite easy under Linux once you have the master image as described above; I don't know how easy it is under other operating systems, but it might be worth keeping a Linux box or VM around for. (This *would* be a good use for a multi-image version of MEMDISK.) -hpa
> (This *would* be a good use for a multi-image version of MEMDISK.)If I am understanding correctly, with a multi-image version of MEMDISK, one could for example have the first image be say a FreeDOS disk, with say an autoexec that reads parameters passed in by MEMDISK, to then execute the desired program on the second image. Sounds great! Alex
On 01/31/2013 05:16 PM, Alexander Perlis wrote:>> (This *would* be a good use for a multi-image version of MEMDISK.) > > If I am understanding correctly, with a multi-image version of MEMDISK, > one could for example have the first image be say a FreeDOS disk, with > say an autoexec that reads parameters passed in by MEMDISK, to then > execute the desired program on the second image. Sounds great! >Something like that. Now just needs someone to build it. -hpa