new file mode 100644
@@ -0,0 +1,7 @@
+set timeout=0
+set default=0
+
+menuentry "my os" {
+ multiboot /boot/kernel.bin
+ boot
+}
@@ -50,6 +50,22 @@ FLATLIBS = lib/libcflat.a
$(OBJCOPY) -O elf32-i386 $^ $@
@chmod a-x $@
+grub_cfg := lib/grub/grub.cfg
+
+elf_files := $(wildcard ./x86/*.elf)
+iso_files := $(patsubst %.elf,%.iso,$(elf_files))
+
+%.iso: %.elf
+ @echo "Creating ISO for case: $(notdir $<)"
+ @rm -rf build/isofiles
+ @mkdir -p build/isofiles/boot/grub
+ @cp $< build/isofiles/boot/kernel.bin
+ @cp $(grub_cfg) build/isofiles/boot/grub
+ @grub-mkrescue -o $@ build/isofiles 2> /dev/null
+
+iso: $(iso_files)
+ echo "All ISO created successfully!"
+
tests-common = $(TEST_DIR)/vmexit.flat $(TEST_DIR)/tsc.flat \
$(TEST_DIR)/smptest.flat \
$(TEST_DIR)/realmode.flat $(TEST_DIR)/msr.flat \
@@ -81,5 +97,5 @@ $(TEST_DIR)/hyperv_stimer.elf: $(TEST_DIR)/hyperv.o
$(TEST_DIR)/hyperv_connections.elf: $(TEST_DIR)/hyperv.o
arch_clean:
- $(RM) $(TEST_DIR)/*.o $(TEST_DIR)/*.flat $(TEST_DIR)/*.elf \
+ $(RM) $(TEST_DIR)/*.o $(TEST_DIR)/*.flat $(TEST_DIR)/*.elf $(TEST_DIR)/*.iso \
$(TEST_DIR)/.*.d lib/x86/.*.d \
Make use of tool grub-mkresure to wrap x86/*.elf in ISO images. VMM could load test cases just like a CD-ROM, which could extend usage of those cases. Refine Makefile to clean *.iso when running 'make clean'. Signed-off-by: Yi Sun <yi.sun@intel.com>