diff --git a/Makefile b/Makefile index 6522885..3f0e73d 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,15 @@ all: os-image run: all qemu-system-x86_64 os-image +grub: eOS.iso + qemu-system-x86_64 eOS.iso + +eOS.iso : kernel.bin src/grub/grub.cfg + mkdir -p boot/grub + cp $< boot/eOS.bin + cp src/grub/grub.cfg boot/grub/grub.cfg + grub-mkrescue -o eOS.iso ./ + os-image: bootloader.bin kernel.bin cat $^ > os-image @@ -19,7 +28,8 @@ bootloader.bin : src/bootloader/bootloader.asm nasm $< -f bin -o $@ clean: - rm -fr *.bin *.dis *.o os-image *.map + rm -fr *.bin *.dis *.o os-image *.map boot/ kernel.dis : kernel.bin ndisasm -b 32 $< > $@ + diff --git a/boot/grub/grub.cfg b/boot/grub/grub.cfg new file mode 100644 index 0000000..c3ebe15 --- /dev/null +++ b/boot/grub/grub.cfg @@ -0,0 +1,3 @@ +menuentry "eOS" { + multiboot /boot/eOS.bin +} diff --git a/eOS.iso b/eOS.iso new file mode 100644 index 0000000..1c2eff8 Binary files /dev/null and b/eOS.iso differ