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

Hive generation is unreliable

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 0.4.6
    • Component/s: Tools
    • Labels:
      None

      Description

      Here's some output from a fresh build:

      [122/9525] Generating boot/bootdata/BCD
      Binary hive maker
      fopen() failed (errno 2)
      InfHostOpenFile(/home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/hivebcd_utf16.inf) failed
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/default
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/sam
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/security
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/software
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/system
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/BCD
        Done.
      [...]
      [29/30] Generating boot/bootdata/sam, boot/bootdata/default, boot/bootdata/security, boot/bootdata/software, boot/bootdata/system
      Binary hive maker
      RegDeleteKeyW(0x0x12098f0, '') is UNIMPLEMENTED!
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/default
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/sam
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/security
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/software
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/system
        Creating binary hive: /home/tfaber/Release_WorkDir/ISOs/output-MinGW-i386/reactos/boot/bootdata/BCD
        Done.

      There are several bugs here:

      • hivebcd_utf16.inf is not found (reason: broken dependency in the CMake script)
      • mkhive does not see this as a reason to fail and happily generates completely empty hive files
      • We call mkhive in a completely broken manner. It will always generate all 6 binary hives. Specifying anything other than all 6 inf files on the command line will simply cause some of those hives to be empty. We need to invoke mkhive once, with all the inf files.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ThFabba ThFabba
                Reporter:
                ThFabba ThFabba
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: