feat: kernel is now elf

This commit is contained in:
karina
2026-04-26 09:32:07 +04:00
parent 1463402c6c
commit 6698c4ab3f
9 changed files with 137 additions and 42 deletions
+3 -6
View File
@@ -33,14 +33,11 @@ target_link_options(Kernel PRIVATE
-no-pie
-T "${CMAKE_CURRENT_SOURCE_DIR}/linker.ld"
-z max-page-size=0x1000
--image-base=0x40100000
--no-dynamic-linker
)
set_target_properties(Kernel PROPERTIES
OUTPUT_NAME "Kernel.elf"
OUTPUT_NAME "ksOSKernel.elf"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
add_custom_command(TARGET Kernel POST_BUILD
COMMAND ${LLVM_OBJCOPY} -O binary ${CMAKE_BINARY_DIR}/Kernel.elf ${CMAKE_BINARY_DIR}/Kernel.bin
COMMENT "Generating ksOSKernel.bin from Kernel.elf"
)
+2 -2
View File
@@ -7,8 +7,8 @@ build:
cmake --build {{TEMP_DIR}}/Kernel
cp {{TEMP_DIR}}/Kernel/Kernel.bin {{BUILD_DIR}}/Kernel/ksOSKernel.bin
@echo "✅ Kernel ready at: {{BUILD_DIR}}/Kernel/ksOSKernel.bin"
cp {{TEMP_DIR}}/Kernel/ksOSKernel.elf {{BUILD_DIR}}/Kernel/ksOSKernel.elf
@echo "✅ Kernel ready at: {{BUILD_DIR}}/Kernel/ksOSKernel.elf"
clean:
rm -rf {{TEMP_DIR}}/Kernel
+14 -9
View File
@@ -1,15 +1,20 @@
ENTRY(_start)
PHDRS
{
text PT_LOAD FLAGS(5); /* Read | Execute */
data PT_LOAD FLAGS(6); /* Read | Write */
}
SECTIONS {
. = 0;
SECTIONS
{
. = 0x40100000;
.text : {
*(.text.boot)
*(.text*)
}
} :text
.rodata : { *(.rodata*) }
.data : { *(.data*) }
.bss : { *(.bss*) *(COMMON) }
}
.rodata : { *(.rodata*) } :text
.data : { *(.data*) } :data
.bss : { *(.bss*) *(COMMON) } :data
}