Create ISO

This commit is contained in:
Victor Timofei 2022-04-25 22:58:45 +03:00
parent 5e3c17ee56
commit 2eff83e387
Signed by: vtimofei
GPG Key ID: B790DCEBE281403A
4 changed files with 26 additions and 1 deletions

View File

@ -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)) \

View File

@ -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)

3
grub/grub.cfg Normal file
View File

@ -0,0 +1,3 @@
menuentry "kernel" {
multiboot /boot/kernel.bin
}

View File

@ -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) \