From 1ec91d72cde7802a3e03dd9a459ff8a9e8c1eb60 Mon Sep 17 00:00:00 2001 From: asava Date: Thu, 30 Apr 2020 21:17:54 +0300 Subject: [PATCH] A few corrections needed for Linux booting in some cases --- rEFIt_UEFI/Platform/Settings.cpp | 5 +++-- rEFIt_UEFI/refit/main.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rEFIt_UEFI/Platform/Settings.cpp b/rEFIt_UEFI/Platform/Settings.cpp index 9acfda56f..c38962c22 100644 --- a/rEFIt_UEFI/Platform/Settings.cpp +++ b/rEFIt_UEFI/Platform/Settings.cpp @@ -1905,12 +1905,12 @@ FillinCustomEntry ( // } else { // Entry->Options.SPrintf("%s", Prop->string); // } - Entry->LoadOptions = Split(Prop->string, " "); + Entry->LoadOptions.import(Split(Prop->string, " ")); } else { Prop = GetProperty(DictPointer, "Arguments"); if (Prop != NULL && (Prop->type == kTagTypeString)) { // Entry->Options.SPrintf("%s", Prop->string); - Entry->LoadOptions = Split(Prop->string, " "); + Entry->LoadOptions = Split(Prop->string, " "); Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_NODEFAULTARGS); } } @@ -2046,6 +2046,7 @@ FillinCustomEntry ( Entry->Type = OSTYPE_WINEFI; } else if (AsciiStriCmp(Prop->string, "Linux") == 0) { Entry->Type = OSTYPE_LIN; + Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_NODEFAULTARGS); } else if (AsciiStriCmp(Prop->string, "LinuxKernel") == 0) { Entry->Type = OSTYPE_LINEFI; } else { diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp index e4379004f..0b0ed02af 100644 --- a/rEFIt_UEFI/refit/main.cpp +++ b/rEFIt_UEFI/refit/main.cpp @@ -921,7 +921,7 @@ static VOID StartLoader(IN LOADER_ENTRY *Entry) // DBG("BeginExternalScreen\n"); BeginExternalScreen(OSFLAG_ISSET(Entry->Flags, OSFLAG_USEGRAPHICS)/*, L"Booting OS"*/); - if (!OSTYPE_IS_WINDOWS(Entry->LoaderType)) { + if (!OSTYPE_IS_WINDOWS(Entry->LoaderType) && !OSTYPE_IS_LINUX(Entry->LoaderType)) { if (OSFLAG_ISSET(Entry->Flags, OSFLAG_USEGRAPHICS)) { // save orig OutputString and replace it with // null implementation