Linux 操作系统项目

面向 现代硬件与 LiveCD
场景的 Linux 操作系统

我们将内核、用户态包管理器和系统镜像构建拆分为独立项目,以保持清晰的依赖关系和可维护的开发边界。

Linux 7.2
内核基线
0
独立项目
0
基础软件包
LiveCD
发行介质

项目组成

内核、用户态包管理器与系统镜像构建相互独立,各自保持清晰的职责范围。

KERNEL

基于 Linux 7.2

  • Linux 内核本身
  • OkraPM 内核接口和真正的内核模块
  • LiveCD 所需的内核配置
  • 内核构建和启动相关能力
查看仓库

okrapm

用户态软件包管理能力

  • Lunar 包管理器
  • OAA 包格式和工具
  • OPSIS 安装脚本
  • 仓库同步、解析和事务管理
查看仓库

okra-linux

系统集成和发行介质

  • rootfs 构建脚本
  • 系统配置和 systemd 服务
  • LiveCD 与安装镜像生成
  • 软件包清单和发行版默认内容

仓库尚未公开

设计原则

清晰的仓库边界与可验证的构建过程

保持仓库职责单一

每个仓库只负责一类明确的职责,避免功能混杂。

内核仓库不包含用户态包管理器源码

内核与用户态代码严格分离,各自独立维护。

通过稳定的内核接口集成

用户态项目通过稳定的内核接口与系统集成。

构建过程可复现

构建过程应可复现,并适合自动化验证。

仓库边界

  • KERNEL 不包含用户态包管理器源码。
  • KERNEL/okrapm/ 仅用于通过 Kbuild 集成 OkraPM 内核模块和内核接口。
  • 用户态 Lunar、OAA、OPSIS 及事务管理代码只维护在独立的 okrapm 仓库。
  • rootfs、系统服务和镜像生成逻辑只维护在 okra-linux 仓库。

自举工具包

自举体系的总入口,收录包管理工具链、构建脚本与基础 OAA 软件包,用于在 aarch64 环境把一个空白系统逐步拉起为可自我演进的发行版。

组件 版本 说明
glibc 2.43 系统基座,所有动态程序都依赖它,必须最先安装
gcc 16.2.0 r2 自托管编译器,已完成自举闭环
make 4.4.1 构建工具,位于自举仓库 oaa 目录内
coreutils 9.6 一百零六个基础命令,文件与文本操作
bash 5.2.37 系统默认 shell
KERNEL 内核项目,基于 Linux 7.2
okrapm 包管理器 lunar 与 oaa 工具链源码

安装顺序

glibc 优先,其次 gcc;之后 make、bash、coreutils 可任意顺序。

构建顺序

若要从零重编,全部按上述顺序执行。每个 OAA 仓库内 scripts 目录含对应构建脚本。

基础 OAA 软件包

各包已独立建仓,包含各自的构建脚本与 Release 产物。

参与开发

请根据变更所属的职责选择对应仓库。请在对应仓库中提交问题和变更。

跨仓库改动应拆分为相互独立、可审核的提交,并在相关仓库中同步说明依赖关系。涉及多个仓库的改动,应分别在各自仓库保持清晰、独立的提交记录。

所有贡献都应遵守相应项目的许可证、代码风格和审核流程。

从空白系统开始构建

按照自举流程逐步把系统拉起为可自我演进的发行版