ULONG CmNtCSDReleaseType;
UNICODE_STRING CmVersionString;
UNICODE_STRING CmCSDVersionString;
-CHAR NtBuildLab[] = KERNEL_VERSION_BUILD_STR;
+
+CHAR NtBuildLab[] = KERNEL_VERSION_BUILD_STR "."
+ REACTOS_COMPILER_NAME "_" REACTOS_COMPILER_VERSION;
/* Init flags and settings */
ULONG ExpInitializationPhase;
if (LoaderBlock->SetupLdrBlock)
{
/* Check if this is text-mode setup */
- if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_TEXT_MODE) ExpInTextModeSetup = TRUE;
+ if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_TEXT_MODE)
+ ExpInTextModeSetup = TRUE;
/* Check if this is network boot */
if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_REMOTE_BOOT)
/* Setup the boot driver */
InbvEnableBootDriver(!NoGuiBoot);
- InbvDriverInitialize(LoaderBlock, 18);
+ InbvDriverInitialize(LoaderBlock, IDB_MAX_RESOURCE);
/* Check if GUI boot is enabled */
if (!NoGuiBoot)
if (CmCSDVersionString.Length)
{
/* Print the version string */
- /* ReactOS specific: Append also the revision number */
Status = RtlStringCbPrintfExA(StringBuffer,
Remaining,
&EndBuffer,
&Remaining,
0,
- " r%u"
": %wZ",
- KERNEL_VERSION_BUILD_HEX,
&CmCSDVersionString);
if (!NT_SUCCESS(Status))
{
if (NT_SUCCESS(MsgStatus))
{
/* Create the banner message */
+ /* ReactOS specific: Report ReactOS version, NtBuildLab information and reported NT kernel version */
Status = RtlStringCbPrintfA(EndBuffer,
Remaining,
(PCHAR)MsgEntry->Text,
+ KERNEL_VERSION_STR,
+ NtBuildLab,
StringBuffer,
NtBuildNumber & 0xFFFF,
BeginBuffer);
if (!PoInitSystem(0)) KeBugCheck(INTERNAL_POWER_ERROR);
/* Check for Y2K hack */
- Y2KHackRequired = strstr(CommandLine, "YEAR");
+ Y2KHackRequired = CommandLine ? strstr(CommandLine, "YEAR") : NULL;
if (Y2KHackRequired) Y2KHackRequired = strstr(Y2KHackRequired, "=");
if (Y2KHackRequired) YearHack = atol(Y2KHackRequired + 1);
WINDOWS_NT_INFO_STRING,
&MsgEntry);
- /* Get total RAM size */
- Size = MmNumberOfPhysicalPages * PAGE_SIZE / 1024 / 1024;
+ /* Get total RAM size, in MiB */
+ /* Round size up. Assumed to better match actual physical RAM size */
+ Size = ALIGN_UP_BY(MmNumberOfPhysicalPages * PAGE_SIZE, 1024 * 1024) / (1024 * 1024);
/* Create the string */
StringBuffer = InitBuffer->VersionBuffer;
sizeof(InitBuffer->VersionBuffer),
NT_SUCCESS(MsgStatus) ?
(PCHAR)MsgEntry->Text :
- "%u System Processor [%u MB Memory] %Z\r\n",
+ "%u System Processor [%Iu MB Memory] %Z\r\n",
KeNumberProcessors,
Size,
&TempString);