news 2026/11/6 3:34:36

刷机三步、选对型号就成功一半:xiaoai-patch 小爱音箱刷机兼容避坑完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
刷机三步、选对型号就成功一半:xiaoai-patch 小爱音箱刷机兼容避坑完整指南

刷机三步、选对型号就成功一半:xiaoai-patch 小爱音箱刷机兼容避坑完整指南

【免费下载链接】xiaoai-patchPatching for XiaoAi Speakers (小爱音箱), add custom binaries and open source software. Tested on LX06, LX01, LX05, L09A项目地址: https://gitcode.com/GitHub_Trending/xia/xiaoai-patch

xiaoai-patch 是一套给小爱音箱刷机的开源工具集:把音箱里的闭源固件整个替换成自由开源软件,刷完你就有一台自己的 DIY 语音助手和多媒体音箱,支持 MPD、Snapcast、AirPlay、UPnP,还能接 Home Assistant 当真正的语音入口。但先别急着下单——不是每款小爱音箱都能刷,刷错型号直接变砖。这篇文章帮你把"买哪款、怎么备、怎么刷、怎么救"一次说清。

先说风险:刷机翻车最常发生在哪 3 个地方

踩坑的人翻来覆去就这三种情况,先记住它们,后面每一步都是围绕这三点展开:

  1. 型号踩雷:部分型号(LX05、L15A)的 rootfs 分区带了 DER 格式 x509 证书做签名校验,未签名的新系统可能被拒绝加载;更狠的是 L05B/L05C 干脆跑的是 NuttX 系统,连 Linux 镜像都塞不进去。
  2. 刷错分区:rootfs 是只读文件系统,必须重写。写错分区、或把镜像写到正在使用的那份 rootfs 上,都是常见翻车点——正确做法是写非活动分区。
  3. 没有救砖通道:万一 boot 失败,唯一可靠的救援入口是 Uboot 菜单。如果环境分区里bootdelay=0,Uboot 会直接跳过去,你就进不去了。

⚠️ 刷机有风险,项目声明仅供学习用途、风险自担。以下所有步骤都建议你按顺序走完,别跳。

30 秒看懂兼容性:三色信号判定矩阵

README.md 的 Compatibility 表格可以浓缩成下面这张"红绿灯",买之前先把自己的型号对号入座:

信号含义型号
🟢 支持(已测试)官方测试通过,放心刷LX06 / L06A(固件 1.74.10)、LX01(1.32.6)、L09A(1.76.4)
🟢 支持(未完全测试)有完整补丁但官方标注未测完L09B(1.69.54)
🟡 加密分区rootfs 带证书校验,官方建议不要刷LX05、L15A
⚪ 未测试没有官方结论,风险自担L16A、L17A、L07A、M03A、MDZ-25-DT、XMYX01JY、YLAI01YL
🔴 不支持架构或系统不匹配L09G(Google 版)、L05B、L05C(NuttX)、L05G(Google 版)

一句话结论:认准 LX06 / L06A / LX01 / L09A 这四个绿灯,其他型号要么劝退要么自求多福。

第一步先核对:如何确认你的小爱音箱型号

型号代码是唯一可信依据,外观再像也不行(国际版和国行内部系统完全不同)。核对就三步:

  • 第 1 步:看包装标签。包装盒背面"产品型号"一栏,比如LX01、LX06。
  • 第 2 步:看机身底部铭牌。拆机前先蹲下来看底座上的型号缩写,再对照 research/ 目录下对应的型号文件夹。
  • 第 3 步:对照官方表格。打开 README.md 的 Compatibility 表格,确认你的型号属于哪个颜色档位,同时记下目标固件版本——刷之前建议先把官方系统升级到该版本再提取 rootfs。

💡 技巧:国际版型号(L09G、L05G 这类)哪怕长得和国行一模一样,内部跑的是 Google 助手 + Chrome 分区,与国产 MICO 系统完全不兼容。外观相同 ≠ 型号相同。

按场景选对型号:绿、黄、红三档怎么选

