Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-15427

FAT16 bootloader needs rework

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: Bootloader
    • Labels:
      None

      Description

      Our freeldr.sys file became somewhat large and doesn't fit in current memory layout used in fat.bin VBR.

      FAT16 boot sequence looks like this: MBR -> VBR/BPB (fat.bin) -> code at first 512 bytes of freeldr.sys (which is jumped over in other VBRs) -> main freeldr.sys code

      And here we have an issue with that "second part" of VBR code: it loads whole FAT into memory at 7000:0000 which leaves us 395264 bytes for freeldr.sys (we load it at 0000:F800). Currently freeldr.sys file can be 366592 bytes (gcc-built) or 448512 bytes (msvc-built). Obviously, msvc-compiled version doesn't fit into space and thus boot is being failed.

      Possible solution - do not load whole FAT into memory and only read it from disk where we need. But this would affect floppy-disk performance, which should be addressed somehow

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                extravert34 extravert34
                Reporter:
                extravert34 extravert34
              • Votes:
                3 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated: