Hey, If he experiences the same thing as I am, 3 different scenarios are happening:
- black screen at boot, nothing happens (CPU not idle) - booting gets to the point where "loading freeloader" gets printed - no boot problems at all (got it once in 10 tries) WBR, Roel Messiant 2010/9/9 Pierre Schweitzer <[email protected]>: > Hi! > Could you define how/why 2nd stage doesn't boot on your side? > With my rewritten ARC names handling, your patch brokes absolutely nothing. I > just successfully installed ReactOS. > Let me know if you want a patch to test your issue on your side. > Best regards, > P. Schweitzer > >> Hi! >> >> This patch fixes the disk geometry bug I mentioned in my previous mail. >> It enables disk.sys and usetup.exe to use the same disk geometry that is >> used by the BIOS. >> >> Due to another bug or workaround in the 1st stage setup, the 2nd stage >> setup will not boot at all. >> >> >> Regards, >> Eric >> Index: boot/freeldr/freeldr/arch/i386/hardware.c >> =================================================================== >> --- boot/freeldr/freeldr/arch/i386/hardware.c (revision 48722) >> +++ boot/freeldr/freeldr/arch/i386/hardware.c (working copy) >> @@ -327,7 +327,6 @@ >> { >> PCM_PARTIAL_RESOURCE_LIST PartialResourceList; >> PCM_DISK_GEOMETRY_DEVICE_DATA DiskGeometry; >> - EXTENDED_GEOMETRY ExtGeometry; >> GEOMETRY Geometry; >> ULONG Size; >> >> @@ -362,16 +361,8 @@ >> DiskGeometry = (PVOID)(((ULONG_PTR)PartialResourceList) + >> sizeof(CM_PARTIAL_RESOURCE_LIST)); >> >> /* Get the disk geometry */ >> - ExtGeometry.Size = sizeof(EXTENDED_GEOMETRY); >> - if (DiskGetExtendedDriveParameters(DriveNumber, &ExtGeometry, >> ExtGeometry.Size)) >> + if(MachDiskGetDriveGeometry(DriveNumber, &Geometry)) >> { >> - DiskGeometry->BytesPerSector = ExtGeometry.BytesPerSector; >> - DiskGeometry->NumberOfCylinders = ExtGeometry.Cylinders; >> - DiskGeometry->SectorsPerTrack = ExtGeometry.SectorsPerTrack; >> - DiskGeometry->NumberOfHeads = ExtGeometry.Heads; >> - } >> - else if(MachDiskGetDriveGeometry(DriveNumber, &Geometry)) >> - { >> DiskGeometry->BytesPerSector = Geometry.BytesPerSector; >> DiskGeometry->NumberOfCylinders = Geometry.Cylinders; >> DiskGeometry->SectorsPerTrack = Geometry.Sectors; >> Index: boot/freeldr/freeldr/arch/i386/pcdisk.c >> =================================================================== >> --- boot/freeldr/freeldr/arch/i386/pcdisk.c (revision 48722) >> +++ boot/freeldr/freeldr/arch/i386/pcdisk.c (working copy) >> @@ -296,12 +296,25 @@ >> BOOLEAN >> PcDiskGetDriveGeometry(ULONG DriveNumber, PGEOMETRY Geometry) >> { >> + EXTENDED_GEOMETRY ExtGeometry; >> REGS RegsIn; >> REGS RegsOut; >> ULONG Cylinders; >> >> DPRINTM(DPRINT_DISK, "DiskGetDriveGeometry()\n"); >> >> + /* Try to get the extended geometry first */ >> + ExtGeometry.Size = sizeof(EXTENDED_GEOMETRY); >> + if (DiskGetExtendedDriveParameters(DriveNumber, &ExtGeometry, >> ExtGeometry.Size)) >> + { >> + Geometry->Cylinders = ExtGeometry.Cylinders; >> + Geometry->Heads = ExtGeometry.Heads; >> + Geometry->Sectors = ExtGeometry.SectorsPerTrack; >> + Geometry->BytesPerSector = ExtGeometry.BytesPerSector; >> + >> + return TRUE; >> + } >> + >> /* BIOS Int 13h, function 08h - Get drive parameters >> * AH = 08h >> * DL = drive (bit 7 set for hard disk) >> _______________________________________________ >> Ros-dev mailing list >> [email protected] >> http://www.reactos.org/mailman/listinfo/ros-dev > > > > _______________________________________________ > Ros-dev mailing list > [email protected] > http://www.reactos.org/mailman/listinfo/ros-dev > _______________________________________________ Ros-dev mailing list [email protected] http://www.reactos.org/mailman/listinfo/ros-dev
