Skip to content

发布历史

⚡ 此页面由 scripts/fetch-releases.mjs 在构建时自动生成,从 GitHub Releases API 拉取。

LankeOS v0.12

LankeOS v0.12 · 2026/7/1 · 在 GitHub 上查看

LankeOS v0.12 Release

Codename: Himalaya

“什么才是真正的快乐?”

“Minecraft,启动!”


核心变更 (Major Changes)

Minecraft 的到来

本版本是LankeOS第一次成功运行一个知名游戏(没错,LankeOS甚至没有运行过Doom...But it actually can run doom.)

  • 完善包列表:构建整个XWayland栈和OpenJDK 25
  • 完善依赖树:为了XWayland,重新构建了gtk3等组件

这次构建把最后一门缺少的现代编程语言补齐,现在LankeOS已经是一个开箱即用的构建平台了!

Minecraft 1.21.8 搭配 BSL Shaders + 60 多个的优化与功能模组全部正常运行!


lpkg 修复与重构

  • 目录所有者机制 模仿 Arch Linux 的方式进行了修改,并修复软链接安装等bug,移除多余的防止路径遍历(真奇怪,我写的时候在想些什么?这是一个包管理器!它就应该在根目录安装文件,为什么需要防止路径遍历的功能?)
  • 测试 增加到180个左右

镜像体积变化

ISO体积达到了 987 MiB。

这是经过我努力压缩的一个结果,要知道一个没有压缩的 openjdk25 就有几百M了,这次只增加 30 MiB 是因为我删掉了几十MB的Python静态库,使用了gensquashfs(支持xz压缩level)代替mksquashfs(不支持)等一系列修改。


稳定性与兼容性

本版本经过在 Dell OptiPlex 5000 Micro(实体机) 上的严格验证:

  • [x] 基础工具链保持正常
  • [x] 开发环境添加Java,新构建的Xwayland栈正常,可直接跑glxgears,原wayland无功能退化
  • [x] Minecraft 1.21.8 运行稳定
  • [x] 所有依赖树出现问题导致需要重新构建的程序均通过构建且能正确使用

下一步计划 (Roadmap)

  • [ ] 完善蓝牙协议栈(BlueZ + PipeWire 桥接)

开发者的话

0.12 的主题是 “日用组件补齐”

从0.11的构建时开始,我就意识到:LankeOS 现在开发环境是很舒服了——但是总是缺东西,X应用无法运行,累了也最多看看视频没有游戏能玩...

所以我出手了(误)在我用完云星铁的免费时间之后,我痛下决心要在一天内弄好整个 Xwayland 和 Java 环境,跑起 Minecraft 1.21.8。

在0.12这个大版本,我在压缩大小(新增整个X图形栈和一个几百M的编程语言环境,只把镜像变大了37M!)和功能密度(直接跑Minecraft)之间取得了平衡,这是我目前最满意的一个版本,欢迎大家使用!

—— Wtada233

7月2日 修复:让 OpenJDK 使用动态链接,减小体积 2 MiB+ & 更改strip执行时机,确保jlink的hash校验不因为strip失败。

7月4日 新功能:扩展版本镜像,包含完整的Firmware,总大小在1.63GiB左右。同时继续发布原来的镜像。


LankeOS v0.11

LankeOS v0.11 · 2026/6/27 · 在 GitHub 上查看

LankeOS v0.11 Release

Codename: Milestone

“啊!我是一个发行版维护者!我有16G内存!我有48G的Swap!内存!内存!天呐,下面使用者欣喜若狂诶,你好勇敢,你讲出你有16G内存!你用16G内存编译firefox!”

“你是不是疯了?”


核心变更 (Major Changes)

Firefox的到来

本版本完成了 LankeOS 历史上第一次完整的浏览器构建

  • 完整浏览器:构建最新的Firefox 152.0
  • 完善依赖树:为了Firefox的构建,目前已经构建了nodejs,ffmpeg,libx264,libx265等依赖
  • 移除WebkitGTK的默认安装:上个版本默认安装的是WebkitGTK,因为其稳定性和功能弱点等现在已经被Firefox替代。从Live中移除但其仍然得到支持(通过在线repo)

这次构建同时完善了整个工具链,从汇编器(NASM,YASM)到Web开发(Node.JS)现在LankeOS一切齐全


包修复与依赖添加

  • 所有introspection包 现在已经默认安装,GIR文件齐全
  • 修复polkit和pipewire 适配目前带有PAM的系统,保证run0等所使用的鉴权机制正确运行;pipewire安装的alsa配置文件位置修改,确保两者正确对接

镜像体积变化

ISO体积达到了 900 MiB。

