From aa595fad9c8062910778bd6fa01ee487eab1a3e9 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 31 Mar 2025 11:00:59 +0200 Subject: boot: fix framebuffer init and restore boot on real hardware Framebuffer mode selection now defaults gracefully when the expected resolution is unavailable. EFI binaries now boot successfully on physical hardware using a fixed image base and simplified jump logic. Signed-off-by: Amlal El Mahrouss --- dev/kernel/KernelKit/PEF.h | 2 +- dev/kernel/SwapKit/DiskSwap.h | 2 +- dev/kernel/amd64-ci.make | 2 +- dev/kernel/amd64-desktop.make | 2 +- dev/kernel/arm64-desktop.make | 2 +- dev/kernel/kernel_rsrc.rsrc | 2 +- dev/kernel/src/FS/NeFS.cc | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'dev/kernel') diff --git a/dev/kernel/KernelKit/PEF.h b/dev/kernel/KernelKit/PEF.h index 65c9548a..eaa71a5e 100644 --- a/dev/kernel/KernelKit/PEF.h +++ b/dev/kernel/KernelKit/PEF.h @@ -32,7 +32,7 @@ #define kPefLibExt ".lib" #define kPefObjectExt ".obj" #define kPefDebugExt ".dbg" -#define kPefDriverExt ".sys" +#define kPefDriverExt ".efi" // Kernel System Binary Interface. #define kPefAbi (0x5046) diff --git a/dev/kernel/SwapKit/DiskSwap.h b/dev/kernel/SwapKit/DiskSwap.h index 717baae4..d09e719a 100644 --- a/dev/kernel/SwapKit/DiskSwap.h +++ b/dev/kernel/SwapKit/DiskSwap.h @@ -11,7 +11,7 @@ #include #define kSwapBlockMaxSize (mib_cast(16)) -#define kSwapPageFile "/boot/pagefile.sys" +#define kSwapPageFile "/boot/pagefile.efi" /// @file SwapDisk.h /// @brief Virtual memory swap disk. diff --git a/dev/kernel/amd64-ci.make b/dev/kernel/amd64-ci.make index 5e94f47d..d71f3a6f 100644 --- a/dev/kernel/amd64-ci.make +++ b/dev/kernel/amd64-ci.make @@ -37,7 +37,7 @@ LDFLAGS = -e hal_init_platform --subsystem=17 --image-base 0x4000000 LDOBJ = obj/*.obj # This file is the Kernel, responsible of task, memory, driver, sci, disk and device management. -KERNEL_IMG = vkrnl.exe +KERNEL_IMG = vmkrnl.efi .PHONY: error error: diff --git a/dev/kernel/amd64-desktop.make b/dev/kernel/amd64-desktop.make index 5e94f47d..d71f3a6f 100644 --- a/dev/kernel/amd64-desktop.make +++ b/dev/kernel/amd64-desktop.make @@ -37,7 +37,7 @@ LDFLAGS = -e hal_init_platform --subsystem=17 --image-base 0x4000000 LDOBJ = obj/*.obj # This file is the Kernel, responsible of task, memory, driver, sci, disk and device management. -KERNEL_IMG = vkrnl.exe +KERNEL_IMG = vmkrnl.efi .PHONY: error error: diff --git a/dev/kernel/arm64-desktop.make b/dev/kernel/arm64-desktop.make index 153389ed..7ae4d9f8 100644 --- a/dev/kernel/arm64-desktop.make +++ b/dev/kernel/arm64-desktop.make @@ -23,7 +23,7 @@ LDFLAGS = -subsystem:efi_application -entry:hal_init_platform /nodefaultlib LDOBJ = obj/*.obj # This file is the Kernel, responsible of task management and memory. -KERNEL = vkrnl.exe +KERNEL = vmkrnl.efi .PHONY: error error: diff --git a/dev/kernel/kernel_rsrc.rsrc b/dev/kernel/kernel_rsrc.rsrc index 4694ee31..ab149b31 100644 --- a/dev/kernel/kernel_rsrc.rsrc +++ b/dev/kernel/kernel_rsrc.rsrc @@ -13,7 +13,7 @@ BEGIN VALUE "FileVersion", KERNEL_VERSION VALUE "InternalName", "neoskrnl" VALUE "LegalCopyright", "(c) 2024-2025 Amlal El Mahrouss, all rights reserved" - VALUE "OriginalFilename", "vkrnl.exe" + VALUE "OriginalFilename", "vmkrnl.efi" VALUE "ProductName", "NeKernel" VALUE "ProductVersion", KERNEL_VERSION END diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc index 3b7fb79e..6b73dc09 100644 --- a/dev/kernel/src/FS/NeFS.cc +++ b/dev/kernel/src/FS/NeFS.cc @@ -503,7 +503,7 @@ bool NeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input const L // Write a new EPM entry. constexpr auto kFsName = "NeFS"; - constexpr auto kBlockName = "ZkaOS:"; + constexpr auto kBlockName = "NeKernel:"; rt_copy_memory(reinterpret_cast(const_cast(kFsName)), epm_boot->Fs, rt_string_len(kFsName)); -- cgit v1.2.3