FarmOS 是北京航空航天大学的三名本科生共同开发的基于 RISC-V 的宏内核类 Unix 操作系统。
- 安装基础构建工具 GNU/make、GNU/Bash
- 安装 Python 3
- 安装 RISCV 64位 gcc 编译工具链
riscv64-unknown-elf-gccriscv64-unknown-elf-ld- ...
riscv64-unknown-elf-gdb
- 安装 Qemu-7.0.0 for Riscv64
在 Ubuntu 22.04 下安装 riscv64-unknown-elf-* 系列编译器:
sudo apt install gcc-riscv64-unknown-elf
调试器则需要自行编译安装。
安装 Qemu:
sudo apt install qemu-system-riscv64
克隆本仓库代码到本地,然后运行:
make
即可编译得到 FarmOS 内核二进制文件 kernel-qemu.
运行:
make qemu
可以运行FarmOS操作系统。
运行:
make qemu-gdb
之后新建一个终端窗口,输入:
riscv64-unknown-elf-gdb kernel-qemu
用于加载内核二进制文件中的符号并开始调试。
然后在gdb提示符下,输入 target remote localhost:26000 连接调试端口。这样就可以开始调试了。
include/kernboot启动相关代码dev硬件抽象层driver驱动fs文件系统lib通用库lock锁mm内存管理proc进程管理trap中断处理kernel.asm内核反汇编文件Makefile
lib用户与内核的通用库linker链接脚本scripts辅助脚本user用户代码
make/make all:生成内核镜像文件make clean:清空编译中间文件和目标文件make qemu:在qemu中运行FarmOSmake qemu-gdb:使用gdb调试内核make check-style:使用clang-format检查C代码格式是否符合规范。代码规范位于.clang-format文件内make fix-style:使用clang-format自动修复C代码的格式