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