serenity/Kernel/Prekernel/linker.ld
Liav A d068af89d5 Kernel/x86: Bake the Prekernel and the Kernel into one image
The new baked image is a Prekernel and a Kernel baked together now, so
essentially we no longer need to pass the Prekernel as -kernel and the
actual kernel image as -initrd to QEMU, leaving the option to pass an
actual initrd or initramfs module later on with multiboot.
2024-05-14 23:37:38 +02:00

57 lines
907 B
Plaintext

ENTRY(start)
PHDRS
{
boot_text PT_LOAD ;
text PT_LOAD ;
data PT_LOAD ;
bss PT_LOAD ;
}
SECTIONS
{
. = 0x00100000;
start_of_prekernel_image = .;
.boot_text ALIGN(4K) : AT (ADDR(.boot_text))
{
KEEP(*(.multiboot))
} :boot_text
.text ALIGN(4K) : AT (ADDR(.text))
{
start_of_prekernel_text = .;
*(.text*)
} :text
.rodata ALIGN(4K) : AT (ADDR(.rodata))
{
*(.rodata*)
} :data
.data ALIGN(4K) : AT (ADDR(.data))
{
*(.data*)
} :data
.bss ALIGN(4K) (NOLOAD) : AT (ADDR(.bss))
{
*(COMMON)
*(.bss)
*(.stack)
*(.page_tables)
} :bss
end_of_prekernel_image = .;
.Kernel_image ALIGN(4K) : AT (ADDR(.Kernel_image))
{
_binary_Kernel_standalone_start = .;
KEEP(*(.Kernel_image))
}
end_of_prekernel_image_after_kernel_image = .;
}