这其实很小了,毕竟系统里有 acl-2.3.2 alacritty-0.16.1 alsa-lib-1.2.15.3 at-spi2-core-2.56.4 attr-2.5.2 autoconf-2.72 automake-1.18.1 bash-5.3 bc-7.0.3 binutils-2.45 bison-3.8.2 boost-1.90.0 bzip2-1.0.8 cairo-1.18.4 cbindgen-0.29.4 cmake-4.2.3 coreutils-9.7 curl-8.11.1 dbus-1.16.2 dejagnu-1.6.3 diffutils-3.12 dosfstools-4.2 doxygen-1.17.0 duktape-2.7.0 e2fsprogs-1.47.3 ell-0.81 expat-2.7.1 expect-5.45.4 extra-cmake-modules-6.10.0 fastfetch-2.58.0 fcitx5-5.1.12 fcitx5-chinese-addons-5.1.11 ffmpeg-8.1.2 file-5.46 filesystem-1.1 findutils-4.10.0 firefox-152.0 flac-1.5.0 flex-2.6.4 fmt-11.0.2 font-noto-sans-cjk-2.004 fontconfig-2.16.0 freetype-2.13.3 fribidi-1.0.16 gawk-5.3.2 gcc-16.1.0 gdbm-1.26 gdk-pixbuf-2.42.12 gettext-0.26 giflib-5.2.2 git-2.48.0 glib-2.84.0 glib-networking-2.80.1 glibc-2.42 glslang-16.2.0 gmp-6.3.0 gnutls-3.8.11 gobject-introspection-1.84.0 gperf-3.3 graphene-1.10.8 grep-3.12 groff-1.23.0 grub-2.14 gtk3-3.24.52 gzip-1.14 harfbuzz-11.4.1 hwdata-0.403 iana-etc-20250807 icu-77.1 inetutils-2.6 intltool-0.51.0 iproute2-6.16.0 iso-codes-4.20.1 json-c-0.18.99 kbd-2.8.0 kmod-34.2 lcms2-2.18 less-679 libcap-2.76 libclc-22.1.7 libdisplay-info-0.3.0 libdrm-2.4.131 libedit-3.1 libelf-0.193 libepoxy-1.5.10 libevdev-1.13.6 libffi-3.5.2 libgcrypt-1.11.0 libglvnd-1.7.0 libgpg-error-1.54 libgudev-238 libime-1.1.10 libinput-1.30.901 libjpeg-turbo-3.1.1 libmp3lame-3.100 libndp-1.9 libnl-3.11.0 libnotify-0.8.8 libogg-1.3.6 libpciaccess-0.18.1 libpipeline-1.5.8 libpng-1.6.54 libpsl-0.21.5 libsecret-0.21.7 libsoup-3.6.6 libtasn1-4.19.0 libtiff-4.7.0 libtool-2.5.4 libunwind-22.1.7 libva-2.23.0 libvorbis-1.3.7 libwebp-1.5.0 libx264-20250815 libx265-4.1 libxcb-stub-1.0 libxcrypt-4.4.38 libxkbcommon-1.13.1 libxml2-2.12.6 libxslt-1.1.39 libyaml-0.2.5 linux-7.1.1 linux-firmware-1.0.1 Linux-PAM-1.7.2 llvm-22.1.7 lpkg-2.6.0 LSB-0.12 lua-5.5.0 lz4-1.10.0 m4-1.4.20 make-4.4.1 make-ca-1.16.1 man-db-2.13.1 man-pages-6.15 mesa-26.1.3 meson-1.8.3 mpc-1.3.1 mpfr-4.2.2 mtdev-1.1.7 nano-8.0 nasm-3.01 ncurses-6.5 nettle-3.10.2 NetworkManager-1.54.0 newt-0.52.24 nghttp2-1.64.0 ninja-1.13.1 nodejs-26.2.0 noto-sans-mono-cjk-sc-2.004 openjpeg-2.5.4 openssh-9.9 openssl-3.5.2 p11-kit-0.26.1 pango-1.56.4 patch-2.8 pcre2-10.47 perl-5.42.0 pipewire-1.6.2 pixman-0.46.4 pkgconf-2.5.1 polkit-127 popt-1.19 procps-ng-4.0.5 psmisc-23.7 python-3.13.7 readline-8.3 ruby-4.0.1 rust-1.96.0 rust-bindgen-0.72.1 seatd-0.9.2 sed-4.9 shadow-4.19.3 shared-mime-info-2.4 slang-2.3.3 SPIRV-Headers-1.4.350.1 SPIRV-LLVM-Translator-22.1.2 SPIRV-Tools-1.4.350.1 sqlite-3.49.1 sudo-1.9.17 sway-1.12 swaybg-1.2.1 systemd-257.8 tar-1.35 tcl-8.6.16 texinfo-7.2 unifdef-2.12 unzip-6.0 util-linux-2.41.1 vim-9.1.1629 vulkan-headers-1.4.341 vulkan-loader-1.4.341 wayland-1.24.0 wayland-protocols-1.47 wget-1.25.0 which-2.21 wireplumber-0.5.14 wlroots-0.20.0 wpa_supplicant-2.11 xkeyboard-config-2.45 xml-parser-2.47 xz-5.8.1 yasm-1.3.0 zip-3.0 zlib-1.3.1 zstd-1.5.7


稳定性与兼容性

本版本经过在 Dell OptiPlex 5000 Micro(实体机) 上的严格验证:

  • [x] 基础工具链正常
  • [x] 开发环境完美,可直接构建Firefox
  • [x] Firefox 浏览器运行稳定,可以流畅访问BiliBili
  • [x] 所有依赖树出现问题导致需要重新构建的程序均通过构建且能正确使用

下一步计划 (Roadmap)

  • [ ] 为仓库添加更多包
  • [ ] 完善蓝牙协议栈(BlueZ + PipeWire 桥接)

开发者的话

0.11 的主题是 “真正可用”

从0.08到0.09的自举时开始,我就一直有这么一种感觉:这系统怎么这么难以操作?为什么这个WebkitGTK总是崩溃?为什么这个MiniBrowser无法播放视频?为什么权限验证总是有问题?

在0.10的开发中,我意识到了问题所在:我的构建太理想化且遗漏了一些东西。其假设PipeWire能正确安装alsa conf,但是实际上pipewire会往/usr/share而不是/etc放config,导致对接alsa失败。

以及我忘记在有PAM之后把polkit切换到PAM支持,导致其出现兼容问题,run0等失效等问题

在0.11这个大版本,我努力把LankeOS打造成了我用着舒服的样子,欢迎大家使用!

—— Wtada233

6月27日 紧急更新:打包fcitx5-gtk,修复firefox的中文输入;filesystem职责分离,添加filesystem的LankeBUILD

6月28日 大重构:

  • lpkg 2.6.5 → 3.0.1(Breaking: 依赖系统语义变更,needed_so 合并入 deps)
  • needed_so 校验:安装前检查每个 SONAME 有提供者,无提供者拒绝安装
  • SIGINT 防护:类 pacman 双段式优雅退出
  • gen_deps 重构:输出版本约束 → 输出 needed_so + provides(SONAME 级别)
  • 索引格式扩展:第 4 段 needed_so
  • 测试 127 个(新增 26)

