Ok, my turn to have a problem. I'm trying to use Etherboot and mknbi-dos to netboot a 286 machine. (I know, I said I wasn't interested in DOS, but I am for this application.) What I want to do is boot DOS so that I can run a packet driver and my PPRD program (see http://www.syd.dit.csiro.au/staff/ken/personal/) to turn a 286 into a standalone LPD server. The ramdisk contains only OPENDOS7, command.com, a packet driver, PPRD, autoexec.bat and wattcp.cfg. Using the 16 bit version of the Etherboot program[1], I can netboot DOS on a 386 and run PPRD, which is exactly what I want. On the 286 however, the process gets as far as running first.S and fails to work after jumping off to the boot sector of the ramdisk. I have turned on debugging in first.S and it prints out the messages (something like this, from memory): Making driver resident RAMDISK: The amount of conventional memory is 0x0009F890 bytes RAMDISK: The amount of extended memory is 0x00380000 bytes Jumping to boot and that's it. I have looked in first.S and don't see anything that would be 286/386 sensitive. I have got first.S to print out the first word of the boot sector and it is indeed the first word of the ramdisk. The only thing I can think of is that some redirected interrupts are not handled correctly by the resident driver. In particular, shouldn't the third line above report the amount of extended memory left over after the ramdisk has loaded instead of all the extended memory? Maybe the DOS boot code is trying to clear all of extended memory first and wiping out the ramdisk? Ken [1] I have a fixed version of start.S for etherboot-16 that will write the ramdisk properly to high memory. If you were using etherboot-16 to load DOS on a 386+, this may be the reason it was failing. Contact me if you want the fix.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.