首页 / 资讯中心 / 文章详情

小爱音箱自定义固件刷机指南:xiaoai-patch 四步把闲置音箱改造成开源媒体终端

小爱音箱自定义固件刷机指南:xiaoai-patch 四步把闲置音箱改造成开源媒体终端 ★ FEATURED ARTICLE
小爱音箱自定义固件刷机指南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、AirPlay、Snapcast 这类开源播放协议也能用 Porcupine 唤醒词加 Whisper 语音识别接进 Home Assistant变成局域网里真正可二次开发的语音终端。整个过程只涉及三个动作——提取、打补丁、重新打包再加一次分区写入。这套固件到底改了什么音箱的 rootfs 是只读压缩格式改不动单个文件所以 xiaoai-patch 的思路是整块重做把原厂 rootfs 解包出来替换其中的专有软件、塞进一批开源包再重新打包成新的 squashfs 镜像写回去。补丁和脚本都可以调因此既可以彻底移除小米原生软件也可以保留原有小爱功能、只在旁边加装新程序。最终能力来自几组开源组件的组合多媒体中心MPD 做核心播放器搭配 Snapcast 实现多房间同步Shairport-Sync 接 AirPlayUpmpdcli / Squeezelite 接 DLNA 与 LMS一个音箱兼容多种推送协议。语音助手Porcupine 负责本地唤醒词检测语音送进 Home Assistant 的 Whisper 做识别再把意图送回系统播报。全屋联动作为 Home Assistant 的语音入口控制家中设备。支持哪些小爱音箱型号怎么判断加密分区已测试并兼容的型号及对应目标固件版本型号说明目标版本LX06黑色 Pro 版带红外1.74.10L06A白色标准版无红外1.74.10LX01小米 AI 音箱 Mini1.32.6L09A小爱音箱 Art白1.76.4L09BArt 电池版黑未完全测试1.69.54LX05Play 版分区加密但可支持—加密分区要单独确认。LX05、L15A 这类机型在 rootfs 里附带一个 DER 证书来校验系统未签名的 squashfs 可能被拒绝加载官方不建议盲目刷写。判断方法是解包后跑binwalk看输出里有没有Certificate in DER format这一行——有就说明带证书校验风险更高。刷机前备份与 Uboot 救砖准备写任何分区之前先做好这两件事出问题时才有退路备份原始分区。通过 USB 刷机工具把 bootloader、boot0/boot1、system0/system1、data 等分区逐个 dump 到本地文件核对文件大小。确保能进 Uboot。检查环境分区里bootdelay3或更大。若为bootdelay0Uboot 会直接续跑正常启动你按任意键也停不下来。多数机型用fw_setenv或fw_env修改数据存于第一分区。确认串口能看到Hit any key to stop autoboot提示后再动手写镜像。有条件的话提前在板子上焊好 TTL 串口线——这是最后的恢复通道。小爱音箱自定义固件编译四步extract / patch / build编译环境要求Linux amd64Apple Silicon、Windows 均未测试并安装squashfs-tools、make、rsync、shasum、DockerS12 机型另需mtd-utils。WSL 用户记得开启大小写敏感。注意包编译过程会向系统打补丁务必在 Docker 里跑别直接在宿主机执行。先编辑 packages.sh 勾选要装的包然后构建并进入容器docker build -t xiaoai-patch packages docker run -it -v $PWD:/xiaoai xiaoai-patch容器内拿到从音箱 dump 出来的 rootfs 镜像文件名如image-mtd4后一条命令跑完提取、打补丁、重新打包sudo make clean all FILEimage-mtd4 MODELlx06包编译耗时通常超过一小时属正常现象。完成后用file对比新旧镜像格式确认无误再往下刷。用 update 工具把新固件写进双系统分区以 LX06 为例刷写走 micro USB 口无需焊接但强烈建议焊 TTL 以备救砖进刷机态开机约 2 秒内反复运行update identify直到终端打印出固件版本正常启动即被截停。改 Uboot 延迟update bulkcmd setenv bootdelay 15再saveenv为后续恢复留窗口。备份用update mread store ...把各分区读到本地。写分区update partition system0 root.squashfs与system1A/B 两块都写。建议优先刷入当前不在用的那块 rootfs开机切过去测试。一个常见坑较新的 LX06 用了 Foresee/ESMTFSNS8A001GNAND老内核不识别刷boot.img后可能死循环重启。处理办法是把自己备份的mtd2.imgboot0刷回去而不是用发行版里那份内核。刷机后的日常使用Web 面板、SSH 与语音助手接入管理入口浏览器访问音箱 IP 的 80 端口即 Web 管理页也可ssh登录补丁会把默认密码改成root。连 Wi-Fi连按播放键 5 次用手机的 improv-wifi 配网或在终端执行/bin/wifi_connect $SSID $PASSWORD。蓝牙配对连按播放键 3 次进入约 45 秒的配对模式或执行/bin/bluetooth_pair。米家 APP默认补丁会移除全部小米原生软件改由 SSH / Web / Home Assistant 管理米家 APP 不再适用。语音助手把音箱接进 Home Assistant 后Porcupine 听到唤醒词 → 录音送 HA 的 Whisper 识别 → 文本转意图 → 播报。需要配置/data/listenerHA 地址、Token、STT 提供方、语言、唤醒词与/data/tts.conf。若一直报错先核对系统时间时间不对会导致 TLS 连接失败可执行ntpd -q -p pool.ntp.org同步转录日志在/tmp/stt.log。刷坏了怎么办TTL 串口进入 Uboot 恢复只要步骤没走偏、没把镜像写错分区失败启动都能通过 Uboot 安全回退用 TTL 串口接上板子进 Uboot 菜单把启动分区指回那块完好的 rootfs 即可。前提是前面已确认 Uboot 可进入bootdelay生效。这也是刷机前焊 TTL、先备份、后动手的意义所在。进一步学习仓库文档与补丁入口常见问题Wi-Fi、蓝牙、改蓝牙名、语音助手排错、改 root 密码docs/faq.md语音助手完整配置与排错docs/voice-assistant.mdLX06 分区、红外、按键、Uboot 环境等硬件细节research/lx06/info.md按型号归类的补丁目录patches/编译脚本scripts/Home Assistant 组件custom_components/xiaoai_assist/需要源码时git clone https://gitcode.com/GitHub_Trending/xia/xiaoai-patch。本项目仅供学习研究刷机导致保修失效、分区损坏等风险需自行评估操作前务必备份原分区并确认能进 Uboot。【免费下载链接】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),仅供参考
阅读完成 · 觉得有帮助?
咨询建站