转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]
如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~
背景说明
-
• 电脑:Windows
-
• 音箱:Xiaomi 智能音箱 Pro
固件打补丁
1. 下载仓库:
# 克隆代码
git clone https://github.com/stevenjoezhang/xiaoai-agent.git
# 进入当前项目根目录
cd xiaoai-agent
cd deploy/client-patch
2. 编辑文件:
vim .env
3. 填入内容:
# 你的小米账号/密码
MI_USER=xxx
MI_PASS=xxxx
MI_TOKEN=xxxxx
# 你的 Xiaomi 智能音箱 Pro 名称/DID
MI_DID=Xiaomi 智能音箱 Pro
# 你的 SSH 登录密码(默认为 open-xiaoai)
SSH_PASSWORD=open-xiaoai
4. 然后执行:
# 安装依赖
npm install
# 打包固件
npm run build
-
• 打包成功后,原始固件和补丁固件会保存在 assets 目录下。
-
• 默认修改后的补丁固件,会将 /data/init.sh 文件作为启动脚本,开机时自动运行。如果你需要自定义开机启动脚本,可自行创建和修改该文件。
如果没有安装npm,使用 Docker 打包固件也可以:
# 构建当前仓库的打包镜像
docker build –platform linux/amd64 -t xiaoai-agent-client-patch .
# 使用当前仓库镜像进行构建
docker run -it –rm \\
–platform linux/amd64 \\
–env-file $(pwd)/.env \\
-v $(pwd)/assets:/app/assets \\
-v $(pwd)/patches:/app/patches \\
xiaoai-agent-client-patch
# ✅ 打包完成,固件文件已复制到 assets 目录…
# /app/assets/mico_all_92db90ed6_1.88.197/root-patched.squashfs
刷写固件(也是开启SSH)
1. 下载刷机工具:https://androidmtk.com/download-amlogic-flash-tool
或者直接:https://androiddatahost.com/6htbr
2. 运行 AMLLogic driver installer.exe 文件,按照提示安装 USB 驱动。

3. 进到bin目录下,打开powershell,输入以下命令测试,如果没报错就说明可用:

4. 然后,在打开的终端里依次执行以下命令:
第 1 步:小爱音箱连接电脑,然后拔掉小爱音箱的电源线,重新插上电源后,立即在终端执行以下命令
一定要快!刚上电就反复输入命令,不然只会显示 can not find device
./update.exe identify
# 如果显示类似下面的内容,说明小爱音箱已经成功连接到了电脑,可以继续进行下一步
# This firmware version is 0-7-0-16-0-0-0-0
# 否则继续快速重试几次该命令,或者重新拔掉电源上电后重试,直至显示出来版本号。

第 2 步:设置启动分区和等待时长
# 设置 uboot 启动等待 15s
./update.exe bulkcmd "setenv bootdelay 15"
# 设置 boot0 作为启动分区
./update.exe bulkcmd "setenv boot_part boot0"
# 保存环境变量,使生效
./update.exe bulkcmd "saveenv"

第 3 步:刷入 system0
./update.exe partition system0 root-patched.squashfs
# 注意:需要把 root-patched.squashfs 替换成你重新打包得到的补丁固件实际路径

PS: 如果提示刷写错误,可以多试几次,不一定是真的无法刷机
第 6 步:重启设备
提示刷机成功之后,拔掉数据线和电源,重新插电重启小爱音箱即可。 如果重启之后小爱音箱没有反应,可以拔掉电源等几分钟再重新上电开机。 如果还是没反应,可以重新刷机试试看,或者将启动分区设置成 boot1 恢复原系统启动。
SSH 连接
刷机成功后,补丁固件默认开启 SSH 功能,默认密码是 open-xiaoai:
ssh -o HostKeyAlgorithms=+ssh-rsa root@你的小爱音箱局域网IP地址
# 比如:ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.227

恢复系统
小爱音箱有 2 套系统,上面我们只是将 system0 刷成了打补丁后的系统。
如果之后你想要更新系统,或者换回原来的系统,将启动分支设置成 boot1 重启即可。
# 连接到 SSH 后执行
fw_env -s boot_part boot1
# 或者使用和上面刷机相同的方式
./update.exe bulkcmd "setenv boot_part boot1"
./update.exe bulkcmd "saveenv"
其他事项
1. 不要使用老的1.58.2的固件,学长试了,会导致小爱无法联网。一定要用制作固件的方法,这样才是最新的版本。





