Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.

Commit 4a4b399

Browse files
committed
upd add font for ext2
1 parent 92fadfb commit 4a4b399

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

Makefile

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ EDK2_BUILD = $(EDK2_DIR)/bin/boot/DEBUG_GCC5/X64/LiteCoreBootManager.efi
1313
SRC_DIR = src
1414
SRC_BOOT = boot
1515
SRC_KERNEL = $(SRC_DIR)/kernel
16+
FONTS = $(SRC_KERNEL)/fonts/ter-u12b.bdf
1617
INCLUDE = $(SRC_DIR)/include
1718
OUT_DIR = bin
1819
K_OUT_DIR = $(OUT_DIR)/kernel
1920
B_OUT_DIR = $(OUT_DIR)/boot
21+
F_OUT_DIR = $(K_OUT_DIR)/fonts
2022
IMG_OUT_DIR = $(OUT_DIR)
2123

2224
CFLAGS = -O2 -Wimplicit-function-declaration -Wunused-but-set-variable -ffreestanding -m64 -c -Wall -Wextra -I$(INCLUDE) -mcmodel=large -mno-red-zone -fno-pic
@@ -26,7 +28,7 @@ NFLAGS = -f bin
2628
QEMU_FLAGS = -serial stdio -display none -monitor none -device qemu-xhci,id=xhci \
2729
-device usb-kbd,bus=xhci.0 \
2830
-bios /usr/share/ovmf/OVMF.fd -d int -D qemu.log --no-reboot
29-
QEMU_VGA = -display curses -device qemu-xhci,id=xhci -device usb-kbd,bus=xhci.0 -bios /usr/share/ovmf/OVMF.fd
31+
QEMU_VGA = -device qemu-xhci,id=xhci -device usb-kbd,bus=xhci.0
3032
CONSOLE = -display curses
3133

3234
SOURCES = $(shell find $(SRC_KERNEL) -name "*.c")
@@ -44,7 +46,7 @@ ESP_DIR = esp
4446
.PHONY: all run run-console run-vga clean bootloader kernel ext2
4547
.DEFAULT_GOAL := all
4648

47-
all: bootloader kernel $(ESP_IMG) $(EXT2_IMG)
49+
all: bootloader kernel $(F_OUT_DIR)/ter-u12b.bdf $(ESP_IMG) $(EXT2_IMG)
4850

4951
$(K_OUT_DIR):
5052
@mkdir -p $(K_OUT_DIR)
@@ -75,6 +77,10 @@ $(K_OUT_DIR)/%.o: $(SRC_KERNEL)/%.asm
7577
@mkdir -p $(dir $@)
7678
@$(NASM) -f elf64 $< -o $@
7779

80+
$(F_OUT_DIR)/ter-u12b.bdf: $(FONTS)
81+
@mkdir -p $(F_OUT_DIR)
82+
@cp $< $@
83+
7884
$(ESP_IMG): $(BOOTX64) $(KERNEL)
7985
@rm -f $(ESP_IMG)
8086
@echo "Creating UEFI ESP image..."
@@ -93,8 +99,11 @@ $(ESP_IMG): $(BOOTX64) $(KERNEL)
9399
$(EXT2_IMG): $(KERNEL)
94100
@rm -f $(EXT2_IMG)
95101
@echo "Creating ext2 filesystem image..."
96-
@mkdir -p bin/fs_tmp
97-
@find bin -type f -not -name "*.o" -not -name "fs.img" -not -path "*/fs_tmp/*" -exec bash -c 'dest="bin/fs_tmp/$${1#bin/}"; mkdir -p "$$(dirname "$$dest")"; cp "$$1" "$$dest"' _ {} \;
102+
@find bin -type f \
103+
-not -name "*.o" \
104+
-not -name "fs.img" \
105+
-not -path "bin/fs_tmp/*" \
106+
-exec bash -c 'dest="bin/fs_tmp/$${1#bin/}"; mkdir -p "$$(dirname "$$dest")"; cp "$$1" "$$dest"' _ {} \;
98107
@python3 tools/mk_ext2_image.py $(EXT2_IMG) 256000 bin/fs_tmp
99108
@rm -rf bin/fs_tmp/fs_content
100109
@echo "ext2 image created: $(EXT2_IMG)"
@@ -106,7 +115,7 @@ run-console: $(ESP_IMG) $(EXT2_IMG)
106115
$(QEMU) -bios /usr/share/ovmf/OVMF.fd $(CONSOLE) $(QEMU_USB) -drive file=$(ESP_IMG),format=raw -drive file=$(EXT2_IMG),format=raw,if=ide
107116

108117
run-vga: $(ESP_IMG) $(EXT2_IMG)
109-
$(QEMU) -bios /usr/share/ovmf/OVMF.fd $(QEMU_VGA) -drive file=$(ESP_IMG),format=raw -drive file=$(EXT2_IMG),format=raw,if=ide
118+
$(QEMU) -bios /usr/share/ovmf/OVMF.fd $(QEMU_VGA) -drive file=$(ESP_IMG),format=raw -drive file=$(EXT2_IMG),format=raw,if=ide -d int -D qemu.log --no-reboot
110119

111120
clean:
112121
rm -rf $(OUT_DIR) $(ESP_DIR)

0 commit comments

Comments
 (0)