Create ISO
This commit is contained in:
parent
5e3c17ee56
commit
2eff83e387
21
Makefile
21
Makefile
|
@ -10,6 +10,8 @@ BUILD_DIR_ABS := $(abspath $(BUILD_DIR))
|
|||
|
||||
FONT_OBJS := $(patsubst %.o,$(BUILD_DIR_ABS)/%.o, $(FONTS))
|
||||
|
||||
ISO_DIR := $(BUILD_DIR)/iso_dir
|
||||
|
||||
CROSS_AS := ${TARGET}-as
|
||||
CROSS_CC := ${TARGET}-gcc
|
||||
CROSS_LD := ${TARGET}-ld
|
||||
|
@ -21,6 +23,25 @@ export PATH := ${CROSS_BIN}:$(PATH)
|
|||
.PHONY: all
|
||||
all: $(BUILD_DIR)/kernel.bin $(BUILD_DIR)/$(FONTS)
|
||||
|
||||
.PHONY: run-qemu
|
||||
run-qemu: $(BUILD_DIR)/kernel.iso
|
||||
qemu-system-x86_64 -cdrom $<
|
||||
|
||||
$(BUILD_DIR)/kernel.iso: $(ISO_DIR)/boot/kernel.bin
|
||||
grub-mkrescue -o $@ $(ISO_DIR)
|
||||
|
||||
$(ISO_DIR)/boot/kernel.bin: $(BUILD_DIR)/kernel.bin $(ISO_DIR)/boot/grub/grub.cfg
|
||||
@cp $< $@
|
||||
|
||||
$(ISO_DIR)/boot/grub/grub.cfg: $(ISO_DIR)/boot
|
||||
@cp -r grub $<
|
||||
|
||||
$(ISO_DIR)/boot: $(ISO_DIR)
|
||||
@mkdir -p $@
|
||||
|
||||
$(ISO_DIR):
|
||||
@mkdir -p $@
|
||||
|
||||
$(BUILD_DIR)/kernel.bin: $(BUILD_DIR) $(BUILD_DIR)/$(FONTS)
|
||||
@$(MAKE) -C kernel \
|
||||
BUILD_DIR=$(abspath $(BUILD_DIR)) \
|
||||
|
|
|
@ -2,6 +2,7 @@ OBJECTS_GZ := $(patsubst %.o, /usr/share/kbd/consolefonts/%.psfu.gz, $(OBJECTS)
|
|||
OBJECTS_PSF := $(patsubst %.o, $(BUILD_DIR)/%.psfu, $(OBJECTS))
|
||||
SYMS_PREFIX := consolefonts
|
||||
|
||||
.PHONY: all
|
||||
all: $(BUILD_DIR)/$(OBJECTS)
|
||||
|
||||
$(BUILD_DIR)/%.o: $(OBJECTS_PSF)
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
menuentry "kernel" {
|
||||
multiboot /boot/kernel.bin
|
||||
}
|
|
@ -12,7 +12,7 @@ LINKER_LD := linker.ld
|
|||
all: $(BUILD_DIR)/kernel.bin
|
||||
|
||||
$(BUILD_DIR)/kernel.bin: $(OBJECTS_S) $(OBJECTS_C) $(LINKER_LD)
|
||||
$(CROSS_CC) \
|
||||
@$(CROSS_CC) \
|
||||
-T $(LINKER_LD) \
|
||||
$(LDFLAGS) \
|
||||
$(OBJECTS_C) \
|
||||
|
|
Loading…
Reference in New Issue