From 7e94b090fed491f3ca9c0957e7ed2af8ed2e8468 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Sun, 18 Jul 2021 14:47:32 +0200 Subject: Kernel: Introduce basic pre-kernel environment This implements a simple bootloader that is capable of loading ELF64 kernel images. It does this by using QEMU/GRUB to load the kernel image from disk and pass it to our bootloader as a Multiboot module. The bootloader then parses the ELF image and sets it up appropriately. The kernel's entry point is a C++ function with architecture-native code. Co-authored-by: Liav A --- Meta/grub-mbr.cfg | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'Meta/grub-mbr.cfg') diff --git a/Meta/grub-mbr.cfg b/Meta/grub-mbr.cfg index 150bce4f49..34e727430b 100644 --- a/Meta/grub-mbr.cfg +++ b/Meta/grub-mbr.cfg @@ -2,20 +2,24 @@ timeout=1 menuentry 'SerenityOS (normal)' { root=hd0,1 - multiboot /boot/Kernel root=/dev/hda1 + multiboot /boot/Bootloader root=/dev/hda1 + module /boot/Kernel } menuentry 'SerenityOS (text mode)' { root=hd0,1 - multiboot /boot/Kernel boot_mode=no-fbdev root=/dev/hda1 + multiboot /boot/Bootloader boot_mode=no-fbdev root=/dev/hda1 + module /boot/Kernel } menuentry 'SerenityOS (No ACPI)' { root=hd0,1 - multiboot /boot/Kernel root=/dev/hda1 acpi=off + multiboot /boot/Bootloader root=/dev/hda1 acpi=off + module /boot/Kernel } menuentry 'SerenityOS (with serial debug)' { root=hd0,1 - multiboot /boot/Kernel serial_debug root=/dev/hda1 + multiboot /boot/Bootloader serial_debug root=/dev/hda1 + module /boot/Kernel } -- cgit v1.2.3