Emerald 操作系统项目教程
emerald An operating system written in C 项目地址: https://gitcode.com/gh_mirrors/eme/emerald
1. 项目的目录结构及介绍
emerald/
├── docs/
├── kernel/
├── libraries/
│ └── libk/
├── screenshots/
├── scripts/
│ └── development/
├── thirdparty/
├── github/
│ └── workflows/
├── clang-format
├── gitattributes
├── gitignore
├── gitmodules
├── Doxyfile
├── LICENSE
├── Makefile
├── README.md
└── limine.cfg
目录结构介绍
- docs/: 包含项目的文档文件。
- kernel/: 包含操作系统的内核代码。
- libraries/libk/: 包含内核使用的库文件。
- screenshots/: 包含项目的截图文件。
- scripts/development/: 包含开发过程中使用的脚本文件。
- thirdparty/: 包含第三方依赖库。
- github/workflows/: 包含 GitHub Actions 的工作流配置文件。
- clang-format: 代码格式化配置文件。
- gitattributes: Git 属性配置文件。
- gitignore: Git 忽略文件配置。
- gitmodules: Git 子模块配置文件。
- Doxyfile: Doxygen 文档生成配置文件。
- LICENSE: 项目许可证文件。
- Makefile: 项目的构建文件。
- README.md: 项目介绍和使用说明文件。
- limine.cfg: Limine 引导加载器的配置文件。
2. 项目的启动文件介绍
limine.cfg
limine.cfg
是 Limine 引导加载器的配置文件,用于配置操作系统的启动参数。以下是一个示例配置:
TIMEOUT=5
:emerald
PROTOCOL=limine
KERNEL_PATH=boot:///kernel/kernel.elf
CMDLINE="console=ttyS0,115200n8"
启动流程
- Limine 引导加载器: 读取
limine.cfg
配置文件,加载内核文件kernel/kernel.elf
。 - 内核初始化: 内核文件
kernel/kernel.elf
启动,执行内核初始化代码。
3. 项目的配置文件介绍
Makefile
Makefile
是项目的构建文件,用于编译和构建操作系统。以下是部分关键配置:
CC = gcc
CFLAGS = -Wall -Wextra -O2 -g
kernel:
$(CC) $(CFLAGS) -o kernel/kernel.elf kernel/*.c
all: kernel
clean:
rm -f kernel/kernel.elf
配置说明
- CC: 指定编译器为
gcc
。 - CFLAGS: 编译选项,包括警告和调试信息。
- kernel: 编译内核的目标规则。
- all: 默认目标,构建所有组件。
- clean: 清理生成的文件。
通过以上配置,可以方便地编译和构建 Emerald 操作系统。
emerald An operating system written in C 项目地址: https://gitcode.com/gh_mirrors/eme/emerald