6月29日 支持添加:

  • 添加intel_media_driver,完善Firefox硬件加速支持
  • 删除live中的无用包
  • 在live中加入alsa-utils,pciutils和libva-utils,便于诊断系统状态和进行操作
  • 在live中加入go,整个编程语言工具链已经完整了!C/C++/Rust/Python/Awk/Lua/Perl/Go/Shell
  • Live大小压不住了,到了950MiB!不过毕竟又新增了一门编程语言,还可以接受。

LankeOS v0.10

LankeOS v0.10 · 2026/6/26 · 在 GitHub 上查看

LankeOS v0.10 Release

Codename: Alps

“哥们,你发行版依赖树有些发紫,是不是LLVM不好?”

“你发行版没我的稳定你信吗”


核心变更 (Major Changes)

编译器链全面更新:GCC 16.1.0 + LLVM 22.1.7

本版本完成了 LankeOS 历史上最惊险的一次工具链自举升级。起因是 Linux 内核 7.1.1 的一次 breaking change(突然删除了 scc.h 头文件),导致旧版 GCC 15.2.0 和 LLVM 21.1.7 双双过时,无法重新编译,我系统里的binary成了孤本,仓库里的构建脚本成了死包。面对“旧编译器已死”的绝境,我实施了一次外科手术式的升级:

  • GCC 从 15.2.0 → 16.1.0:利用仅存的 15.2 二进制成功自举 16.1.0,并彻底摆脱了对已删除内核头文件的依赖。
  • LLVM 从 21.1.7 → 22.1.7:在 GCC 16 的基础上重建 LLVM 全家桶,并且完成了期待已久的 “拆包”操作
    • libunwindlibclc 从 LLVM Monorepo 中独立拆分,作为系统级基础库单独维护。
    • 激进清理静态库:趁此机会彻底移除了 LLVM 和 Clang 的所有能安全删除的 .a 静态库文件,只保留动态库(.so)和开发头文件以及极少数的静态库。这大幅缩减了无用磁盘占用,并强制所有软件动态链接,避免了未来因静态库 ABI 过时引发的隐蔽问题。
  • 完整依赖树重生:为了配合新工具链,我们重新构建了整个图形栈和语言生态:
    • Mesa(链接新 LLVM 22)
    • Rust(利用新 LLVM 重新编译,确保内部 LLVM 版本一致)
    • SPIRV-LLVM-Translator / SPIRV-Tools / SPIRV-Headers / glslang(间接)(全部指向新 LLVM 的 ABI)
    • 同时,部分其他组件也进行了针对性重编译,避免因 libstdc++ ABI 变化导致的运行时崩溃。

这次构建标志着 LankeOS 具备了 “在自身内核破坏性变更下仍能实现工具链自愈” 的强悍生命力。


包拆分与依赖净化

  • llvm 包拆分为 llvmlibunwindlibclc:遵循“单一职责”原则,现在你可以独立升级异常处理库和 OpenCL 编译器,而无需拖拽整个 LLVM。
  • 所有 SPIRV 相关工具 现进行更新,适配最新llvm

lpkg 更新:

  • lpkg 包管理器更新到2.6.0,使用AI工具优化代码质量并修复一些注释问题,新增subcommand:depend,模拟依赖解析
    • depend 用法:install/remove/abibreak pkgname [-all]

镜像体积变化

得益于本次 LLVM 拆包,ISO 体积从 0.09 的 798 MiB 成功下降793 MiB

这背后其实是一场我蓄谋已久(这里好像不应该用这个词吧...碎碎念中)的巧妙胜利。直接暴力删除静态库(.a)是行不通的——LLVM 的 CMake 文件将静态库写死,任何依赖 LLVM 的包(如 Mesa、SPIRV-Translator)只要调用CMake找LLVM就会因找不到 .a 文件而直接报错退出。 唯一的解法是启用 install-distribution 目标(参考Arch Linux的PKGBUILD),但这意味着要维护一个安装组件列表,单是 libclc 没有独立安装目标这一点,就足以让整个默认安装流程卡死。 拆包才是破局的关键。把 libclclibunwind 从 LLVM 本体中请出去后,LLVM 本体终于可以毫无顾虑地使用分发安装目标,仅安装动态库和头文件,优雅地绕过了那个陷阱。而 libclc 在自己的独立包中正常安装、自得其乐。


系统规格更新 (Technical Specs)

组件版本备注
KernelLinux 7.1.1-lanke本次 breaking change 的源头,现已完美适配
GCC16.1.0全新自举,修复 scc.h 缺失问题
LLVM / Clang22.1.7拆包为 llvm / libunwind / libclc,启用 install-distribution,彻底移除静态库
Mesa26.1.3 (重编译)链接新 LLVM 22
Rust1.96.0 (重编译)内部 LLVM 同步至 22
SPIRV 工具链llvm-translator 22.1.3 / tools 1.4.350.1完全适配新 ABI
包管理器lpkg 2.6.0新增模拟依赖解析

稳定性与兼容性

