本 README 面向 OS 大赛评测环境(GitLab 仓库展示 / 评测机构建约束),与 GitHub 上的开发版说明不同。
本项目主要在 GitHub 上开发与维护:
- 上游仓库:
https://github.com/comix-kernel/comix
此 GitLab 仓库由 GitHub Actions 自动镜像(含 Rust vendored 依赖等评测所需内容),仅用于提交与评测,请勿直接在此修改。
- 评测机在项目根目录执行:
make all make all生成以下 ELF 内核:kernel-rv:RISC-V 内核(riscv64gc-unknown-none-elf,release)kernel-la:LoongArch 内核(loongarch64-unknown-none,release)
- 同时生成可选的 rootfs 镜像(评测启动 QEMU 时一并挂载):
disk.imgdisk-la.img
评测系统在 clone 时会过滤所有隐藏文件和目录(例如 .cargo/)。为此本仓库做了两件事:
make all会在构建时重建os/.cargo/config.toml(恢复链接脚本所需的 rustflags),即使.cargo/被评测机过滤也能正常构建。- 仓库内包含 Rust vendored 依赖以离线构建:
os/vendor/os/cargo-vendor-config.toml
当 os/cargo-vendor-config.toml 存在时,make all 会自动将其追加到 os/.cargo/config.toml,使 Cargo 使用 vendored 源并以离线模式构建。
本项目不使用 build-std:两个目标的预编译 rust-std 已自带所需的 mem intrinsics,因此评测机只需具备对应 target 的预编译标准库,无需 rust-src。
os/rust-toolchain.toml固定为nightly-2025-10-28。