1、Anolis OS 23 通过服务用户,连接产业发展的过去与未来Anolis OS 23产品周期和规范定义阿里云-刘桂新产品周期0101软件包基线0202Kconfig 基线0303驱动基线与 kABI/kAPI0404Anolis OS 23 目前已经相继发布了 23、23.1 版本,在后续的规划中会在 2024 年底发布 23.2 版本,之后则规划新的Anolis OS 25 版本,Anolis23 不再发布新的版本。Anolis OS 23 产品周期Anolis OS 25.3Anolis OS 25.2Anolis OS 25.1Anolis OS 25.0Anolis OS 23.2
2、Anolis OS 23.1Anolis OS 23.0主版本开发支持阶段LTS开发支持阶段LTS维护支持阶段202320242025202620272028202920302031Anolis OS 23.1 版本在与社区参与人员充分沟通的情况下,通过参考各领域专业人士的建议,从收敛范围和软件包版本两个方面,对软件包选型进行了重新决策,确认了版本基线Anolis OS 23 软件包基线收敛范围方面社区初步一致的结论是选取最小工作环境对应主流系统最小化安装系统,考虑最小构建系统、最小运行系统、最小工作环境三个维度,收敛软件包的范围软件包版本方面社区从兼容性、稳定性、易用性等多维度进行考量,最终
3、确定软件包的版本目前已经完成了228个软件包的基线决策。Anolis23 软件包基线软件包名称分类版本kernel内核组件6.6glibc工具链2.38gcc工具链12.3.0binutils工具链2.41dbus-broker系统库35openssl系统库3.0.12glib2系统库2.78.3util-linux系统软件2.391dnfrelease&构建4.16.2systemd系统服务255L0-MADATORYL1-RECOMMENDL2-OPTIONAL以前 Anolis OS 的内核 Cloud-Kernel(ANCK)的 Kconfig 管理较为混乱,无法对核心 Kconfig
4、 进行重点看护,给跨版本升级、跨架构(如龙芯、申威)支持、追溯变更历史上带来了一定困难。同时,为了给下游衍生版提供兼容性参考,龙蜥社区推出了 Kconfig 基线,将 Kconfig 分层分类以便于管理Kconfig 基线最核心的 Kconfig,这类 Kconfig 赋予内核最基础的产品化能力针对特定场景有着重要意义的 Kconfig配置错误将导致该场景严重的产品化问题可以被手动修改的 Kconfig,不影响主流的使用场景,以及被动 select 的 Kconfig当前社区 6.6 内核 Kconfig 基线,L0-MANDATORY 大约500个,L1-RECOMMEND 有1000+个,
5、例如:Kconfig 基线层级Kconfig功能L0-MANDATORYCONFIG_64BIT支持 64 位处理器L0-MANDATORYCONFIG_ACPI支持 ACPI 功能L0-MANDATORYCONFIG_PCI支持 PCIe 设备L0-MANDATORYCONFIG_XFS_FS支持 XFS 文件系统L0-MANDATORYCONFIG_NUMA支持 NUMA 系统L1-RECOMMENDCONFIG_BCACHE支持 bcache 功能L1-RECOMMENDCONFIG_CRYPTO_ZSTD支持 ZSTD 压缩算法L1-RECOMMENDCONFIG_NVMEM支持 NV
6、M 设备L1-RECOMMENDCONFIG_ZSWAP支持内存压缩交换针对第三方的驱动,龙蜥社区目前已经建立了完备的研发体系,该体系涵盖了代码托管、开发流程、版本发布和测试等关键环节,支持 intree 和 out-of-tree(OOT)两种形式驱动基线与 kABI/kAPI如果是 intree 的则直接走内核代码合入流程:内核开发者指南针对 OOT,龙蜥社区对仓库、分支、代码目录、spec 文件等制定了详细的规范,详情参考OOT 驱动开发指南在英特尔、浪潮等厂商的贡献下,引入了多款板卡驱动,涵盖网络、存储、显