feat: kernel is now elf
This commit is contained in:
@@ -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
@@ -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
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user