绿灯档:求稳就直接拿这 4 款

LX06 / L06A(小爱音箱 Pro)是项目测试最多、兼容性最好、官方首推的型号,2019 年发布至今仍在售。Pro 版(黑色)带红外发射器,普通版(白色)不带,两者刷同一套固件,目标版本 1.74.10。买到的可能是 128MB 或 256MB 内存、Marvell / Realtek / NXP 三种无线芯片之一——都能刷,不用纠结。刷机走 USB 免焊接路线,资料最齐全:research/lx06/ 里有总览,research/lx06/install.md 有完整刷机指南。

LX01(小爱音箱 Mini)目标固件 1.32.6,体积小,适合当客厅里的语音节点。它的系统用 A/B 双 rootfs 分区(nandc / nande),刷的时候写非活动分区更安全,分区与 Uboot 环境细节见 research/lx01/system.md。

L09A(小爱音箱 Art,国行白色)目标固件 1.76.4,型号专属补丁(ALSA、时区、主机名、蓝牙启动修复等)在 patches/l09a/。

L09B(Art 电池版,黑色)官方标注未完全测试,目标固件 1.69.54,补丁目录 patches/l09b/ 与 L09A 基本一致。手痒且能接受风险的可以试。

黄灯档:LX05 和 L15A,劝退理由很具体

这两款的 rootfs 分区被附加了 DER 格式证书做签名校验。用binwalk检查固件时,如果出现下面这种条目,就说明你的固件带证书:

32243716 0x1EC0004 Certificate in DER format (x509 v3), header length: 4, sequence length: 830

未签名的 squashfs 镜像可能被直接拒绝,结果就是 rootfs 无效、砖机。官方建议是:这两个型号不要刷。已入手的朋友,先跑一遍binwalk再决定,大概率会看到上面的 Certificate 条目。

红灯档:这几款别买来刷

  • L09G / L05G:国际版,Google 助手 + Chrome 分区,和 MICO 系统不是一个物种。
  • L05B / L05C(Play 增强版):跑的是NuttX而非 Linux,架构不兼容,没有可行的移植路径。

⚠️ 红灯型号即使能买到、价格再低也别碰——问题不在补丁,在系统本身。

刷前必备清单:环境、工具和一小时的耐心

xiaoai-patch 只支持Linux amd64,Apple M1、Windows 原生均未测试;WSL 用户记得开启setCaseSensitiveInfo。工具链上需要:

  • squashfs-tools(提供unsquashfs/mksquashfs)
  • make、rsync、shasum
  • Docker
  • S12(MDZ-25-DT)型号额外需要mtd-utils
  • 一小时以上——用 Docker 构建全部软件包(packages/ 下有 MPD、Snapcast、ffmpeg 等约 150 个包)耗时较长

先 clone 一份仓库开始:

git clone https://gitcode.com/GitHub_Trending/xia/xiaoai-patch

⚠️ 包构建必须在 Docker 里跑:构建过程会往系统里打补丁,直接在主机上执行可能污染你的 GNU/Linux 安装。

docker build -t xiaoai-patch packages docker run -it -v $PWD:/xiaoai xiaoai-patch

第一行构建 Docker 镜像,第二行把当前仓库目录挂载进容器里、之后所有编译都在容器中进行。

另外,rootfs 的来源是你自己音箱里的固件(也可以来自官方升级包)。刷之前,确保手头有一份和音箱当前固件版本一致的rootfs镜像。

刷机三步走:extract、patch、build

整个流程只有三步:解包(extract)→ 打补丁(patch)→ 重新打包(build)。进入容器后,一条命令跑完:

sudo make clean all FILE=image-mtd4 MODEL=lx06
  • FILE:你手上 rootfs 镜像的文件名,照实填写
  • MODEL:你的型号(lx06、lx01、l09a 等),决定套用哪一套型号专属补丁(patches/ 下按型号分目录)

也可以拆开分步执行(sudo make extract FILE=image-mtd4→sudo make patch MODEL=lx06→sudo make build MODEL=lx06),方便在每一步之间检查结果。

