- 注1:在内核实现赛道,并不要求参赛队要从零开发os kernel,可以参考和复制非本队(如下面的各种内核相关的开源软件参考实现)的内核参考例子(即作为base OS)或内核模块参考,进一步实现和改进可通过测试用例的内核功能。重点是参赛队自己独立完成的内核增量工作。
- 注2:在参考和复制非本队的内核参考例子(即作为base OS)时,需要仔细阅读并遵循2025OS比赛技术方案中的"比赛要求"内容,确保源代码和文档的合法性和合规性。
- 注3:参赛队实现的内核要求支持RISC-V64 & LoongArch64。在初赛阶段,硬件环境仅基于QEMU硬件模拟器 for RISC-V64 & LoongArch64,不基于实际物理硬件。
- 注4:如果参赛队把参考和复制的内核模块等做了改进后,鼓励通过如github的PR(提交git patch)等方式回馈给原作者和原项目。
- 2025年OS比赛内核实现赛道题目仓库中的赛题评测指南给出了详细信息
- 测试用例:与处理器硬件无关
- 硬件模拟器:QEMU-9.2.1 for RISC-V64 & LoongArch64
- 用于编译运行测试的docker环境配置文件
放在 https://github.com/oscomp/ 上的一些OS参考例子
- https://github.com/oscomp/ByteOS
- https://github.com/oscomp/DragonOS
- https://github.com/oscomp/asterinas
- https://github.com/oscomp/starry-next
注:C-based OS(RT-Thread)参考例子会尽快提供。参赛队在遵循2025OS比赛技术方案中的"比赛要求"的前提下,可以复制/参考/选用这些OS(或其他类似的开源OS)的全部或部分功能模块作为based来参赛。
- C-based 多种HAL:rtthread内核为参考例子
- Rust-based axHAL : 支持RISC-V64, LoongArch64, x86-64, ARM aarch64
- starry-next宏内核参考例子 :对 2025 年 OS 比赛已经初步完成了环境适配,能够运行 riscv64 和 loongarch64 的大部分 basic 测例,并可以支持在OS内核赛道比赛平台上进行评测。
- 可在OS比赛平台上运行的改造代码仓库(相比于 github 仓库进行了一些环境配置的改变)
- starry-next 内核使用说明
- 如何在 OS 比赛平台上测试 Starry 的说明
- starry-next所基于的arceos unikernel参考内核
- Rust-based PolyHAL 与OS无关且支持x64/aarch64/riscv64/loongarch64,以及星光二代开发板和龙芯2k1000的处理器抽象层Crates
- C-based lwext4库
- 封装了C-based lwext4的Rust-based ext4 Crate
- Rust-based ext4 Crate
- Another Rust-based ext4 Crate
- C based
- Rust based
- virtio drivers: Block, NIC, GPU, Input, Console ... Drivers
注1:2025决赛阶段的内核实现赛道比赛,测试用例所在文件系统格式为Ext4, 上面提供的C和Rust的Ext4库与具体OS无关,经过适配后,可集成到各种OS中。
注2:2025决赛阶段的内核实现赛道比赛,操作系统内核要求能支持RISC-V 64和 LoongArch64,在必须遵循2025OS比赛技术方案的比赛要求(请仔细阅读)下,上面的或相关的符合开源协议的源代码可参考、引用、复制。
- 社区 Rvspace
- VisionFive 2 SBC
- SDK
- Quick Start Guide
- SDK Quick Start Guide
- Software Technical Reference Manual
- Debian OS User Guide
- Debian OS Release
- 40-Pin GPIO Header User Guide
- Datasheet
- Accessories
- FAQ
- RVspace 论坛资料发布,技术答疑
- 开源PDF文档:英文版
- 开源PDF文档:中文版
- Sipeed MAIX Dock开发板硬件说明文档
- 一等奖:哈尔滨工业大学(深圳)-Phoenix
- 一等奖:哈尔滨工业大学-MinotaurOS
- 一等奖:上海交通大学-ChCore
- 一等奖:华中科技大学-RustTrustHuster
- 一等奖:杭州电子科技大学-Pantheon
- asterinas kernel Asterinas is a secure, fast, and general-purpose OS kernel, written in Rust and providing Linux-compatible ABI. Support x86_64 & RISC-V64
- DragonOS kernel DragonOS已经实现了约1/4的Linux接口,支持x86_64 & RISC-V64
- nommu linux 0.11
- C lang based xv6 kernel
- Rust lang based xv6 kernel(uncompleted)
- Rust based rcore tutorial kernel
- C lang based uCore kernel
- RT-Thread/K210 with SMP
- rCore-Tutorial-v3
这是部分与OS无关的kernel components,有一些不一定特别完善,供参考、引用或改进
- PolyHAL 与OS无关且支持x64/aarch64/riscv64/loongarch64,以及星光二代开发板和龙芯2k1000的处理器抽象层Crates.
- 基于C的ext4 crate
- 基于Rust的ext4 crate
- Rust-based tcpip stack: smoltcp
- C-based tcpip stack:lwip
- virtio drivers: Block, NIC, GPU, Input, Console ... Drivers
- e1000 NIC driver
- Cadence Macb ethernet driver on Sifive fu740 board
- RISC-V星光二代开发板的网卡驱动
- RISC-V星光二代开发板的SD卡驱动
- nvme driver
- isomorphic_drivers
- os scheduler
- os memory malloc subsystem
- 符合OpenSBI接口的开源固件
- qemu
- Spike RISC-V ISA Simulator
- rvemu: simple, on web
- riscv-rust: on web, with debug
- TinyEMU: simple
- rv8: fast
- terminus:multicore,virtio-net/disk/mouse/console...
- Rips : with nice gui interface...
- MARSS-RISCV (Micro-ARchitectural System Simulator - RISCV)
- MARSS-RISCV is an open-source, cycle-level single-core full-system (Linux) micro-architectural simulator for the RISC-V ISA
- 开发板资料包 提取码:1111 。其中包括但不限于开发板和2k1000处理器用户手册,主板设计资料,uboot、内核和文件系统二进制以及源代码等信息。
- 在线论坛
- 开发者社区
- 2k1000LA 开发板套件
- 龙芯2K1000LA处理器用户手册_V1.0
- 龙芯2K1000星云板用户手册V1.1
- 龙芯架构参考手册
- 《计算机体系结构基础(第三版)》
- LoongArch 系统调用(syscall)ABI
- LoongArch-工具链约定
- LoongArch ELF ABI(中文版)
- 更多龙架构相关文档,可以参考龙芯开源社区,龙芯中科公司官网,龙芯在github的官方账号以及龙芯实验室为大赛设置的文档仓库
- QEMU模拟器已经对LoongArch提供了较好的支持。我们正在致力于完善高度仿真大赛主板的2k1000版本QEMU,目前这个版本可以运行原生的uboot和内核。该版本基于较老的qemu开发,我们正在将其移植到上游最新版本,后续会开源发布。
- Starry OS。StarryOS LoongArch版会持续更新。
- mit xv6-loongarch。 xv6 是MIT开发的一个类Unix教学操作系统,与Linux或BSD不同,xv6非常简单,足以在一个学期内讲完,但仍包含Unix的重要概念和组织结构。xv6被全世界很多高校用于操作系统教学。 开发者: 深圳大学罗老师。 含OS代码、实验代码、实验指导书和PPT演示资料,可以直接用于操作系统教学。
- mit xv6-labs. 本项目是xv6-labs-2021相关实验在LoongArch平台的参考实现。具体的实验设计参见xv6主页 的labs标签页。
- [uCore] (https://github.com/cyyself/ucore-loongarch32). 实验指导书
- rCore. 2022年全国大学生操作系统大赛-功能挑战赛二等奖。
- MaQueOS. 本项目是用于兰州大学的教学操作系统,兰州大学相关团队为其编写了教材《MaQueOS:基于龙芯LoongArch架构的教学版操作系统》。
- Yocto. Yocto是用于定制嵌入式Linux系统的主流工具之一,它已经支持LoongArch.
- seL4. 2022年全国大学生操作系统大赛-功能挑战赛一等奖。
- NuttX. NuttX是完全兼容Posix和ANSI标准的嵌入式实时系统,有着轻量级、定制化的特点,已被广泛应用在成熟的商业系统或软件中,如小米Vela系统、三星Tizen RT系统、px4飞行控制软件。
- xv6 riscv book MIT
- 基于代理内核PKE rv64 的实验指导书 华中
- ucore rv64 实验指导书 南开
- 计算机系统基础实验指导(包含x86/arm/rv) 南大
- ucore rv32 实验指导书 较老
- 肖政杭同学完成 uCore x86 实验的详细笔记
- Writing an OS in Rust (x86)
- The Adventures of OS: Making a RISC-V Operating System using Rust
- rCore-Tutorial-Book 第三版 中文
- Operating System development tutorials in Rust on the Raspberry Pi
- Book of Drone RTOS in Rust
- BookOS (x86)
- 信息收集:用RUST进行系统编程的自学资源