joakim: I really appreciate you testing this driver out! I thought for sure that karyonix' GRUB4DOS memory-mapping driver a couple of days ago would put this one under a rock forever. Heh.
You asked about symbol files earlier: I fill in my File
-> Symbol File Path...
text field with:
You can put .PDB
files corresponding to the debugging target system's .SYS
files inside your C:\TMP\
directory on the debugging host system. AOE32.PDB
can go in there.
You asked about how I could tell what your problem in your last debug log was from the log: Because the point of the crash was exactly where NDIS.SYS
functions were being called. Protocol_XXX()
lines make use of NDIS.SYS
Your new debugging log escapes me for now, but I'll look into it a little later today. All I can recall is that there was a point where I ran into trouble if I "debug-break"ed the target system before it was fully booted. In both of the debug logs you've submitted, it appears that your debugger is set to request an "Initial Breakpoint" as soon as the OS loads, so this could be a problem. Please try removing the /DEBUG
switches, just to see if it makes any difference.
I think that a nice HowTo is in order, so... One can likely use very similar instructions karyonix provided for his GRUB4DOS-memory-mapped-drive-Windows-driver to "inject" this driver into a Windows. Thanks again, karyonix! Besides that, I think the MEMDISK specifics should be explained a bit more...
Here's a sample syslinux.cfg
file for use with SYSLINUX on a FAT[12|16|32] filesystem (floppy or HDD partition):
file would look very similar. An isolinux.cfg
file would look very similar, also.memdskxp.hdd
in the sample file above should be a raw (dd
-style; sector-by-sector) HDD image. I've changed the logic a bit so it shouldn't matter what boot-loader(s) is(/are) installed on the HDD image. The driver looks for a signature in MEMDISK's code now, instead of at the most recent INT 0x13 vector.
From GRUB[4DOS], assuming memdskxp.hdd
is in the root directory on a bootable CD, you could have the following in your menu.lst
kernel memdisk raw
To "inject" into a Windows XP PE environment, TXTSETUP.SIF
section could go something like:
cdrom = cdrom.sys
disk = disk.sys
floppy = sfloppy.sys
ramdisk = ramdisk.sys
aoe32 = aoe32.sys
For a full XP installation (not /MININT
, not with SETUPLDR
), you can simply install the driver using the instructions in the ReadMe.txt
file included in the driver download.
I will try to get to the bottom of why the driver crashes when you have a debugger attached, joakim. Thanks again for helping to test this; it helps with development.
- Shao Miller