https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3d516e71d3b044d2030c588f8f3172df8a7f76b3

commit 3d516e71d3b044d2030c588f8f3172df8a7f76b3
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Thu Oct 3 11:32:51 2024 +0200
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Tue Feb 4 16:45:48 2025 +0200

    [USETUP] Install rosload.exe
---
 base/setup/lib/bootsup.c       | 15 +++++++++++++--
 base/setup/lib/utils/bldrsup.c |  2 +-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/base/setup/lib/bootsup.c b/base/setup/lib/bootsup.c
index 4c57fc8218b..1ee5f8c133d 100644
--- a/base/setup/lib/bootsup.c
+++ b/base/setup/lib/bootsup.c
@@ -880,7 +880,6 @@ InstallMbrBootCodeToDisk(
                                  InstallMbrBootCode);
 }
 
-
 static
 NTSTATUS
 InstallBootloaderFiles(
@@ -895,7 +894,19 @@ InstallBootloaderFiles(
     CombinePaths(SrcPath, ARRAYSIZE(SrcPath), 2, SourceRootPath->Buffer, 
L"\\loader\\freeldr.sys");
     CombinePaths(DstPath, ARRAYSIZE(DstPath), 2, SystemRootPath->Buffer, 
L"freeldr.sys");
 
-    DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
+    DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
+    Status = SetupCopyFile(SrcPath, DstPath, FALSE);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("SetupCopyFile() failed (Status 0x%08lx)\n", Status);
+        return Status;
+    }
+
+    /* Copy rosload to the system partition, always overwriting the older 
version */
+    CombinePaths(SrcPath, ARRAYSIZE(SrcPath), 2, SourceRootPath->Buffer, 
L"\\loader\\rosload.exe");
+    CombinePaths(DstPath, ARRAYSIZE(DstPath), 2, SystemRootPath->Buffer, 
L"rosload.exe");
+
+    DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
     Status = SetupCopyFile(SrcPath, DstPath, FALSE);
     if (!NT_SUCCESS(Status))
     {
diff --git a/base/setup/lib/utils/bldrsup.c b/base/setup/lib/utils/bldrsup.c
index ad13cbe51df..097a79dc222 100644
--- a/base/setup/lib/utils/bldrsup.c
+++ b/base/setup/lib/utils/bldrsup.c
@@ -124,7 +124,7 @@ NtLdrEnumerateBootEntries(
 // Question 2: What if many config files are possible?
 NTOS_BOOT_LOADER_FILES NtosBootLoaders[] =
 {
-    {FreeLdr, L"freeldr.sys\0", L"freeldr.ini",
+    {FreeLdr, L"freeldr.sys\0" L"rosload.exe\0", L"freeldr.ini",
         OpenIniBootLoaderStore, CloseIniBootLoaderStore, 
(PENUM_BOOT_STORE_ENTRIES)FreeLdrEnumerateBootEntries},
     {NtLdr  , L"ntldr\0" L"osloader.exe\0", L"boot.ini",
         OpenIniBootLoaderStore, CloseIniBootLoaderStore, 
(PENUM_BOOT_STORE_ENTRIES)NtLdrEnumerateBootEntries  },

Reply via email to