Hi!
I just found a severe bug in hardware detection code of Freeldr. It uses two configuration nodes in the hardware tree to pass information about detected hard-disks to ntoskrnl.exe and disk.sys.
First, hard-disk information is passed as a DiskPeripheral node attached to a DiskController node.
Second, hard-disk information is passed as an array of CM_INT13_DRIVE_PARAMETER entries in a special system configuration node, if the disks were detected by the BIOS.
As part of the boot process, the special system configuration node is used by disk.sys to determine the disk geometry used by the BIOS. Unfortunately, this configuration node did not use the extended disk geometry (LBA geometry) but the old CHS geometry even if the LBA geometry was available.
I already fixed this bug in my local source tree and suddenly Freeldr, disk.sys and usetup.exe report exactly the same disk geometry as gparted (http://gparted.sourceforge.net/download.php). Unfortunately, using this patch breaks the 2nd stage setup.
I will provide a patch that fixes the Freeldr issue as soon as I have cleaned up the source tree.
Please help me find the remaining bug or workaround that keeps ReactOS from booting into 2nd stage setup! I guess it is either part of usetup or somewhere in the partition management routines.
Regards, Eric