Skip to content

LankeOS v0.06

Choose a tag to compare

@Wtada233 Wtada233 released this 18 Jun 11:28

LankeOS v0.06 Release

重构和加速,全面偿还技术债。
LankeOS 迈出自力更生的关键一步!

核心变更 (Major Changes)

  • 构建系统重构:

  • 彻底告别旧有的compile.sh脚本堆砌逻辑,将所有软件包全面迁移至全新的 LankeBUILD 系统。

  • 大幅删除了代码中的硬编码,修改了构建系统解析变量的方式,系统可扩展性获得质的飞跃。

  • 构建逻辑由 Dockerfile.build 统一收拢至原生 Makefile,简化了解析层级,并原生加入 werror 严苛编译检查,确保底层代码质量。

  • 包管理器 lpkg 深度演进:

  • 软件包管理器 lpkg 正式发布并跃迁至 v1.5

  • 底层架构大换血:重构核心逻辑,**彻底废弃了碎片化的 files.txt,改用 metadata.json 。代码清晰度大幅提升。

  • 编译工作流优化:

  • 优化了 builder.cpp 中的步骤顺序,修复了多项 BUILD 文件中的 strip 裁剪问题。

  • 更新了所有 LankeBUILD 脚本,在底层所有 Ninja 和 Make 编译命令中**默认强制注入 -j$(nproc)**,完美榨干多核 CPU 性能,LFS 滚动构建时间缩短数倍。

  • 原生生态闭环:

  • 正式将 Linux 内核和 Linux-firmware(固件)的构建直接纳入 LankeBUILD 体系,而不是单独构建,系统从此具备了完整的自我迭代与进化能力。

开发工具链与底层优化 (Toolchain & Core Fixes)

本版本重点修复了自研底层工具的稳定性缺陷,打磨编译细节:

  • 自研二进制裁剪工具(Strip): 成功移植了完成度更高的 strip 独立版本到主仓库,并加入了完善的自动化测试。去除binutils依赖。
  • 动态链接流优化: 将以往依赖的 ldconfig 自动处理改为了手动精准创建软链接,避免了构建过程中的环境污染,保证了根文件系统(Rootfs)的绝对纯净。
  • 镜像源优化: 为了应对部分上游源码下载缓慢和被阻断的问题,将核心 packages 的源码上游链接切换至了更稳定的官方全球镜像 ftpmirror.gnu.org

系统规格更新 (Technical Specs)

组件 版本 状态
Build System LankeBUILD (v2) 彻底重构,变量动态解析
Package Manager lpkg v1.5 JSON元数据
Core Tools Custom Strip / Builder 增强测试,减少硬编码
Kernel & Firmware 7.0.x-lanke (Native Build) 内核与固件全面纳入自研构建
ISO Size 687 MiB 继续保留完整开发Headers

下一步计划 (Roadmap)

  • 引入 Pipewire 音频支持 (v0.05 已完成)
  • 完善 PAM 认证安全体系 (v0.05 已完成)
  • 自研包管理器 lpkg 架构升级与 LankeBUILD 全面重构 (v0.06已完成)
  • 进一步丰富 lpkg 官方源软件仓库,提供更上层的用户态常用工具 (长期任务)

开发者的话

从 0.05 到 0.06,LankeOS 没有一个包更新,但是其底层已经经历了翻天覆地的变化。

表面上看起来系统可能只是跟着内核小版本在走,但底层的构建骨架已经被我拆掉重写了。为了让 LankeOS 拥有真正属于自己的发行版灵魂,在以后维护的时候不会成为一坨屎山,我把原来的手动构建脚本完全迁移到了LankeBUILD

同时庆祝LankeOS开始进行日常维护,目前一切开发工作稳定!维护工作流我已经比较熟悉了

荣誉墙

karolusz(Karol): pr * 3


更新日志记录 (Git Commit Summary)

  • 核心重构阶段

  • backport并优化了自研 strip 裁剪工具,增加了 builder 的单元测试。

  • 将动态库链接逻辑由 ldconfig 变更为手动软链接。

  • 移除了大量硬编码,重构构建系统变量解析方式,正式推出全新 LankeBUILD 架构。

  • 并行与包管理器进化阶段

  • 开启全栈并行编译,为所有 Ninja 和 Make 编译指令注入多核加速。

  • 自研包管理器 lpkg 升级至 1.5,用 metadata.json 替代了旧的 files.txt

  • 完善国际化,更新了英文版 README 说明文档。

  • 移除了 Dockerfile.build,将所有构建和编译 Werror 严格逻辑统一收拢到 Makefile