[fix] gnu-efi build problem

This commit is contained in:
2026-05-24 19:24:48 +08:00
Unverified
parent 21b2d51783
commit 690782eae9
2 changed files with 26 additions and 1 deletions
+6 -1
View File
@@ -10,7 +10,11 @@ OBJ = $(SRC_C:%.c=build/%.o) $(SRC_CPP:%.cpp=build/%.o)
_bd:
@mkdir -p build/graphics build/kernel build/fonts
all: _bd $(OBJ)
gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o:
@echo "* Building gnu-efi..."
@$(MAKE) -C gnu-efi ARCH=x86_64
all: _bd gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o $(OBJ)
@echo "* Linking EFI..."
@ld $(LDFLAGS) gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o $(OBJ) -o build/boot.so $(LDLIBS)
@objcopy -j .text -j .sdata -j .data -j .rodata -j .dynamic -j .dynsym -j .rel -j .rela -j .rel.* -j .rela.* -j .reloc --output-target efi-app-x86_64 --subsystem=10 build/boot.so build/BOOTX64.EFI
@@ -34,5 +38,6 @@ run: vdir
clean:
@echo "Cleaning old files"
@rm -rf build vdir
@$(MAKE) -C gnu-efi clean 2>/dev/null || true
.PHONY: all vdir run clean _bd
+20
View File
@@ -4,4 +4,24 @@ Sylva源于拉丁语“森林”,就是本操作系统的宗旨:简单、绿
本操作系统在[GPL-3.0](LICENSE)协议下开源,欢迎各位fork二次开发,或是为提交Issues或PR做出贡献。
## 二次开发请注意
1. clone项目
使用
```bash
git clone --recurse-submodules https://cnb.cool/patrickyao/SylvaOS.git
```
2. 提交前请注意(重要!)
记得`make clean`!!!`gnu-efi`会生成两个文件,但这两个文件没有被加入.gitignore,也不能加入,所以一定要`make clean`!!!
---
## 声明
本项目使用`gnu-efi`作为子模块并遵守开源协议使用。
你可能还需要看看:[字体使用声明](fonts/README.md)