https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3d516e71d3b044d2030c5…
commit 3d516e71d3b044d2030c588f8f3172df8a7f76b3
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Thu Oct 3 11:32:51 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)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 },