diff --git a/.gitignore b/.gitignore index 3670cc9..5f3bb4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ *.o +*.a +*.multiboot *.bin +*.iso /config.mk - -/arch/x86/kernel -/libk/libk.a -/iso/image.iso -/iso/rootfs/boot/kernelmq diff --git a/Makefile b/Makefile index 8df1c91..949361c 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ include config.mk export INCLUDE = $(shell pwd)/include -export KERNEL = $(shell pwd)/arch/$(ARCH)/kernel +export KERNEL = $(shell pwd)/arch/$(ARCH)/kernel.multiboot export LIBK = $(shell pwd)/libk/libk.a export MODULES = $(addprefix $(shell pwd)/modules/, dummy1.bin dummy2.bin) diff --git a/arch/x86/Makefile b/arch/x86/Makefile index b8821dc..ef3f328 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -33,12 +33,12 @@ OBJS += exception.c.o OBJS += hwint.c.o OBJS += syscall.c.o -all: kernel +all: kernel.multiboot clean: - rm -f kernel $(OBJS) + rm -f kernel.multiboot $(OBJS) -kernel: $(OBJS) +kernel.multiboot: $(OBJS) $(CC) -T linker.ld -o $@ -ffreestanding -nostdlib -lgcc $(OBJS) $(LIBK) grub-file --is-x86-multiboot2 $@ diff --git a/iso/Makefile b/iso/Makefile index e0013ca..8001c73 100644 --- a/iso/Makefile +++ b/iso/Makefile @@ -3,9 +3,9 @@ run: all all: grub-file --is-x86-multiboot2 "$(KERNEL)" - cp "$(KERNEL)" rootfs/boot/kernelmq + cp "$(KERNEL)" rootfs/boot/kernelmq.multiboot cp $(MODULES) rootfs/boot/ grub-mkrescue rootfs -o image.iso clean: - rm -f image.iso rootfs/boot/kernelmq rootfs/boot/*.bin + rm -f image.iso rootfs/boot/kernelmq.multiboot rootfs/boot/*.bin diff --git a/iso/rootfs/boot/grub/grub.cfg b/iso/rootfs/boot/grub/grub.cfg index 7c815dc..019c0d0 100644 --- a/iso/rootfs/boot/grub/grub.cfg +++ b/iso/rootfs/boot/grub/grub.cfg @@ -1,5 +1,5 @@ menuentry "KernelMQ" { - multiboot2 /boot/kernelmq hello kernel + multiboot2 /boot/kernelmq.multiboot hello kernel module2 /boot/dummy1.bin foo bar module2 /boot/dummy2.bin car cdr