[syslinux] MSCDEX over NDIS ethernet

Darryl L. Miles darryl at netbauds.net
Fri Sep 2 21:35:51 PDT 2005


H. Peter Anvin wrote:

> TFTP is not really the best choice for this.  You'd want a network 
> protocol which can support random access.
>
> MSCDEX, which uses the DOS "redirector" (installable filesystem) 
> interface is not really the right thing to mimic if you want to mimic 
> a floppy or hard disk (like MEMDISK); rather, you'd want to be a DOS 
> block device, or even lower level -- mimic MEMDISK and talk to the PXE 
> stack beneath an INT 13h interface.
>
> Any reason MEMDISK doesn't do what you need?


I've not been able to make MEMDISK load and run even a small ISO (but 
I've only been playing with it a week).  I can do 32Mb FAT partitions 
however.  I want to el-torio boot a small ISO without modification of 
the original image at the TFTP server end.  Your documentation talks of 
ELTORIO.SYS but that project's website is too spartan to work out where 
it fits in.

I'm happy to boot from a floppy memdisk image to load something that 
then trampline boots el-torio from the CD image over the network.  I 
would like the option to call some tiny program an un-redirect the 
floopy once this is complete and magically release the memdisk floppy 
image too.


The memdisk solution can't load a complete ISO (800Mb) into a machine 
with only 256Mb of RAM.  I also don't expect my runtime environment to 
access every sector so the copy alone would be a waste.


Maybe you can fill in a few blanks in my sketchy understanding:

1) There a BIOS disk level interface that is redirectable ?  does that 
extend to floppy ?  does that extend to cdrom ?   If my IBM PC historic 
understanding is correct this supports sector access via C/H/S geometry 
requests a few sectors at a time are possible.

2) Can I confirm that IO.SYS, MSDOS.SYS, COMMAND.COM between them have 
inbuilt support for FAT and VFAT (in Win98 DOS version of better) that 
sit on top of this block level access BIOS interface ?

3) I'm unsure myself where ISO9660 is implemented ?  Inside MSCDEX ?  If 
all MSCDEX does it really a filesystem driver for ISO9660 between 
open/read file requests and block level BIOS interface then maybe my 
solution would also use MSCDEX for this exact same purpose when 
accessing network backed images that are ISOs.


You are right I don't want to deal with files but block device level, 
you have clarified to be these are two different software interrupt 
interfaces.


I'm happy to invent super-TFTP that can do random access but the 
protocol needs to be KISS.  Maybe a 100% compatible hybrid can be made 
that sends a magic sequence to the server to open the door and 
up-negotiate the protocol, keeping the simple stateless design.


-- 
Darryl L. Miles





More information about the Syslinux mailing list