From 885d2f1542f8815bda8c7920a0bb7ae624f88b00 Mon Sep 17 00:00:00 2001 From: Recolic Keghart <root@recolic.net> Date: Tue, 9 Jun 2020 17:01:13 +0800 Subject: [PATCH] kernel head working --- kernel/Makefile | 11 ++++++++--- kernel/image_head.asm | 4 ++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 kernel/image_head.asm diff --git a/kernel/Makefile b/kernel/Makefile index 6d07b25..b38f334 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,10 +1,15 @@ -kernel: - gcc -ffreestanding -c kernel.c -o kernel.o # -m32 - ld -o kernel.img -Ttext 0x7e00 --oformat binary kernel.o # -m elf_i386 +assemble: kernel head + ld -o kernel.img -Ttext 0x7e00 --oformat binary image_head.o kernel.o -m elf_i386 # Sector 1 = bootloader, Sector 2 - (512B TO 64K) = kernel truncate --size=65024 kernel.img +head: + nasm -f elf image_head.asm -o image_head.o + +kernel: + gcc -ffreestanding -fno-pie -c kernel.c -o kernel.o -m32 + clean: rm *.o *.img diff --git a/kernel/image_head.asm b/kernel/image_head.asm new file mode 100644 index 0000000..f6d9c3b --- /dev/null +++ b/kernel/image_head.asm @@ -0,0 +1,4 @@ +[bits 32] +[extern main] +call main +ret -- GitLab