diff options
author | Ian Moffett <ian@osmora.org> | 2025-09-13 14:53:43 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-09-13 14:53:43 -0400 |
commit | e698061ebaf0cf1a10c11c51a6c6cd46a331959c (patch) | |
tree | 19faff0de74be4661e55478ee7d31a8427c067c6 /src/Makefile |
initial commit
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/Makefile')
-rw-r--r-- | src/Makefile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..ea6c7aa --- /dev/null +++ b/src/Makefile @@ -0,0 +1,38 @@ +TARGET = x86_64 +SHIMDIR = shim +SHIMBIN = BOOTX64.EFI +SYSROOT = root +OMAR = tools/omar/bin/omar +ISO = lunos.iso + +# QEMU emulator flags +QEMU_FLAGS = --enable-kvm -serial stdio -cdrom $(ISO) \ + -M q35 -cpu host -smp 4 -m 2G + +.PHONY: all +all: root image + +root: + mkdir -p root/ + mkdir -p root/boot/ + +.PHONY: sysroot +image: + $(OMAR) -i $(SYSROOT) -o $(SYSROOT)/boot/initrd.omar + cp $(SHIMDIR)/limine/limine-bios-cd.bin $(SYSROOT)/ + cp $(SHIMDIR)/limine/limine-uefi-cd.bin $(SYSROOT)/ + cp $(SHIMDIR)/limine/limine-bios.sys $(SYSROOT)/ + cp data/boot/limine.conf $(SYSROOT)/boot/limine.conf + xorriso -as mkisofs -b limine-bios-cd.bin -no-emul-boot -boot-load-size 4\ + -boot-info-table --efi-boot limine-uefi-cd.bin -efi-boot-part \ + --efi-boot-image --protective-msdos-label $(SYSROOT) -o $(ISO) 1>/dev/null + $(SHIMDIR)/limine/limine bios-install $(ISO) 1>/dev/null + + +.PHONY: qemu-amd64 +run: + qemu-system-$(TARGET) $(QEMU_FLAGS) + +.PHONY: clean +clean: + rm -f lunos.iso |