『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: snowwolf725

[智能音箱] 拆解新买的小爱音箱Pro, 更新固化开机启动 SSH 教学

  [复制链接]

3

主题

55

帖子

978

积分

论坛技术达人

积分
978
金钱
918
HASS币
40
 楼主| 发表于 2019-12-9 10:00:50 | 显示全部楼层
本帖最后由 snowwolf725 于 2019-12-9 10:07 编辑
astonish921 发表于 2019-12-8 18:34
我刚ttl上时,提示当前使用是的boot1:
Booting from boot1
/dev/mtdblock5 is  ready now.

首先我看一下系统内的分区,
我们可以发现mtd5(system1)大小为 0x02820000 比 mtd4(system0)大小 0x02800000
多了 0x20000 这部份不知道是故意还是怎样的实际上是无法读取或写入的,
所以我们只需要读取 0x02800000 也就是十进制的 41,943,040‬ 就能完成 system1 的备份,
而不会出现 dd Input/output error 错误的情况,

所以要透过 dd 备份 system1 的指令为

dd if=/dev/mtdblock5 of=m5.img  ibs=1 count=41943040

root@mico:/data/backup# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00200000 00020000 "bootloader"
mtd1: 00800000 00020000 "tpl"
mtd2: 00600000 00020000 "boot0"
mtd3: 00600000 00020000 "boot1"
mtd4: 02800000 00020000 "system0"
mtd5: 02820000 00020000 "system1"
mtd6: 013e0000 00020000 "data"
root@mico:/data/backup# dd if=/dev/mtdblock5 of=m5.img  ibs=1 count=41943040
41943040+0 records in
81920+0 records out
回复

使用道具 举报

22

主题

176

帖子

875

积分

高级会员

Rank: 4

积分
875
金钱
699
HASS币
0
发表于 2019-12-10 11:22:09 | 显示全部楼层
snowwolf725 发表于 2019-12-9 10:00
首先我看一下系统内的分区,
我们可以发现mtd5(system1)大小为 0x02820000 比 mtd4(system0)大小 0x028000 ...

太感谢了,回头我试试看
回复

使用道具 举报

1

主题

30

帖子

2492

积分

金牌会员

Rank: 6Rank: 6

积分
2492
金钱
2462
HASS币
0
发表于 2019-12-12 23:55:59 | 显示全部楼层
本帖最后由 zhangnew 于 2019-12-16 09:30 编辑

我的是 /dev/mtdblock4 用 dd 也有问题,
重启之后用下面的代码就好了
mtd write /data/backup/m4_crack.img system0
/usr/bin/fw_env -s boot_part boot0


另外 /tmp 目录是可以写数据的
回复

使用道具 举报

2

主题

58

帖子

433

积分

论坛分享达人

积分
433
金钱
370
HASS币
20
发表于 2019-12-13 14:24:36 | 显示全部楼层
snowwolf725 发表于 2019-12-3 14:08
开始改造小爱音箱Pro开机自动启动 SSH
TTL登入系统, 然后开启 SSH

图文并茂,
回复

使用道具 举报

1

主题

245

帖子

1095

积分

论坛积极会员

积分
1095
金钱
849
HASS币
10
发表于 2019-12-13 16:50:58 | 显示全部楼层
膜拜大神。
回复

使用道具 举报

22

主题

176

帖子

875

积分

高级会员

Rank: 4

积分
875
金钱
699
HASS币
0
发表于 2019-12-14 10:01:35 | 显示全部楼层
zhangnew 发表于 2019-12-12 23:55
我的是 /dev/mtdblock4 用 dd 也有问题,
重启之后用下面的代码就好了

你是覆盖了system0,最后一个指令为什么不是启动boot0呢,而是boot1。我没搞明白,一直不敢动,担心变砖。盼复。
回复

使用道具 举报

3

主题

55

帖子

978

积分

论坛技术达人

积分
978
金钱
918
HASS币
40
 楼主| 发表于 2019-12-14 13:07:51 来自手机 | 显示全部楼层
zhangnew 发表于 2019-12-12 23:55
我的是 /dev/mtdblock4 用 dd 也有问题,
重启之后用下面的代码就好了


你这边最后应该是
/usr/bin/fw_env -s boot_part boot0
而不是 booy1吧,
你写 boot1 的话 reboot 后他会启动 mtdblock5
而不是你修改的 mtdblock4
回复

使用道具 举报

1

主题

30

帖子

2492

积分

金牌会员

Rank: 6Rank: 6

积分
2492
金钱
2462
HASS币
0
发表于 2019-12-16 09:31:21 | 显示全部楼层
astonish921 发表于 2019-12-14 10:01
你是覆盖了system0,最后一个指令为什么不是启动boot0呢,而是boot1。我没搞明白,一直不敢动,担心变砖 ...

是boot0,我写错了,不过也不会变砖的,因为你没修过boot1的mtdblock5,所以重启到boot1之后再把启动项改成boot0应该也是可以的
回复

使用道具 举报

1

主题

30

帖子

2492

积分

金牌会员

Rank: 6Rank: 6

积分
2492
金钱
2462
HASS币
0
发表于 2019-12-16 13:34:36 | 显示全部楼层
snowwolf725 发表于 2019-12-14 13:07
你这边最后应该是
/usr/bin/fw_env -s boot_part boot0
而不是 booy1吧,

是我写错了
回复

使用道具 举报

0

主题

14

帖子

48

积分

新手上路

Rank: 1

积分
48
金钱
34
HASS币
0
发表于 2019-12-18 10:30:08 | 显示全部楼层
感谢分享。已收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-16 19:33 , Processed in 0.851682 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表