summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorIan McFarlane <i.mcfarlane2002@gmail.com>2025-04-20 23:34:00 -0400
committerFreya Murphy <freya@freyacat.org>2025-04-20 23:44:40 -0400
commitfcb546782c1260e8fc0eebd7ec938bbee30a7614 (patch)
tree7e92251e1c31c7baf6cb4007c685cf66e17d302d /Makefile
parentadd newline to log messages (diff)
downloadcomus-fcb546782c1260e8fc0eebd7ec938bbee30a7614.tar.gz
comus-fcb546782c1260e8fc0eebd7ec938bbee30a7614.tar.bz2
comus-fcb546782c1260e8fc0eebd7ec938bbee30a7614.zip
generate disk image as make step
Diffstat (limited to '')
-rw-r--r--Makefile18
1 files changed, 12 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 64313f1..7e2f8fa 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,8 @@ SRC=kernel
BIN=bin
KERNEL=kernel.bin
ISO=os.iso
+IMAGE=disk.img
+IMAGE_SIZE=4G
H_SRC = $(shell find $(SRC) -type f -name "*.h")
A_SRC = $(shell find $(SRC) -type f -name "*.S")
@@ -38,6 +40,7 @@ UNAME := $(shell uname)
QEMU = qemu-system-x86_64
QEMUOPTS = -cdrom $(BIN)/$(ISO) \
-no-reboot \
+ -drive format=raw,file=$(BIN)/$(IMAGE)\
-serial mon:stdio \
-m 4G \
-name kern
@@ -49,22 +52,22 @@ QEMU = qemu-system-x86_64-uefi
GRUB = grub-mkrescue-uefi
endif
-qemu: $(BIN)/$(ISO)
+qemu: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS)
-qemu-kvm: $(BIN)/$(ISO)
+qemu-kvm: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS) -cpu host --enable-kvm
-qemu-kvm-nox: $(BIN)/$(ISO)
+qemu-kvm-nox: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS) -cpu host --enable-kvm -nographic
-qemu-nox: $(BIN)/$(ISO)
+qemu-nox: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS) -nographic
-qemu-gdb: $(BIN)/$(ISO)
+qemu-gdb: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS) -S -gdb tcp::1337
-qemu-gdb-nox: $(BIN)/$(ISO)
+qemu-gdb-nox: $(BIN)/$(ISO) img
$(QEMU) $(QEMUOPTS) -nographic -S -gdb tcp::1337
gdb:
@@ -73,6 +76,9 @@ gdb:
clean:
rm -fr $(BIN)
+img:
+ qemu-img create $(BIN)/$(IMAGE) $(IMAGE_SIZE)
+
build: $(BIN)/$(ISO)
$(A_OBJ): $(BIN)/%.S.o : %.S