💡 技巧:新镜像生成后,用file命令分别查看新旧镜像的格式信息并对比,确认格式一致再刷写。可选包列表可以编辑仓库里的 packages.sh 来增减。

镜像写回音箱时记住:写非活动的那份 rootfs 分区,写完再启动测试。

刷写之前锁定救命通道:Uboot 菜单

这是全文最重要的一条。写任何分区之前,先确认两件事:

  1. 环境分区(通常是第一分区,用fw_setenv/fw_env读写)里bootdelay=3——有这个值,开机时才能按键停下 autoboot 进入 Uboot 菜单。
  2. 最好已经在 PCB 上焊好 TTL 串口线备用。只要没把内容写进错误分区,进 Uboot 就能安全回滚失败的启动。

看到Hit any key to stop autoboot提示才算通道在手。救砖细节见 README.md 的 Unbricking 章节,常见问题见 docs/faq.md。

刷完能玩什么

  • 全协议投屏播放:AirPlay(Shairport-Sync)、MPD、Snapcast、LMS(Squeezelite)、UPnP(Upmpdcli)一个不少。
  • 真语音助手:Porcupine 负责唤醒、Home Assistant 里的 Whisper 做 STT,插件见 custom_components/xiaoai_assist/。
  • 蓝牙高清音频:BlueALSA 支持 LDAC / LC3 编码。
  • 日常管理:浏览器访问音箱IP:80进 Web 管理界面(api/);SSH 默认 root 密码已被补丁改为root,建议顺手把自己的公钥拷进去。
  • 快捷操作:Play 键按5 次联网配网(配 improv-wifi 手机 App),按3 次进入蓝牙配对(约 45 秒窗口期)。

一句话决策速查表

你的情况行动
还没买直接买LX06 / L06A(要红外选 LX06);预算紧选LX01;喜欢 Art 造型选L09A
已持有 LX05 / L15A先binwalk查证书,看到 Certificate 就放弃
已持有 L09G / L05B / L05C / L05G别刷,另购国行型号
型号在 ⚪ 未测试列风险自担,建议观望社区动态
准备动手先备好 Uboot 通道(bootdelay=3 + TTL 线),再写非活动分区

三步刷完、绿灯型号、救命通道在手,你的小爱音箱就能安全变身开源智能音箱。祝刷机顺利 🚀

【免费下载链接】xiaoai-patchPatching for XiaoAi Speakers (小爱音箱), add custom binaries and open source software. Tested on LX06, LX01, LX05, L09A项目地址: https://gitcode.com/GitHub_Trending/xia/xiaoai-patch

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/6 3:33:22

如何用 Python 驱动 RustGIS:rustgis 包、Jupyter 交互地图与 Colab 实战

【免费下载链接】RustGIS A fast, free and open-source GIS in pure Rust. 项目地址: https://gitcode.com/gh_mirrors/ru/RustGIS 点击查看 免费下载 RustGIS 是一款用纯 Rust 编写的高性能、免费开源 GIS 系统,而它的官方 Python 绑定 rustgis 包可以…

作者头像 李华
网站建设 2026/11/6 3:33:13

fluentui-emoji 的 MIT 许可商用指南:保留版权声明即可安心使用

fluentui-emoji 的 MIT 许可商用指南:保留版权声明即可安心使用 【免费下载链接】fluentui-emoji A collection of familiar, friendly, and modern emoji from Microsoft 项目地址: https://gitcode.com/gh_mirrors/fl/fluentui-emoji 导语 把这套 Fluent …

作者头像 李华
网站建设 2026/11/6 3:33:05

如何用python编程向别人传输信息

接下来呢, 我们必须要进行一个把绑定这个操作, 然后把它绑定到一个比较特定的地址上面去,还要加上那个端口的编号, 目的就是要能够监听来自外界的连接的请求了。server_address (localhost, 10000)print(Starting up on {} port {}.format(*server_address))sock.b…

作者头像 李华
网站建设 2026/11/6 3:14:05

Java中关于HashMap常见问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华