本版本经过在 Dell OptiPlex 5000 Micro(实体机) 上的严格验证:

  • [x] GCC 16 和 Clang 22 均可正常编译内核模块和用户态程序
  • [x] Mesa 驱动正确链接新 LLVM,GPU 加速正常
  • [x] WebKitGTK 浏览器运行稳定,无段错误
  • [x] Rust 项目可正常构建(如 ripgrepalacritty
  • [x] SPIRV 工具链可编译 Vulkan 着色器
  • [x] 所有依赖新 LLVM 的程序均通过 ldd 验证指向 libLLVM-22.so,无残留旧库引用

下一步计划 (Roadmap)

  • [ ] 引入 系统快照/回滚 机制,避免未来再次陷入“编译器孤本”窘境
  • [ ] 完善蓝牙协议栈(BlueZ + PulseAudio 桥接)

开发者的话

0.10 的主题是 “绝地自救”

说实话,当我在几天前的下午例行更新linux内核的LankeBUILD.json并重建时,我还没有意识到这场灾难,直到我试图给LLVM拆包时发现无法构建——因为我的 GCC 15.2 和 LLVM 21 都依赖这个头文件,而它们本身已经无法重新构建(源码里依旧是写死了scc.h)。

唯一的出路是:用旧 GCC 15.2 去构建 GCC 16.1(后者已修复该问题),然后用 GCC 16 去构建 LLVM 22,再用 LLVM 22 重构建整个图形栈。每一步都不能错,环境必须绝对隔离,否则 CMake 会抓到旧头文件导致编译失败。

我花了整整一天时间,在 Tmux 里开了一堆窗口,每一步都紧盯构建日志确保没有一个被吞掉当作正常日志的error(点名批评LLVM,在报错之后居然还跑了几分钟直到我手动Ctrl+C),还得随时在我的小主机上防范OOM。最后终于好了...

关于那几百个静态库的删除: 这其实是被逼出来的副作用,但也是我早就想干的事。每次看到 LLVM 构建目录下那数百个 .a 文件列队经过时,它们都在嘲笑我的镜像体积。以前不敢动,是因为 LLVM 把它们写死,暴力删除只会让 Mesa 和 SPIRV-Translator 直接翻脸不认人。 这次借着拆包的机会,终于把 libclclibunwind 请了出去,让 LLVM 本体安安心心用了 install-distribution 目标(这里Arch的贡献真的是义父级别的了!感谢Arch送的PKGBUILD)。没了那几个“钉子户”的阻碍,静态库们终于被集体清退。ISO 不增反减到 793 MiB,算是这次苦战中最解气的意外甜点了。

这次经历让我更加坚定:一个真正的独立发行版,必须能在自身工具链被“斩首”时,依然能从源码重新长出新的工具链。 0.10 给了我们这份信心。

—— Wtada233 (彩蛋:猜猜Alps是什么?)


LankeOS v0.09

LankeOS v0.09 · 2026/6/23 · 在 GitHub 上查看

LankeOS v0.09 Release

Codename: Lanke++

从这一版本开始,LankeOS 不再只是一个精简的桌面原型,而是拥有了完整的图形应用生态和编程语言支持。另外为了Dogfooding的闭环,我专门在实体机安装了LankeOS。现在已经在运行0.08版本了。0.09的所有开发都在其上进行


核心变更 (Major Changes)

浏览器正式入驻

本版本最显著的变化:WebKitGTK 作为第一个图形化浏览器被纳入系统。

这意味着 LankeOS 现在可以:

  • 渲染现代网页 (HTML5/CSS3/JavaScript)
  • 支持 WebKit 引擎的图形应用
  • 为后续图形化软件(如邮件客户端、RSS阅读器)奠定基础

搭配 Wayland + GTK4,浏览器运行流畅,GPU 加速正常。

GTK4 全栈落地

0.08 中,GTK4 并未完整集成。本版本补齐了 GTK4 及其全部依赖:

  • gtk4 本身
  • gstreamergst-plugins-basegst-plugins-bad 多媒体插件
  • libsoup (HTTP 客户端库)
  • libsecret (密钥存储)
  • libpsl (公共后缀列表)
  • glib-networking (TLS/SSL 支持)
  • libepoxy (OpenGL 函数指针管理)
  • libgcrypt / libgpg-error (加密支持)

现在,任何 GTK4 应用都可以开箱即用,无需额外依赖。

Ruby 语言支持加入

继 Python、Perl、Lua 之后,Ruby 4.0.1 正式进入官方软件仓库。

为后续 Ruby 生态工具(如 Jekyll、Rails 等)扫清障碍。

多媒体与图像处理能力增强

新增:

  • gstreamer 全套多媒体框架(播放、编码、流处理)
  • libtiff / openjpeg / lcms2(高级图像格式与色彩管理)
  • libyaml(YAML 解析,用于配置和元数据)

构建与打包工具链改进

  • lpkg 升级到 2.1.0,支持更灵活的包版本处理
  • 新增 unifdef(预处理工具)和 nghttp2(HTTP/2 库)

软件包新增列表

相比 0.080.09 新增了以下软件包:

软件包名版本
glib-networking2.80.1
gst-plugins-bad1.28.1
gst-plugins-base1.28.1
gstreamer1.28.1
gtk44.22.4
lcms22.18
libepoxy1.5.10
libgcrypt1.11.0
libgpg-error1.54
libgudev238
libpsl0.21.5
libsecret0.21.7
libsoup3.6.6
libtiff4.7.0
libyaml0.2.5
nghttp21.64.0
openjpeg2.5.4
ruby4.0.1
unifdef2.12
webkitgtk2.50.5

同时,lpkg2.0.1 升级到 2.1.0


系统规格更新 (Technical Specs)

组件版本
KernelLinux 7.1.1-lanke
Package Managerlpkg 2.1.0
Build SystemLankeBUILD
GraphicsMesa + Wayland + Sway + GTK4
AudioPipeWire
Browser EngineWebKitGTK 2.50.5
LanguagesC/C++ / Python / Perl / Ruby / Lua
Networkingwpa_supplicant + NetworkManager + libsoup

稳定性与兼容性

本版本在 0.08 的实体机验证基础上,进一步测试了:

  • [x] GTK4 应用运行(如 WebKitGTK 浏览器)
  • [x] 多媒体播放(通过 GStreamer)
  • [x] Ruby 脚本执行
  • [x] 网络 HTTPS 请求(libsoup + glib-networking)
  • [x] 图像格式扩展(TIFF/JPEG2000)

所有新增组件均已在 Dell OptiPlex 5000 Micro 上通过稳定性测试。


镜像体积变化

由于新增了大量图形和多媒体的库,ISO 镜像从 0.08748 MiB 增长到 798 MiB

这标志 LankeOS 正式从“最小可用”走向“功能丰富”的桌面发行版。


下一步计划 (Roadmap)

  • [ ] 集成 Thunderbird 或 Geary 作为邮件客户端
  • [ ] 完善蓝牙(BlueZ + PulseAudio 桥接)
  • [ ] 引入 Qt 支持,扩展应用生态

开发者的话

0.09 的主题是“生态大爆发”。如果说 0.08 让 LankeOS 在实体机上跑了起来,那么 0.09 就是让它真正能用起来——能看网页、看视频。能运行 GTK 应用、能写 Ruby 脚本。

这次最大的工程挑战是 GTK4 及其依赖的递归构建。GTK4 依赖 GStreamer、libsoup、libsecret 等,而它们又各自依赖加密库、HTTP/2 库等。整个构建图比预期复杂得多,但最终所有依赖都在 LankeBUILD 中稳定通过。

WebKitGTK 的集成更是耗时,它是整个系统里构建最慢的软件包之一(仅次于 LLVM),但最终看到浏览器窗口在 Sway 中弹出的那一刻,一切都值了。

LankeOS 正在从一个 LFS 实验品,变成一个真正能日常使用的独立发行版。

—— Wtada233


LankeOS v0.08

LankeOS v0.08 · 2026/6/21 · 在 GitHub 上查看

LankeOS v0.08 Release

第一次真正走出虚拟机。

从这一版本开始,LankeOS 不再只是一个能在 QEMU 中启动的实验系统。


核心变更 (Major Changes)

实体机验证完成

本版本最大的变化不是增加了某个软件包,而是完成了 LankeOS 历史上第一次完整实体机 Bring-up。

测试平台:

组件型号
MachineDell OptiPlex 5000 Micro
CPUIntel Core i5-12500T
GPUIntel UHD Graphics 770
Wi-FiIntel Wi-Fi 6E AX211
AudioIntel HDA
CameraLogitech HD Pro Webcam C920

经过完整测试后确认:

  • Intel UHD Graphics 770 正常驱动
  • Mesa / DRM 图形栈工作正常
  • PipeWire 音频系统工作正常
  • Intel AX211 Wi-Fi 正常联网
  • USB 热插拔正常
  • 摄像头正常识别

其中 Logitech HD Pro Webcam C920 已被 PipeWire 成功识别:

bash
wpctl status

能够正确显示为视频输入设备。

这意味着 LankeOS 已具备现代 Linux 桌面环境所需的基础硬件兼容能力。


完善 Linux Firmware 支持

在实体机测试过程中,对 firmware 打包进行了进一步修正。

新增与修复:

  • Intel AX211 固件支持
  • 完善物理机驱动覆盖率

经过验证:

text
Intel Wi-Fi 6E AX211
正常扫描
正常关联
正常 DHCP
正常联网

修复无线网络栈

本次实体机测试暴露出一个长期隐藏的问题:

系统虽然已经包含:

  • iwlwifi
  • cfg80211
  • mac80211
  • linux-firmware

但缺失:

text
wpa_supplicant

导致无线网卡驱动正常加载却无法完成连接。

本版本正式补齐:

  • wpa_supplicant
  • Wi-Fi 用户态组件

修复后无线网络开箱即用。


图形与多媒体栈进一步稳定

经过长时间实体机测试:

  • Wayland 正常运行
  • Sway 正常运行
  • GPU 硬件加速正常
  • PipeWire 音频输出正常
  • USB 音频设备正常
  • USB 摄像头正常

LankeOS 已经具备日常开发环境所需的基础能力。

开发期间可直接在 LankeOS 上:

  • 编译软件
  • 浏览网页(使用Links,我当场编译的,还没有放入仓库,改天放)
  • 播放音乐(使用musicfox)
  • 调试系统

验证系统具备长期运行能力。


系统规格更新 (Technical Specs)

组件版本
KernelLinux 7.1.1-lanke
Package Managerlpkg 2.0.1
Build SystemLankeBUILD
GraphicsMesa + Wayland + Sway
AudioPipeWire
Wi-Fiwpa_supplicant + NetworkManager
Firmwarelinux-firmware 全量集成
ToolchainGCC / LLVM / Rust / Python

稳定性里程碑

这是 LankeOS 首个经过完整办公机验证的版本。

完成验证项目:

  • [x] UEFI 启动
  • [x] Intel 核显
  • [x] Wi-Fi
  • [x] PipeWire
  • [x] 摄像头
  • [x] USB 设备
  • [x] Wayland
  • [x] 中文输入法
  • [x] 开发工具链

从这一版本开始,LankeOS 已经不仅是一个 LFS 衍生实验,而是真正具备日常开发能力的独立 Linux 发行版原型。


下一步计划 (Roadmap)

  • [ ] 扩充官方软件仓库
  • [ ] 优化安装器
  • [ ] 完善蓝牙用户态工具链

开发者的话

这一版最大的收获,不是增加了多少功能,而是证明了 LankeOS 可以真正运行在我的主力办公机上。

过去几个版本的大部分测试都在 QEMU 中完成,而虚拟机永远无法告诉你:

  • Wi-Fi 是否真的能连网
  • PipeWire 是否真的能播放声音
  • 摄像头是否真的能工作
  • GPU 是否真的能驱动

为了完成这次验证,我花了一整天时间排查无线网络问题,最终发现问题并不在内核驱动,而是在用户空间缺少了一个看似不起眼却至关重要的软件包:

text
wpa_supplicant

这也让我更加确信:

发行版开发最大的挑战,往往不是内核,而是把无数看似独立的组件正确地拼在一起。


LankeOS By Wtada233BTW,CD放不下了!现在镜像已经748MB大了


LankeOS v0.07

LankeOS v0.07 · 2026/6/18 · 在 GitHub 上查看

LankeOS v0.07 Release

lpkg 代码库全面重构,迈向工业级包管理。

核心变更 (Major Changes)

  • lpkg 递归安装引擎(install_packages_internal):

    • 重构 install_packages(),提取递归驱动的 install_packages_internal(),通过 InstallContext 共享事务状态。
    • install_packages() 现为清晰的三阶段流程:决议 → 确认 → 安装,职责分离、可测试性大幅提升。
  • 动态依赖发现(ensure_dependencies_satisfied):

    • InstallationTask::prepare() 阶段即时读取包内 metadata.json,发现未在索引中声明的依赖。
    • 缺失依赖自动加入安装队列;不可解析时抛出 LpkgException 触发原子回滚。
    • 支持虚拟包(provides)回退链:已安装提供者 → 同事务内其他包的 provides → 目标文件预览。
  • 零预下载架构优化:

    • 修复了 verify_metadata_phase 在用户确认前下载包的严重问题。(在之前的Broken commit引入)
    • 现流程:决议(无网络)→ 显示计划 → 用户确认 → 逐包下载验证 → 安装。确认前零网络开销。
    • 下载与安装无缝融合:验证通过的包直接缓存路径供安装环节复用,避免重下载。
    • 元数据漂移时自动回滚本批已安装包 → 重解析 → 重试,保证事务一致性。
  • 代码库拆分(package_manager.cpp 大重构):

    • 将 1117 行的巨型 package_manager.cpp 拆分为三个逻辑单元:
      • install_common.hpp/cpp:共享辅助函数(钩子、元数据解析、依赖决议、一致性检查)
      • installation_task.cpp:单包事务生命周期(runpreparecommitrollback
      • package_manager.cpp:保留公共 API(安装/移除/升级/查询等)
    • 三文件独立编译,不影响 Makefile 自动扫描规则。

国际化与测试体系

  • l10n 清理: 自动删除 68 个未使用的翻译键(en.txt / zh.txt),保留精确匹配的 176 个活跃键。
  • 新增国际化字符串: info.installing_discovered_deperror.unresolvable_drift
  • 新增集成测试(3 项):
    • UnresolvableDriftFailure:索引声明 lib-old,实际需要 lib-new 且 lib-new 不存在 → 抛异常
    • DiscoverNewDependency:索引声明无依赖,实际需要 lib-extra → 自动发现并安装
    • AtomicRollbackOnFailedDep:发现依赖后该依赖不在仓库中 → 原子回滚确保无残留
  • 完整测试覆盖:58 项测试全部通过(+3 vs v0.06)。

修复的问题

  • 确认前下载verify_metadata_phase 在用户确认 (y/n) 前就下载了所有包,导致取消也浪费流量。现已完全移入确认后的安装循环。
  • 误删 l10n 键:三元表达式中的 info.package_list_item / info.package_list_item_dep 因 grep 模式不匹配而被清理脚本误删,已恢复。

系统规格更新 (Technical Specs)

组件版本状态
lpkgv1.5 (重构版)递归安装引擎 + 动态依赖发现
源码行数4668 行 (C++)拆为 19 个 .cpp + 17 个 .hpp
测试行数2245 行58 项测试,全部通过
核心模块3 文件拆分install_common / installation_task / package_manager
l10n176 个活跃键en.txt + zh.txt 双语内容

下一步计划 (Roadmap)

  • [ ] 进一步丰富 lpkg 官方源软件仓库,提供更上层的用户态常用工具 (长期任务)
  • [ ] 引入系统快照与回滚机制
  • [ ] 并行下载加速支持

开发者的话

v0.07 是 lpkg 自 v1.5 发布以来最大的一次底层重构。核心变化不是「加了什么功能」,而是 「安装引擎的工作方式被重新设计了」

旧版1.5(开发中的unstable版本)在用户确认前就下载包,违背了「先看再买」的基本原则;索引与实际包不一致时处理脆弱,依赖发现完全依赖索引的准确性。这版通过 install_packages_internal 递归引擎 + ensure_dependencies_satisfied 动态补全 + 元数据逐包验证,让 lpkg 在真相面前(即包内的 metadata.json)永远有最终发言权。

同时,代码库结构从单文件 1117 行拆分为三模块,为后续的功能扩展和维护铺平了道路。

当前lpkg版本:1.5稳定(改天我改一下修订号)

温馨提醒:请使用最新的lpkg,因为最近的breaking change导致了一些兼容问题。以及之前开发中的版本有我之前提到的Bug。


Git Commit Summary (cfbb0f7 → 40db360)

text
40db360 fix: truly eliminate pre-download — inline metadata verify inside install loop
cd8dded fix: move metadata verify after user confirmation, restore accidentally removed i18n keys
3282c91 refactor(core): split package_manager.cpp into three logical units
db9287c refactor(core): recursive install engine with dynamic dep discovery and i18n cleanup
0165536 .
cfc0d32 fix broken tests
cfbb0f7 chore: metadata consolidation refactor (BROKEN - contains test failures, needs fixes)

7 commits, 30 files changed, +1561 / −1264 lines

6月20日更新:0.07-2,更新lpkg到1.6版本

6月20日更新2:庆祝LankeOS更新第6个版本,持续稳步开发!发布0.02-0.07的完整源码变更diff留作纪念


LankeOS v0.06

LankeOS v0.06 · 2026/6/18 · 在 GitHub 上查看

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 SystemLankeBUILD (v2)彻底重构,变量动态解析
Package Managerlpkg v1.5JSON元数据
Core ToolsCustom Strip / Builder增强测试,减少硬编码
Kernel & Firmware7.0.x-lanke (Native Build)内核与固件全面纳入自研构建
ISO Size687 MiB继续保留完整开发Headers

下一步计划 (Roadmap)

  • [x] 引入 Pipewire 音频支持 (v0.05 已完成)
  • [x] 完善 PAM 认证安全体系 (v0.05 已完成)
  • [x] 自研包管理器 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


Beta 0.05 !!!

Beta 0.05 !!! · 2026/6/18 · 在 GitHub 上查看

LankeOS v0.05 Release

声色俱全,安全稳固,极致精简。LankeOS正式进入Beta阶段了!

核心变更 (Major Changes)

  • 内核跃迁: * 升级至 Linux 7.0-rc7。修复了 rc6 中的模块兼容性问题,进一步增强了硬件驱动支持,保持极致追新的开发者本色。
  • 现代音频架构:
    • 引入 Pipewire 支持: 告别复杂的音频配置。现在系统默认集成 Pipewire,提供低延迟、专业级的音频流处理能力,为下一步多媒体应用打下基础。
  • 安全底座强化:
    • 完整 PAM (Pluggable Authentication Modules) 支持: 引入可插拔认证模块。这不仅提升了系统安全性,也让多用户管理和权限控制变得更加标准和灵活。
  • CD 载具的最后守望者:
    • 尽管集成了 Pipewire 和更复杂的工具链,ISO 体积经过精细修剪,最终锁定在 688 MiB。它依然可以被刻录进一张标准 CD (700MB),是现代系统与复古介质的完美平衡。

开发工具链 (Toolchain Expansion)

本版本进一步补全了底层开发环境,致力于提供“开箱即用”的 LFS 滚动构建体验:

  • 核心: GCC 15.3 / Rust / LLVM
  • 脚本: Python 3.12 / Perl / Lua
  • 新增: 针对 PAM 和 Pipewire 开发的头文件与库文件,支持用户直接在系统内进行底层组件编译。

系统规格更新 (Technical Specs)

组件版本状态
Kernel7.0-rc7-lankeUPDATE 修复模块错误
AudioPipewireNEW! 现代音频支持
SecurityFull PAM SupportNEW! 标准化认证体系
ISO Size688 MiB极限压榨,适配 CD 介质
StorageOverlayFS (LABEL=LANKE_DATA)持续支持持久化存储

下一步计划 (Roadmap)

  • [ ] 优化软件包管理器,开始更新滞后的老旧包
  • [x] 引入 Pipewire 音频支持
  • [x] 完善 PAM 认证安全体系

开发者的话

从 0.04 到 0.05,LankeOS 不再只是一个“能启动的内核”,它开始拥有了声音(Pipewire)和门禁(PAM)。

为了把体积死死压在 700MB 的红线以内,我反复调整了 initramfs 的压缩算法。虽然软件包更新确实因为开学有点缓慢:L,但 0.05 的骨架已经非常扎实了。如果你手里还有珍藏的空白 CD-R,现在就是让它重获新生的时候。

另外这可能是LankeOS最后一个能放进CD的Release。由于不可抗力,软件正在变得越来越臃肿,目前已经用了最高等级的压缩,如果想要在之后继续维持大小,只能删除headers,严重影响开发能力。

Stay stable, stay minimal.


更新日志记录

4月6日更新

  • 修复内核模块挂载错误。
  • 集成 Pipewire 核心守护进程。重新编译Shadow和Systemd来适配PAM。更新Shadow
  • 重新封装 ISO,确保对物理光盘引导的兼容性。

4月10日更新

  • 更新了多数打包脚本,整理碎片化内容,把文档变为实际脚本。

4月17日更新

  • 史诗级的更新(误)更新内核至7.0.0-lanke正式版(不要问为什么改localversion,问就是以后LankeOS打算弄一点内核修改,虽然现在只是配置原版Linux)
  • 修复打包问题,清理缓存,进一步让iso缩小到688 MiB

Alpha 0.04 !!!

Alpha 0.04 !!! · 2026/3/27 · 在 GitHub 上查看

󰪢 0s 󰜥 󰉋  /Projects/LFS/archive/0.04

  ls

 lankeos_final_0.04_disk.qcow2  lankeos_final_0.04_pkgs.tar.xz  RELEASE_NOTE.md

 lankeos_final_0.04_live.iso  lankeos_final_0.04_workdir_snapshot.tar.xz  run.sh

󰪢 0s 󰜥 󰉋  /Projects/LFS/archive/0.04

  cat RELEASE_NOTE.md

LankeOS v0.04 Release

持久,稳定,精简,快速。

默认用户LankeOS,密码LankeOS

核心变更 (Major Changes)

  • 分发策略调整:
    • 不再发行 .qcow2 镜像: 告别虚拟机专用格式,回归统一。
    • 全面转向 .iso 发行: 现在的 ISO 不仅是 LiveCD,更是安装介质。
  • 新增安装程序 (Installer): * 集成自主研发的安装脚本,支持将系统快速部署至物理磁盘/U盘。
  • 体积控制艺术: * 尽管增加了安装程序和持久化逻辑,通过精简 initramfs 和优化压缩率,ISO 体积依然精准控制在 683 MB

持久化 Overlay 存储架构

0.04 版本引入了基于 OverlayFS 的数据持久化方案。

  • 工作原理: 系统在启动时会扫描所有块设备,寻找 LABEL=LANKE_DATA 的分区。
  • 技术细节: * 一旦识别到该标签分区,系统会自动将其挂载,并将该分区下的目录作为 OverlayFS 的 upperdir(增量层)和 workdir(工作层)。
    • 这意味着你在 Live 环境下安装的任何包、修改的任何 .conf、保存的任何代码,都会被透明地持久化到该分区中,实现“随身携带的开发环境”。

系统规格更新 (Technical Specs)

组件版本状态
StorageOverlayFS + Label AuthNEW! 支持持久化
DeploymentBuilt-in InstallerNEW! 支持物理机安装
ISO Size683 MiB维持极致轻量
Kernel7.0-rc6-lanke极致追新
ToolchainGCC 15.3 / Rust / LLVM / Perl / Lua / Python3保持完整开发能力

下一步计划 (Roadmap)

  • [ ] 引入pipewire
  • [x] 完善linux-firmware,加入更完整的驱动
  • [x] 既然已经有了持久化,下一步移植更多包

开发者的话

从 0.03 的 3 秒开机到 0.04 的持久化存储,LankeOS 正在变得越来越像一个“真正的系统”。我最近开学更新放缓但是不是跑路了,缓慢但是稳定。目前以引入新功能为主,没多少时间维护仓库,软件包有点旧大家见谅 BTW之所以iso体积没变主要是没更新软件包(


󰪢 0s 󰜥 󰉋  /Projects/LFS/archive/0.04

 

4月5日更新

更新内核到7.0-rc6,在编译脚本中加入内核,修复一些打包问题。

4月6日更新

修复一些内核错误,添加部分模块,更新内核到7.0-rc7


Alpha 0.03 !!!

Alpha 0.03 !!! · 2026/2/9 · 在 GitHub 上查看

󰪢 1m57s 󰜥 󰉋  /Projects/LFS/archive/0.03-staging

  cat RELEASE_NOTE.md


LankeOS v0.03 Release

"From Zero to Desktop in 3 Seconds." 这一版是我肝了快要一个星期肝出来的,终于适配成功Wayland了,体积2.9GiB有点大是压缩不当,squashfs仅600MiB多,livecd大小是arch的一半不到还自带完整rust llvm gcc python开发工具链以及一个sway,最重要的,fcitx5!可以输入中文。 再次强调!完整的开发工具链!在一个700M不到的Live环境中编译rust程序!

新特性 (New Features)

  • 极速引导引擎:重写的 initramfs 逻辑,支持自动进入sway,开箱即用环境。
  • 现代化图形栈:由 Sway (Wayland) 驱动的极简桌面环境,彻底告别 X11,集成 wlroots 提供原生的 GPU 加速支持。
  • 全新字体:集成思源等宽字体,解决中文显示
  • 新版lpkg: 集成更多功能的包管理器,并打包为lpkg包。
  • 中文输入法: 集成fcitx5中文输入法
  • 在线镜像源: 引入了自动运维脚本处理包,并部署lankerepo.wtada233.top仓库。

Bug 与修复 (Fixes & Workarounds)

1. 包管理的依赖地狱和bug

  • 0.02版本依赖树有问题,缺少了必要依赖且没有打包lpkg本身,最重要的是lpkg有bug导致sudo权限不正确。
  • 修复:利用 gen_deps.py(在workdir_snapshot中)扫描并自动生成了依赖树,并更新了lpkg。

2. PAM模块的缺失

  • 没有PAM导致XDG_RUNTIME_DIR消失,sway无法启动。
  • 修复:在profile.d中添加了自动初始化/run/user/$UID的内容。

系统规格 (Technical Specs)

组件版本备注
Kernel6.16.1-lanke前沿版本
BaseLFS 12.4 / Systemd 257现代底座
GraphicsSway + Mesa 25.3全显卡加速支持
InputFcitx5 (Wayland Native)完整中文输入支持
CompilerGCC 15.3 / Rust / LLVM生产级工具链
ISO Size672 MiB极致轻量化

下一步计划 (Roadmap)

  • [x] 移植 linux-firmware 全家桶,适配物理机 Wi-Fi/蓝牙。(2月13日更新,已经加入)
  • [x] 引入 Fcitx5 输入法框架,让 LankeOS 具备文档处理能力。(2月11日更新,已经引入fcitx5)
  • [ ] 探索 PipeWire 音频系统集成。

预告:0.04版本持久化Overlay存储!

󰪢 0s 󰜥 󰉋  /Projects/LFS/archive/0.03-staging

 

2月28日更新 2月最后一个更新,很快要开学了可能更新放缓。今天加了by-label卷标挂载机制。

3月1日更新 breaking change: 修改架构处理,如果遇到找不到包错误,请使用--arch x86_64

3月15日更新 修复了systemd打包不当导致的安全漏洞:777权限错误,由于漏洞严重,所以替换下载链接。

3月20日更新 实现了toram模式并在live mask了ldconfig.service,开机速度提升到3秒


Alpha 0.02

Alpha 0.02 · 2026/2/1 · 在 GitHub 上查看

LankeOS Release Note - Version 0.02

欢迎来到 LankeOS 0.02。相较于 0.01 版本的纯手动构建,本版本标志着 LankeOS 正式拥有了自主的包管理生态和现代化的引导机制。我们不再仅仅是一个 LFS 的中文翻译版,而是一个拥有 C++ 20 包管理器驱动核心的独立发行版原型。 (0.01版本没有发布,如果有人想要可以开issue 我看如果大家都要我就公开release 但是不推荐使用 基本上就是LFS 12.4-systemd)

(和之前的release都不同,之前的release都只是带有lpkg的arch linux弄了点修改,这次是从LFS开始的构建)

(仍然不推荐使用,因为还没有适配mesa和wayland,主要是留作纪念)

2月6日更新

LankeOS 0.02-1

修复了部分错误,把一些孤立文件删除,打包新版iso

2月7日更新

LankeOS 0.02-2

修复了部分错误,优化lpkg,构建完整的依赖树

LankeOS 0.02-3

修复了部分错误,修复依赖树

2月8日更新

LankeOS 0.02-4

添加必需的依赖,精简系统

LankeOS 0.02-5

Final Release,清理系统临时文件,重新打包filesystem,打包lpkg,优化系统对UTF-8的处理


功能详情见压缩包内Release Note

开发预览版已知问题

  • 镜像源地址目前默认为本地占位符,需手动更改。
  • 桌面环境目前仅为 Metadata 占位符包,实际 GUI 组件将在 0.03 版本推送。

LankeOS By Wtada233本来想加一个致谢但是目前这个系统主要是我开发,等以后镜像源上线我可以给感谢名单多加几个人。主要是我出于兴趣制作的发行版,有很多地方不完善请大家谅解



最后更新:2026-07-04T10:29:06.694Z

基于 GPL-3.0 协议开源