diff --git a/Makefile b/Makefile index 3437931..f9710f7 100644 --- a/Makefile +++ b/Makefile @@ -10,9 +10,11 @@ KOBJ := $(addprefix $(BUILDDIR)/, \ $(patsubst %.asm,%.o, $(patsubst %.c,%.o, $(KSRC))))) KIMG := kernel.bin +ISO := Hazel.iso + CFLAGS := -ffreestanding -Wall -Wextra -Werror -I $(INCLUDEDIR) LDFLAGS := -ffreestanding -nostdlib -lgcc -T kernel/kernel.ld -QEMUFLAGS := -kernel $(BUILDDIR)/$(KIMG) \ +QEMUFLAGS := -cdrom $(BUILDDIR)/$(ISO) \ -serial stdio $(BUILDDIR)/$(KIMG): $(KOBJ) @@ -24,12 +26,12 @@ $(BUILDDIR)/%.o: */%.c kernel: $(BUILDDIR)/$(KIMG) -$(BUILDDIR)/Hazel.iso: kernel - cp $(BUILDDIR)/kernel.bin boot/kernel.bin - grub-mkrescue -o $(BUILDDIR)/Hazel.iso . +$(BUILDDIR)/$(ISO): kernel + cp $(BUILDDIR)/$(KIMG) boot/$(KIMG) + grub-mkrescue -o $(BUILDDIR)/$(ISO) . +iso: $(BUILDDIR)/$(ISO) -qemu: kernel +qemu: iso qemu-system-i386 $(QEMUFLAGS) - clean: rm build/* boot/*.bin diff --git a/boot/grub/grub.cfg b/boot/grub/grub.cfg new file mode 100644 index 0000000..0942425 --- /dev/null +++ b/boot/grub/grub.cfg @@ -0,0 +1,5 @@ +default=0 +timeout=0 +menuentry "Hazel" { + multiboot /boot/kernel.bin +}