给小爱音箱刷上自己的固件: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 会替换小爱音箱的 rootfs:把小米的闭源软件整个移除,装上一套 MPD、Snapcast、Shairport-Sync 等开源程序,让音箱变成一台由你自己管理的语音助手和媒体播放器。这篇文章面向愿意动手的普通用户,以 LX06 为例,按顺序把构建和刷写走一遍。
兼容性自查:哪些型号能刷,要备哪些工具
动手前对照这份清单,缺任何一项都不要继续:
- 型号:LX06 / L06A 测试最充分,推荐首选;LX01、L09A、L09B(未实测)可用。LX05、L15A 的分区带加密校验,项目建议不要刷,刷坏风险自担。
- 电脑:Linux amd64 系统,Ubuntu 20.04 及以上,24.04 实测通过。Windows、Apple M1 均不在支持范围。
- 工具:
squashfs-tools、make、rsync、shasum、Docker,另需预留一小时以上编译时间。 - 音箱侧:micro USB 数据线;LX06 拧开底部 6 颗螺丝即可接触 USB 口,不用焊接,但强烈建议预留 TTL 串口线以备恢复。
WSL 用户注意:需开启setCaseSensitiveInfo,否则路径大小写会导致构建失败。
全程走通:四步构建并刷入自己的固件
1. 获取源码与 rootfs 镜像
git clone https://gitcode.com/GitHub_Trending/xia/xiaoai-patch同时需要一份音箱自身的root.squashfs镜像:可以来自系统升级文件,也可以直接在音箱上dd导出。成功标准:用file查看,确认是 Squashfs 格式,大小与分区容量吻合(LX06 上限 40MB)。
2. 配置要安装哪些包
编辑 packages.sh,勾选需要交叉编译的服务:MPD、Snapcast、Shairport-Sync、UPnP 客户端等。这一步可选,但建议做,能避免编译用不到的东西。
3. 用 Docker 构建,打包新镜像
编译过程会对构建环境打补丁,项目明确要求在 Docker 里跑,否则会污染你自己的 Linux 系统:
docker build -t xiaoai-patch packages docker run -it -v $PWD:/xiaoai xiaoai-patch进入容器后执行:
sudo make clean all FILE=root.squashfs MODEL=lx06这一条命令串起解包、打补丁、重新打包三个环节。成功标准:release/lx06/下出现带时间戳的镜像文件和latest链接。每个目标的作用在 Makefile 里有 help 说明。
4. 刷入音箱
LX06 需拆下底盖、接上 micro USB,再用 aml-flash-tool 刷机工具。关键动作:上电后约 2 秒内连续执行update identify,终端里打出固件版本号,就进入了刷机窗口,随后把root.squashfs写进 system0 / system1 两个分区即可,完整命令见 research/lx06/install.md。成功标准:重新上电后音箱正常启动,能连上 Wi-Fi 拿到 IP,SSH 用 root / root 登录。
跑通之后的三个真实场景
客厅听歌:音乐放在 NAS 或本机磁盘上,MPD 负责播放。iPhone 可以用 AirPlay 直接推流,电脑上的 UPnP / LMS 客户端也能把歌丢给它。不用再打开某个专属 App,浏览器访问音箱 IP 就能打开内置的 Web 管理页,随时查看状态。
语音控灯:在 Web 页里填上 Home Assistant 的地址和令牌后,音箱用 Porcupine 识别唤醒词,录音送 Whisper 转成文字,再交给 HA 执行意图,结果用 TTS 念回来。对音箱说一声"开灯",HA 里对应的灯真的会亮。配置细节见 docs/voice-assistant.md。
多房间同步:装上 Snapcast 后,这台音箱成为同步播放的客户端。同一局域网里再挂几台输出设备,大家播放同一首歌、同一秒,组一套粗糙但够用的多房间音响。
想深入时的三个入手点
- scripts/ 目录:开机后的 SSH、主机名、服务开关等改造全是独立 shell 脚本,按编号执行,加一段自己的逻辑最直接。
packages/目录:每个组件一个package.mk,写清下载、编译、安装规则。想加一个新软件,照抄一个目录改就行。api/目录:设备端的 HTTP 管理接口,还在持续完善,适合读代码理解设备端结构。
风险与回退:备份怎么做,出问题怎么还原
- 刷机前备份:先用刷机工具把 U-Boot 的
bootdelay调大(update bulkcmd "setenv bootdelay 15"加saveenv),确保随时能进启动菜单;再用mread把 mtd0 到 mtd6 七个分区全部 dump 到电脑,并核对文件大小。 - 保修与数据:刷入自定义固件后保修失效,小米账号及云端配置不再可用,这是一条单行道。
- 还原动作:启动失败时,用 U-Boot 菜单(最坏情况靠 TTL 串口)把备份里的出厂 system 分区镜像写回去即可恢复,README 的 Unbricking 一节有完整步骤。
- 加密型号别碰:如果
binwalk分析镜像时看到 Certificate 条目,说明有签名校验,不要刷写,可能直接锁死。
常见问题
刷完之后米家 App 还能用吗?
不能。默认补丁移除了全部小米软件,米家找不到设备。管理方式变成 SSH、音箱 Web 页和 Home Assistant 三条路。
刷完怎么连 Wi-Fi?
按 Play 键 5 次,用手机上的 improv-wifi 应用靠近音箱配网;或者在终端直接执行/bin/wifi_connect 信号名 密码。蓝牙配对则是按 Play 键 3 次,进入约 45 秒的配对窗口。
刷机后开机循环还有救吗?
有,前提是做过分区备份。LX06 若刷入发布版boot.img后提示不认识 NAND 芯片,把备份的自己那台机器的mtd2.img写回 boot0 分区即可恢复,不需要重新编译任何东西。
xiaoai-patch 把一台闲置的小爱音箱从"App 控制的家电"变成"自己手里的 Linux 设备"。建议先把分区完整备份一份,再从测试最充分的 LX06 开始动手。
【免费下载链接】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),仅供参考